Цель: поднять консольный легковесный торрент клиент
Инсрументы: FreeBSD 8.1, rtorrent, rutorrent
Решение:
1 Установка
Инсрументы: FreeBSD 8.1, rtorrent, rutorrent
Решение:
1 Установка
#cd /usr/ports/net-p2p/rtorrent
#make install clean
Необходим screen#make install clean
#cd /usr/ports/sysutils/screen
#make install clean
Добавление пользователя#pw useradd rtorrent -s /sbin/nologin
Создание необходимых папок: #mkdir -p /home/torrent/downloads
#mkdir -p /home/torrent/sessions
Указание прав доступа:#chown -R rtorrent:rtorrent /home/torrent/
Скрипт запуска найденный в сети: #ee /usr/local/etc/rc.d/rtorrent.sh
#!/bin/shСделать скрипт исполняемым:
#
#
# PROVIDE: rtorrent
# REQUIRE: LOGIN
# KEYWORD: shutdown
. /etc/rc.subr
name="rtorrent"
rcvar=`set_rcvar`
load_rc_config $name
: ${rtorrent_enable="NO"}
: ${rtorrent_downloads="/home/torrent/downloads"}
: ${rtorrent_sessions="/home/torrent/sessions"}
: ${rtorrent_scgi_port=""}
: ${rtorrent_encoding_list="UTF-8;cp1251;koi8-r"}
: ${rtorrent_args=""}
: ${rtorrent_user="rtorrent"}
: ${rtorrent_autoload_dir=""}
command="/usr/local/bin/rtorrent"
screen="/usr/local/bin/screen"
rtorrent_args="-d ${rtorrent_downloads} -s ${rtorrent_sessions} ${rtorrent_args}"
[ -n "${rtorrent_autoload_dir}" ] && rtorrent_args="-O schedule='watch_directory,5,5,load_start=${rtorrent_autoload_dir}' ${rtorrent_args}"
[ -n "${rtorrent_scgi_port}" ] && rtorrent_args="-O scgi_port='${rtorrent_scgi_port}' ${rtorrent_args}"
[ -n "${rtorrent_encoding_list}" ] && rtorrent_args="-O encoding_list='${rtorrent_encoding_list}' ${rtorrent_args}"
start_cmd="echo Starting ${name}.; su -m ${rtorrent_user} -c \"${screen} -A -m -d -S rtorrent ${command} ${rtorrent_args}\""
run_rc_command "$1"
#chmod +x /usr/local/etc/rc.d/rtorrent.sh
Добавить в автозапуск: #ee /etc/rc.conf
rtorrent_enable="YES"Первый старт и проверка:
rtorrent_scgi_port="127.0.0.1:5000"
#/usr/local/etc/rc.d/rtorrent.sh start
#sockstat | grep rtorrent
#sockstat | grep rtorrent
rtorrent rtorrent 82439 4 tcp4 127.0.0.1:5000 *:*Установка mod_cgi:
rtorrent rtorrent 82439 5 tcp4 *:6997 *:*
#cd /usr/ports/www/mod_scgi
#make install clean
Проверка подключен ли модуль в конфиге Apache22:#ee /usr/local/etc/apache22/httpd.conf
LoadModule scgi_module libexec/apache22/mod_scgi.so
#ee /usr/local/etc/apache22/Includes/scgi.conf
<IfModule mod_scgi.c>2 Установка вебинтерфейса rutorrent:
SCGIMount /RPC2 127.0.0.1:5000
<Location /RPC2>
Allow from all
## Enable only authorized users
AuthName "Enter password for torrent"
AuthType Basic
AuthUserFile /usr/local/www/rtorrent/.htpasswd
require valid-user
</Location>
</IfModule>
#cd /usr/local/www/
#fetch http://rutorrent.googlecode.com/files/rutorrent-3.2.tar.gz
#tar xf rutorrent-3.2.tar.gz
#rm rutorrent-3.2.tar.gz
#mv rutorrent/ docs
#mkdir rtorrent
#mv docs/ rtorrent/
Определение прав доступа: #chown -R www:www rtorrent/
Добавление настройки в Apache22 для rutorrent: #ee /usr/local/etc/apache22/Includes/rtorrent.conf
Alias /rtorrent/ /usr/local/www/rtorrent/docs/Проверка изменений в конфиге Apache22:
<Directory "/usr/local/www/rtorrent/docs/">
Allow from all
AuthName "Enter password for torrent"
AuthType Basic
AuthUserFile /usr/local/www/rtorrent/.htpasswd
require valid-user
</Directory>
#apachectl configtest
Syntax OKУстановка пароля для доступа к вебинтерфейсу:
#htpasswd -c /usr/local/www/rtorrent/.htpasswd torrent
New password:Применение изменений в конфиге Apache22:
Re-type new password:
Adding password for user torrent
#apachectl graceful
Теперь по адресу http://server_ip/rtorrent/ доступно управление торрент клиентом rtorrent.Распространенная ошибка в логе вебинтерфейса:Bad response from server: (200 [parsererror,getuisettings]) <?php require_once( util.php ); $fname = getSettingsPath()./uisettings.json; $s = @file_get_contents($fname); if($s==false) $s = {}; cachedEcho($s,application/json,true); ?>решение:
ee /usr/local/etc/apache22/httpd.conf
AddType application/x-httpd-php .php .phtml .php3Добавление плагинов для rutorrent:
cd /usr/local/www/rtorrent/docs/plugins
fetch http://rutorrent.googlecode.com/files/erasedata-3.2.tar.gz
fetch http://rutorrent.googlecode.com/files/trafic-3.2.tar.gz
fetch http://rutorrent.googlecode.com/files/scheduler-3.2.tar.gz
fetch http://rutorrent.googlecode.com/files/diskspace-3.2.tar.gz
fetch http://rutorrent.googlecode.com/files/cpuload-3.2.tar.gz
tar xf cpuload-3.2.tar.gz
tar xf erasedata-3.2.tar.gz
tar xf trafic-3.2.tar.gz
tar xf diskspace-3.2.tar.gz
tar xf scheduler-3.2.tar.gz
rm cpuload-3.2.tar.gz
rm erasedata-3.2.tar.gz
rm trafic-3.2.tar.gz
rm diskspace-3.2.tar.gz
rm scheduler-3.2.tar.gz
Для того чтобы в rutorrent верно отображалось свободное место на диске куда rtorrent скачивает данные необходимо изменить переменную:ee /usr/local/www/rtorrent/docs/conf/config.php
ctrl+y
$topDirectory
$topDirectory = '/home/torrent/';
И перезапустить торрент:/usr/local/etc/rc.d/rtorrent.sh restart
на мой взгляд трансмиссия проще, да и кроме стандартной веб-морды есть гуи рулилка (если нужны всякие плюшки)
ОтветитьУдалитьwhereis transmission
transmission: /usr/ports/net-p2p/transmission
whereis transmission-remote-gui
transmission-remote-gui: /usr/ports/net-p2p/transmission-remote-gui
про трансмиссию согласен, но изначально преследовалась цель наиболее быстрого клиента. rtorrent свободно держал 200+ торрентов активными и не нагружал систему, весь необходимый функционал подгружался из плагинов. На тот момент трансмиссия висла при такой нагрузке. Про GUI к ней не знал если честно. Сейчас ознакомлюсь. Спасибо.
ОтветитьУдалитьЮзал трансмиссию до рторрента. И гуй к ней виндовый. Он рядом с рторрентом не стоял. Рторрент юзаю уже более 3 лет.
ОтветитьУдалитьПогонял я трансмиссию...сам остался на rtorrent'е, жена рулит трансмиссией из винды. Все довольны)
ОтветитьУдалитьСкрипт запуска через screen это хорошо, но выносить туда часть настроек глупо, ибо rtorrent не читает конфиг файл, соответственно веб интерфейсу некуда сохранять эти настройки
ОтветитьУдалитьТак что как man для установки - респект автору
Для настройки не годится абсолютно
Благодарю. Цель преследовалась одна - поднять клиент и чтобы не ругался в логах. Остальное допиливание - дело желания и вкуса... скрипт вообще честно найден в сети... не редактировал. Целевая аудитория у этого man'a - win админы, которые увидели FreeBSD пусть не первый раз, но явно не в продакшн...
Удалить