RuTorrent установка и настройка под Gentoo

Материал из AlexNook
Перейти к навигацииПерейти к поиску

ruTorrent - это графическая оболочка для работы с торрент клиентом rTorrent, работающая под управлением веб сервера. С версии 0.7.5, rtorrent можно собрать вместе с поддержкой протокола XML-RPC. Это позволяет в удобной для форме общаться с клиентом, управлять им, используя что-то своё (как правило веб обёртку), а не только консоль с ncurses.

Одним из наиболее интересных приложений, основанных на веб-технологии на мой взгляд оказался проект ruTorrent. Я уже давно пользовался rTorrent, но как-то настал тот момент, когда я устал от консоли и мне захотелось иметь красивый и наглядный вывод информации в браузер о текущем положении дел. Это пожалуй единственное что мне было интересно, т.к. управлять программой мне удобнее используя горячие клавиши, а так же конфигурационный файл. Рассмотрим как можно прикрутить себе веб-морду, очень сильно напоминающую неплохой Win torrent clietn - uTorrent =).

Приготовления и системные требования

Посмотрим, что надо иметь на сервере, для установки ruTorrent.

  • rTorrent версии не менее 0.8.2, скомпилированный с поддержкой XML-RPC.
  • Веб-сервер с поддержкой php 5.0.
  • Браузер, как локальный клиент (IE 7.0, Firefox 2.x, Firefox 3.x, Opera 9.x)

Теперь я напишу, с что стояло у меня, перед тем как я приступил к работе:

Основу я указал, теперь приступим к приготовлениям.

Подготовка системы к ruTorrent

Для начала надо пересобрать rTorrent с необходимой опципей, т.е. поддержкой XML-RPC.

Для этого в файл package.use добавляем строку.

File: /etc/portage/package.use
net-p2p/rtorrent daemon xmlrpc
Note: Опция daemon у меня там уже была для того, чтобы я мог зпускатье го в режиме демона

Пересобираем rTorrent:

emerge rtorrent

Далее надо собрать к Apache модуль mod_scgi. Для этого выполняем следующие действия.

Сперва добавим в файл package.keywords строки

File: /etc/portage/package.keywords
www-apache/mod_scgi ~amd64
www-apps/scgi ~amd64

Это размаскирует эти пакеты для систем amd64 (64 битная ОС).

Note: Если у вас x86, то данная процедура не нужна

Причём пакет www-apache/mod_scgi и есть сам mod_scgi, а www-apps/scgi дополнительно устанавливаемый пакет при компиляции mod_scgi.

Собираем для Apache нужный модуль:

emerge mod_scgi

Теперь надо сконфигурировать данный модуль.

Открываем на правку конфигурационный файл XX_mod_scgi.conf и вносим в него:

File: /etc/apache2/modules.d/20_mod_scgi.conf
<IfDefine SCGI>
LoadModule scgi_module modules/mod_scgi.so
# Apache2 example
<Location "/RPC2">
        SetHandler scgi-handler
        SCGIServer localhost:5000
        SCGIHandler On
        Options -Multiviews
        AuthName "RPC2 Restricted Area"
        AuthType Basic
        AuthBasicProvider file
        AuthUserFile /var/www/tool/htpasswd/.rutorrent
        Require valid-user
</Location>

Соответственно мы тут добавили точку монтирования (Location "/RPC2"), адрес и порт (SCGIServer localhost:5000), а так же прикрыли доступ из вне, поставив пароль, используя обычную веб-аунтификацию апача. Последнее позволит защитить обращения к нашему веб серверу к RPC (http://address/RPC2), а ведь именно туда обращается ruTorrent, посылая запросу не напряму к rTorrent, а через веб сервер (более подробно можно глянуть тут).