В этой заметке опишу как поставить торрент-клиент на FreeBSD с подключением к нему по http при помощи rtGui.
Исходные данные:
- платформа i386 (P3-800МГц, i815, DDR-512Мгб)
- FreeBSD 8.2, с предустановленным Apache22, PHP5.2
Итак приступим..
Устанавливаем и настраиваем нужные расширения:
# cd /usr/ports/lang/php5-extensions make config install clean
Отмечаем:
[X] CURL CURL support
[X] MBSTRING multibyte string support
[X] XMLRPC XMLRPC-EPI support
Далее устанавливаем mod_scgi, это для связки rTorrent и rtGui:
# cd /usr/ports/www/mod_scgi
# make install clean
Корректируем конфиг Apache:
# ee /usr/local/etc/apache22/httpd.conf
Находим блок где подгружаются модули и добавляем строки:
LoadModule scgi_module libexec/apache22/mod_scgi.so
SCGIMount "/RPC2" 127.0.0.1:5000
Перезапускаем Apache:
# apachectl restart
После этих подготовительных действий приступаем непосредственно к установке rTorrent и rtGui:
# cd /usr/ports/net-p2p/rtorrent
# make install clean
После установки копируем файл настройки rTorrent в домашнюю директорию (незабываем подставить точку в начало файла):
# cp /usr/local/share/examples/rtorrent/rtorrent.rc ~/.rtorrent.rc
Далее правим файл конфигурации rTorrent (добавляем/изменяем строки приведённые ниже):
# ee ~/.rtorrent.rc
min_peers = 1
max_peers = 100
min_peers_seed = 1
max_peers_seed = 50
download_rate = 1024
upload_rate = 1024
execute_log = /usr/home/user/rtorrent.log
session = /usr/home/user/session
directory = /usr/home/user/download
schedule = watch_directory,5,5,load_start=/usr/home/user/watch/*.torrent
schedule = untied_directory,5,5,stop_untied=
schedule = low_diskspace,5,60,close_low_diskspace=1000M
port_range = 6890-6999
port_random = no
use_udp_trackers = no
dht = auto
dht_port = 6881
encryption = allow_incoming,enable_retry,prefer_plaintext
peer_exchange = yes
scgi_port = localhost:5000safe_sync = yesencoding_list = UTF-8
Сразу же создаём все необходимые папки и делаем разрешение пользователю под которым работает Apache:
# mkdir -p /usr/home/user/download
# mkdir -p /usr/home/user/session
# mkdir -p /usr/home/user/watch/
# chown www:www /usr/home/user/download
# chown www:www /usr/home/user/session
# chown www:www /usr/home/user/watch/
Установка rtGui:
# cd /usr/ports/net-p2p/rtGui
# make config install clean
В меню установки отмечаем опцию web-сервера Apache.
… … …
Приступаем к настройке rtGui:
# cd /usr/local/www/apache22/rtgui
# cp config.php.example config.php
# ee /usr/local/www/apache22/rtgui/config.php
Необходимо изменить только переменные указывающие путь к папкам rTorrent:
// Connect string for your local RPC/rTorrent connection:
$rpc_connect=//localhost/RPC2;
// rtorrent 'watch' directory (used for upload torrent)
$watchdir="/usr/home/user/watch/";
// Path to report disk usage
$downloaddir="/usr/home/user/ download ";
В файле конфигурации Apache добавим alias для rtGui:
# ee /usr/local/etc/apache/httpd.conf
Alias /rtgui "/usr/local/www/rtgui/"
Options none AllowOverride Limit
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 192.168.1.1 .example.com
В последней строчке пишем перечисление ip-адресов и/или имён для доступа к нашей web-морде. Если ограничение доступа не требуется, то комментируем последние три строки. Настройка trGui завершена.
Полезные ссылки: