Сначала несколько важных замечаний, актуальны они на момент публикации
- Обновлено 16.02.2012 — но процесс установки не проверен пошагово, что-то может пойти не так.
- GIT версия rotrrent у меня так и не заработала корректно, посему запись надо корректировать.
- Последние версии ruTorrent хранят настроки в пользовательских директориях, таким образом если какое-то время вы проработали без настроенной авторизации, то вам будет необходимо скопировать настройки в пользовательскую директорию, иначе сбросятся счетчики трафика, расписание и некоторые другие настройки. Глобальные настроки и торренты хранятся в /var/www/rutorrent/share а пользовательские в /var/www/rutorrent/share/users/username — где username имя заданное для basic авторизации
Итак теперь к делу.
Сразу оговорю, все комманды воплняются с правами суперпользователя, права будут расставлены в конце.
Для начала нам нужно установить apache + php для этого есть 2 пути.
1) Использовать комманду tasksel — позволит установить LAMP максимально просто — но нам не нужен MySQL сервер, так что установка будет несколько избыточной.
tasksel
выбрать «LAMP server» и нажать <ok>
2) Установить нужные пакеты с помощью apt-get, этот вариант позволит установить только необходимое.
# для начала на всякий случай обновим репозиторий apt-get update apt-get install apache2 php5 php5-cgi php5-cli libapache2-mod-php5 php5-common
Далее необходимо установить дополнительные библиотеки которые потребуются для работы ruTorrent
apt-get install php5-xmlrpc php5-curl libapache2-mod-scgi curl libcurl3-openssl-dev
следом подключаем только что установленный SCGI модуль
a2enmod scgi
произведем некоторые настройки которые понядобятся нам в будущем, отредактируем файл /etc/apache2/sites-available/default, после
<Directory /var/www> ... </Directory>
добавьте
<Directory /var/www/rutorrent> AllowOverride AuthConfig Order allow,deny allow from all </Directory>
перед
</VirtualHost>
добавьте
SCGIMount /RPC2 127.0.0.1:5000
перезапустим apache
apache2ctl restart
Пакеты необходимые для сборки из исходников и для получения исходников через svn
apt-get install checkinstall subversion git-core build-essential make autoconf autotools-dev automake libcurl4-openssl-dev libtool libsigc++-2.0-dev pkg-config libncurses5-dev libcppunit-dev
создадим папку для хранения исходников полученных через svn
# предварительно перейдем в домашний каталог cd # создадим рабочую директорию mkdir buildrt cd buildrt
скачиваем исходники XML-RPC for C/C++ собираем и устанавливаем
svn co https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced xmlrpc-c cd xmlrpc-c ./configure --prefix=/usr make # узнаем версию xmlrpc-c это понадобиться нам позже при выполнении checkinstall grep XMLRPC_C_VERSION version.h | awk '{print $3}' | tr -d \"
Запускаем checkinstall для получения deb пакета и его установки. В процессе необходимо будет указать некоторые параметры для создаваемого пакета.
checkinstall -D #в процессе получаем примерно такой вывод This package will be built according to these values: 0 - Maintainer: [ hatifnatt@fatman-application ] 1 - Summary: [ xmlrpc ] 2 - Name: [ xmlrpc ] 3 - Version: [ c ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ amd64 ] 8 - Source location: [ xmlrpc-c ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ xmlrpc ] Enter a number to change any of them or press ENTER to continue:
Процесс прост, выбираем что редактировать, вводин соответствующую цифру жмем [Enter] вводим желаемое значение снова жмем [Enter].
[1] исправляем Summary на xmlrpc-c
[2] исправляем Name на xmlrpc-c
[3] исправляем Version на первые два числа из полученные выше версии, в моем случае вывод был 1.29.1 соответственно ввожу 1.29
[4] исправляем Release на последнее число из полученной выше версии, в моем случае вывод был 1.29.1 соответственно ввожу 1
[11] исправляем Provides на xmlrpc-c
# в завершение возвращаемся в папку buildrt cd ..
Скачиваем исходники libtorrent и rTorrent, теперь с git т.к. svn поломался и починен не будет (пруф) затем собираем, во время работы checkinstall будет выдано предупреждение
Please write a description for the package. End your description with an empty line or EOF. >>
Вводим libtorrent
жмем [Enter] два раза.
Далее получаем:
***************************************** **** Debian package creation selected *** ***************************************** *** Warning: The package version "0.13.0 0.13.0 ... 0.13.0 0.13.0" is not a *** Warning: debian policy compliant one. Please specify an alternate one
просто укажите (впечатайте) версию 0.13.0 для libtorrent и 0.8.6 для rtorrent
Собственно нижеприведенными командами скачиваем и устанавливаем.
#разработка проекта ведется теперь под git, получим исходные коды git clone https://github.com/rakshasa/rtorrent rtorrent git clone https://github.com/rakshasa/libtorrent libtorrent #соберем, установим libtorrent cd libtorrent ./autogen.sh ./configure --prefix=/usr make checkinstall -D #соберем, установим rtorrent cd ../rtorrent ./autogen.sh ./configure --with-xmlrpc-c --prefix=/usr make checkinstall -D
Далее установим rutorrent, подробно про это написано тут
cd /var/www/ svn co http://rutorrent.googlecode.com/svn/trunk/rutorrent
и некоторые плагины
diskspace — отображает занятое место на носителе куда скачиваются торренты
erasedata — позволяет удалить скачанные файлы вместе с самим торрент файлом
scheduler — позволяет настроить расписание
traffic — ведет статистику принятого и отданного трафика
список всех плагинов расположен здесь
cd /var/www/rutorrent/plugins svn co http://rutorrent.googlecode.com/svn/trunk/plugins/diskspace svn co http://rutorrent.googlecode.com/svn/trunk/plugins/erasedata svn co http://rutorrent.googlecode.com/svn/trunk/plugins/scheduler svn co http://rutorrent.googlecode.com/svn/trunk/plugins/trafic
Сразу же рекомендую настрить basic авторизацию, для этого создадим файл .htaccess в директории /var/www/rutorrent
AuthName "Need auth" AuthType Basic AuthUserFile /var/www/rutorrent/.htpasswd require valid-user
и сгенерируем файл с авторизационными данными .htpasswd
htpasswd -mc .htpasswd username
Перейдем собственно к настройке rTorrent.
Настроки хранятся в домашней директории в файле .rtorrent.rc
# переключаемся на необходимого пользователя su user cd wget -O .rtorrent.rc http://hatifnatt.ru/rtorrent/rtorrent.rc exit
не забудьте изменить «user» — на своего пользователя, листинг .rtorrent.rc ниже
# Скорость в KiB scgi_port = 127.0.0.1:5000 encoding_list=UTF-8 min_peers = 40 max_peers = 80 min_peers_seed = 10 max_peers_seed = 60 max_uploads = 10 download_rate=600 upload_rate=30 directory = /mnt/fat/torrent/ session =/home/download/rtorrent/session schedule = watch_directory,5,5,load_start=/home/download/rtorrent/watch/*.torrent # For trafic plugin schedule = trafic,10,00:15:00,"execute={sh,-c,php /var/www/rutorrent/plugins/trafic/update.php& exit 0}" # For scheduler plugin schedule = scheduler,10,00:15:00,"execute={sh,-c,php /var/www/rutorrent/plugins/scheduler/update.php& exit 0}" #номер порта (или нескольких портов) который открывает клиент для обмена данными port_range = 50000 - 50050 port_random = no check_hash = yes session_save = yes encryption = allow_incoming,enable_retry,prefer_plaintext use_udp_trackers = yes
В последних версиях ruTorrent реализован единый запуск всех плагинов так что теперь вместо строк:
# For trafic plugin schedule = trafic,10,00:15:00,"execute={sh,-c,php /var/www/rutorrent/plugins/trafic/update.php& exit 0}" # For scheduler plugin schedule = scheduler,10,00:15:00,"execute={sh,-c,php /var/www/rutorrent/plugins/scheduler/update.php& exit 0}"
Нужно использовать
execute = {sh,-c,/usr/bin/php /var/www/rutorrent/php/initplugins.php user &}
не забудьте исправить user на вашего пользователя. Эта строка позволит плагинам стартовать одновременно с запуском rTorrent, так же плагины запускаются когда вы заходите в Web-интерфейс.
Запуск rtorrent как демона
wget http://libtorrent.rakshasa.no/attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh?format=raw -O /etc/init.d/rtorrent
изменим переменню user в скрипте, она отвечат за то, от имени какого пользователя будет стартовать rtorrent, проще всего запускать rtorrent от того пользователя под которым вы заходите в систему
nano /etc/init.d/rtorrent
меняем права и настраиваем автозапуск
chmod +x /etc/init.d/rtorrent update-rc.d rtorrent defaults /etc/init.d/rtorrent start
меняем так же права на папку с rutorrent
chown -R www-data:www-data /var/www/rutorrent
стоит так же проверять права доступа после обновлений rutorrent и плагинов через SVN
Теперь можно зайти по адресу http://ваш_сервер/rutorrent/ и начать что-нибудь загружать :)
Вместо сборки из исходников можете попробовать установить собранные мной пакеты:
rtorrent_0.8.6-1_amd64.deb
libtorrent_0.12.6-1_amd64.deb
xmlrpc-c_1.22-0_amd64.deb
Ссылки по теме (собственно на основе них и была написан данный опус :) )
ruTorrent – Gui для rTorrent, замена uTorrent
Собираем rTorrent из исходников
Настройка rtorrent + web-ui (rutorrent / wtorrent)
How To Install rTorrent & ruTorrent (using Socket + SSL + Authentication) on Ubuntu or Debian
SeedBox с rTorrent / ruTorrent на базе Apache под FreeBSD
Rtorrent + Rutorrent, установка и настройка (manual) :)
Вопрос о связке: rtorrent+rutorrent
PS Данная запись достаточно долго пролежала в черновиках, кое что самую малость устарело, но в целом информация достаточно актуальная, так же надеюсь что ничего не упустил.
Спасибо за инфу. Но почему то не работает trafic плагин...=(
schedule = trafic,10,00:15:00,"execute={sh, -c,php /var/www/rutorrent/trafic/update.php& exit 0}"
Изменил на schedule = trafic,10,00:15:00,"execute={sh, -c,php /var/www/rutorrent/PLUGINS/trafic/update.php& exit 0}"
Но не помогло...=(
В последних версиях ruTorrent реализован единый запуск всех плагинов так что теперь вместо строк:
# For trafic plugin schedule = trafic,10,00:15:00,"execute={sh,-c,php /var/www/rutorrent/plugins/trafic/update.php& exit 0}" # For scheduler plugin schedule = scheduler,10,00:15:00,"execute={sh,-c,php /var/www/rutorrent/plugins/scheduler/update.php& exit 0}"
Нужно использовать
execute = {sh,-c,/usr/bin/php /var/www/rutorrent/php/initplugins.php user &}
не забудьте исправить user на вашего пользователя. Эта строка позволит плагинам стартовать одновременно с запуском rTorrent, так же плагины запускаются когда вы заходите в Web-интерфейс.Надеюсь это поможет!
Спасибо за оперативный ответ, но нашёл раньше.
На самом деле,строчку я эту тоже вставил. но без имени пользователя выписка из документации по плагинам (Замечание: в Вашей конфигурации путь к интерпретатору php, путь к ruTorrent и имя пользователя (tom) скорее всего, отличаются. Не забудьте отредактировать их должным образом. В случае однопользовательской конфигурации имя пользователя должно отсутствовать.)
Помогло chmod -R 777 /var/www/rutorrent.
Моя строчка в файле конфигураций рторрента:
execute = {sh, -c,/usr/bin/php5 /var/www/rutorrent/php/initplugins.php &}
Теперь вопрос в другом, если вес файла привышает 2Gb или объём исходящего (входящего) трафика тоже значение становится отрицательным и в Kb :)
chmod -R 777 /var/www/rutorrent
не лучший вариант по идеологическим соображениям так сказать,
лучше использовать комбинацию вроде
chown -R www-data:www-data /var/www/rutorrent chmod -R 755 /var/www/rutorrent
PS Да, у меня кстати объем файла и объемы трафика никак не влияют на отображение.
i9.fastpic.ru/big/2010/09...ed6f09843cf0.png
У меня вот так :-P
У меня так вот hatifnatt.ru/blog/wp-cont...09/rutorrent.png
Проблема кстати лечится
code.google.com/p/rutorrent/wiki/Main?wl=ru
Если вместо чисел больших 2 гигабайт ruTorrent показывает отрицательные числа, следует рекомпилировать rTorrent с более свежей версией xmlrpc-c. Минимально необходимая версия данной библиотеки — 1.11.
Подскажите как решить такую проблему (rTorrent+ruTorent): если торрент сделан из папки, а не из файла то невозможно поменять конечную папку для записи файлов. Допустим торрент файл сделан на папку «бук». Я добавляю его в руторрент и выбираю папку для сохранения «книги», в тако случае я получу папку «бук» в папке «книги». Уже перелопатил все плагины, поставил _getdir, пробовал перемещать уже скачанные торренты итог один. Подскажите как быть? с юторрентом таких проблем нету...
@Deft
Хм, я всегда свливаю все новые торренты в директорию по умолчанию, поэтому не могу сейчас ничего сказать по поводу данной проблемы.
При случае попробую и посмотрю каков результат у меня будет.