Gentoo: rTorrent + ruTorrent

Давайте разберём каким образом быстро и просто настроить связку из торрент-клиента rTorrent и web-интерфейса к нему ruTorrent

Для начала нам нужно установить связку Apache+PHP
korp # emerge apache php

Добавляем Apache в автозагрузку
korp # rc-update add apache2 default

Устанавливаем rTorrent, для его правильной работы, необходимо 2 ключа: daemon и xmlrpc
korp # nano /etc/portage/package.use

net-p2p/rtorrent daemon xmlrpc

korp # emerge rtorrent

Устанавливаем mod_scgi, который понадобится для того что бы web-интерфейс мог получить доступ к rTorrent`у
korp # emerge mod_scgi

Для того что бы rTorrent корректно работал с тем конфигурационным файлом, который мы ему подсунем, нам нужно в стартовом скрипте указать от какого пользователя rTorrent у нас будет запускаться и работать:
korp # nano /etc/conf.d/rtorrent

# screen and rtorrent autoload configuration
# Owner of screen session and rtorrent process
USER="korp"
# Home dir with .rtorrent.rc
HOME_DIR="/home/korp"

Добавляем rTorrent в автозагрузку
korp # rc-update add rtorrentd default

Создаём конфигурационный файл rTorrent
korp # nano /home/korp/.rtorrent.rc

Образец конфигурационного файла

#минимальное число пиров на торрент
min_peers = 1

#максимальное число пиров на торрент
max_peers = 1000

#максимальная скорость загрузки
download_rate = 0

#максимальная скорость отдачи. 0 - не ограничена
upload_rate = 0

#каталог для сохранения закачек или откуда буду сидироваться торренты.
directory = /mnt/torrent/download

#каталог куда будет сохраняться состояние торрентов
session = /mnt/torrent/_incoming

#rtorrent каждые 5 секунд проверяет этот каталог на новые *.torrent файлы и если они есть то ставит их на закачку
schedule = watch_directory,5,5,load_start=/mnt/torrent/torrent_auto_load/*.torrent

#лог файл
execute_log = /home/share/rtorrent.log

#номер порта (или нескольких портов) который открывает клиент для обмена данными
port_range = 40890-40890

#случайный выбор порта для обмена данными. В данном случае он отключён
port_random = no

#проверять хэш торрента после закачки
check_hash = yes

#использовать udp
use_udp_trackers = yes

#сохранять сессию
session_save = yes

scgi_port = localhost:5000

Устанавливаем права на конфигурационный файл
korp # chown korp:korp .rtorrent.rc

Конфигурируем mod_scgi
korp # nano /etc/apache2/modules.d/20_mod_scgi.conf

<IfDefine SCGI>
LoadModule scgi_module modules/mod_scgi.so
SCGIMount /RPC2 127.0.0.1:5000
<Location /RPC2>
AuthName "Private Remote Procedure Call"
AuthType Basic
AuthBasicProvider file
AuthUserFile /home/korp/htpasswd
Require user remotecall
</Location>
</IfDefine>

Создаём пароль для доступа
korp # htpasswd -c /home/korp/htpasswd remotecall

Теперь переходим к установке web-интерфайса. Для начала мы должны его скачать
korp # cd /var/www/htdocs/
korp # mkdir rutorrent
korp # cd rutorrent
korp # wget http://rutorrent.googlecode.com/files/rutorrent-3.2.tar.gz
korp # tar xzf rutorrent-3.2.tar.gz

К сожалению ruTorrent не имеет никаких механизмов защиты, по этому используем для этого возможности web-сервера Apache и воспользуемся .htaccess
korp # nano /var/www/tool/htdocs/rutorrent/.htaccess

AuthName "ruTorrent Restricted Area"
AuthType Basic
AuthUserFile /home/korp/htpasswd
Require valid-user

Запускаем rTorrentd
korp # /etc/init.d/rtorrentd start

Наслаждаемся работой
http://server/rutorrent

upd: По прошествии времени я лично отказался от использования rTorrent`а и перешёл полностью на Deluge. Ставится он элементарно:
Для начала нам нужно сказать системе что нам требуется так же установить WebUI (веб-интерфейс, если по простому)
korp # nano /etc/portage/package.use

net-p2p/deluge webinterface

korp # emerge deluge

Ну а дальше остаётся его лишь запустить:
korp # /etc/init.d/deluge start
Клиент полностью настраивается через раздел Настройки в веб-интерфейсе. Единственный минус - через веб-интерфейс невозможно создать торрент-файл, только при использовании GTK+ UI.

Добавить комментарий