пятница, 9 апреля 2010 г.

debian squeeze+apache+rtorrent+rutorrent

Уф, давно ничего не писал
Решил давеча прикрутить на свой деб-роутер torrent клиент с веб-интерфейсом.
Всякие вкусности, типа ktorrent и прочие шалости, я откинул на корню. Накой нам ради торрента GUI. Не к добру всё это.
Начал с того, что завел виртуальную машину, собственно сам роутер - тоже виртуальная машина.
Использую KVM и virt-manager. Установка происходит вообще без происшествий.
Установил я lenny.
Внимательный читатель скажет:"Начал со squeeze, а говорит о lenny".
Поставил ssh и подумал, что я хочу видеть в качестве torrent клиента.
Хотел я что-нибудь из серии ncurses-based. Идейно считаю, что серверам GUI не очень нужен. Посмотрел я и увиделЪ rtorrent.
Отзывов много, есть и отрицательные, и положительные. Значит как-то работает.
Сначала я установил rtorrent, настроил апач, привинтил rutorrent3 с плагинами. И обломался, потому как rtorrent требовался >=0.8.5, а в системе было что-то вроде 0.7.х.
В общем не подходило, хотел было ставить из исходников
. Посмотрев внимательно увидел, что пакет версии 0.8.6.1 есть в sid и squeeze. Решил, что пора заточить...посмотреть на эту штуку.
Сделал full-upgrade и поехал.

Устанавливал я следующие вещи:
aptitude install apache2 # Комментарии излишни, почему он - ресурсы не очень парят
aptitude install php5, php5-cli, php5-curl # cli и curl нужны для плагинов
aptitude install libapache2-mod-scgi # через эту штуку будет идти RPC-общение
aptitude install rtorrent # сам виновник торжества.

Так же качаем rutorrent-3.0 и plugins-3.0 - это собственно web-интерфейс (слегка похож на uTorrent) и плагины к нему.
Качаем от сюда

Теперь замолвим слово о настройке всего дела.
Сначала apache2:
#a2enmod scgi php5 - собственно включить нужные нам модули.
отредактировал в /etc/apache2/sites-available файл default (если он у вас уже используется, то создайте новый vhost):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/rutorrent/
<Directory />
DirectoryIndex index.html
Options Indexes FollowSymlinks Multiviews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
SCGIMount /RPC2 127.0.0.1:5000
<Location "/RPC2">
Order allow,deny
Allow from all
</Location>
</VirtualHost>

Из файла ясно, что основной каталог /var/www/rutorrent
У нас в системе есть уже каталог /var/www
соответственно скачанные нами файлы rutorrent-3.0.tar.gz расспаковываем в эту директория, т.е.
tar -xzf rutorrent-3.0.tar.gz -C /var/www
А плагины разместить в подпапку rutorrent/plugins.
Дальше говорим этой дымящейся железке chown www-data:www-data -R /var/www/rutorrent/
B это всё что нам надо от rutorrent и apache2
Дальше сам rtorrent
Запускать мы будем онный от имени обычного пользователя (кстати можно и от имени www-data), это не важно. В хомяке cd ~ создаем файл .rtorrent.rc и пишем туда:
port_range = 6925-6925 # по какому порту слушаемся
directory = /home/rtorrent/ # основная папка для rtorrent
session = /home/rtorrent/.rtorrent-session/ # Наши любимые сессии
load_start = /home/terra/rtorrent/torrents/* # Тут торренты для автозагрузки
scgi_port = 127.0.0.1:5000 # RPC - где нас хотят услышать.

Дальше
root#/etc/init.d/apache2 restart
user#screen
user#rtorrent
Дальше лезем в интерфейс и кушаем )
В след. статье опишу процесс отречения от религии или искушения (демонизации)сервера rtorrent. А так же прикручивания к этому делу samba, что бы удобнее было смотреть и вообще качать файло win-машинам (есть такие).
P.S.: Практически все повествование идет от лица sudo )