Есть у меня медленый (но безлимитный) интернет канал, который просто-напросто простаивает. Решил задействовать его для torrent‘а. Управлять будем через web-интерфейс.
Установка веб-сервера Apache22
1 2 | # cd /usr/ports/www/apache22 # make install clean |
Кстати если php уже установлен, то правим конфиг апача /usr/local/etc/apache22/httpd.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | ... LoadModule php5_module libexec/apache22/libphp5.so ... <IfModule mime_module> ... AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps </IfModule> ... <IfModule dir_module> DirectoryIndex index.html index.php </IfModule> ... |
коментируем строку
1 2 3 4 5 | <Directory /> AllowOverride None Order deny,allow #Deny from all </Directory> |
Установка SCGI
Устанавливаем, если еще не установлен порт scgi
1 2 | # cd /usr/ports/www/mod_scgi # make install clean |
Подключение модуля scgi в конфиге HTTP-сервера выглядит так:
1 | LoadModule scgi_module libexec/apache22/mod_scgi.so |
(scgi не дружит с модулем fast-cgi, закоментируйте подключение такого, если он присутствует)
Также добавляем в httpd.conf
1 2 3 4 5 6 7 8 | SCGIMount /RPC2 127.0.0.1:5000 <Location /RPC2> AuthName "Private" AuthType Basic AuthBasicProvider file AuthUserFile /usr/local/www/htpasswd Require user myrpcuser </Location> |
Создаем файл с логином и паролем для авторизации на веб-интерфейсе управления нашим торентом
1 | htpasswd -c /usr/local/www/htpasswd username |
Установка rtorrent
1 2 | # cd /usr/ports/net-p2p/rtorrent # make install clean |
Должна быть установлена следующая галка
1 | [X] XMLRPC Compile with xmlrpc-c support |
Торрент клиент будет работь от пользователя rtorrent(adduser)
Если не установлено, то ставим sudo
1 2 | # cd /usr/ports/security/sudo # make install clean |
Файл запуска /usr/local/etc/rc.d/rtorrent
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #!/bin/sh # PROVIDE: rtorrent # REQUIRE: LOGIN # KEYWORD: shutdown . /etc/rc.subr name="rtorrent" rcvar=`set_rcvar` load_rc_config $name : ${rtorrent_enable="NO"} : ${rtorrent_args=""} : ${rtorrent_user=""} command="/usr/local/bin/rtorrent" screen="/usr/local/bin/screen" start_cmd="echo "Starting ${name}."; sudo -u ${rtorrent_user} ${screen} -A -m -d -S rtorrent ${command} ${rtorrent_args} -o scgi_port=127.0.0.1:5005" run_rc_command "$1" |
Добаляем в /etc/rc.conf для автозапуска
1 2 3 | rtorrent_enable="YES" rtorrent_args="-n -d /var/data2/ftp/torrent -s /var/data2/ftp/torrent/session" rtorrent_user="rtorrent" |
Запускаем наш торрент клиент
1 | /usr/local/etc/rc.d/rtorrent start |
Веб-интерфейс
Качаем с vif2ne.ru(mirror) в /usr/local/www/rtorrent/ вебморду от utorrent. В нашем случаи, по умолчанию, конфиг править не нужно.
Добавляем в конфиг апача алиас веб-интерфейса
1 | Alias /rtorrent /usr/local/www/rtorrent |
Создаем файл авторизации в веб морде:
1 2 | echo user_name:XML-RPC:`echo -n user_name:XML-RPC:my_pass | md5 | cut -b -32` >> /usr/local/www/rtorrent/rtorrent_users |
Где user_name – имя пользователя,my_pass – пароль.
Выставляем права на вебморду
1 | chmod -R 755 /usr/local/www/rtorrent |
Источники
www.permlug.org
www.lissyara.su
ru.wikibooks.org
Нравится эта статья? Подпишитесь на RSS-ленту и получите еще больше классной информации!
Один отзыв
Serge 31 августа 2009 в 21:16
В файле запуска /usr/local/etc/rc.d/rtorrent написано -o scgi_port=127.0.0.1:5005″ а до этого в хттпд.конф SCGIMount /RPC2 127.0.0.1:5000. я так понимаю надо их на одинаковый порт вешать (5000), а то ведь не договорятся.)