RuTorrent установка и настройка под Gentoo: различия между версиями
ALEX (обсуждение | вклад) м |
ALEX (обсуждение | вклад) |
||
Строка 23: | Строка 23: | ||
Для начала надо пересобрать [[RTorrent_-_установка_и_настройка|rTorrent]] с необходимой опципей, т.е. поддержкой [[wikipedia:ru:XML-RPC|XML-RPC]]. | Для начала надо пересобрать [[RTorrent_-_установка_и_настройка|rTorrent]] с необходимой опципей, т.е. поддержкой [[wikipedia:ru:XML-RPC|XML-RPC]]. | ||
Для этого в файл | Для этого в файл {{Path|/etc/portage/package.use}} добавляем строку. | ||
{{File|/etc/portage/package.use| | {{File|/etc/portage/package.use| | ||
<pre>net-p2p/rtorrent daemon xmlrpc</pre> | <pre>net-p2p/rtorrent daemon xmlrpc</pre> | ||
Строка 34: | Строка 34: | ||
Далее надо собрать к [http://www.apache.org/ Apache] модуль [http://gentoo-portage.com/www-apache/mod_scgi mod_scgi]. Для этого выполняем следующие действия. | Далее надо собрать к [http://www.apache.org/ Apache] модуль [http://gentoo-portage.com/www-apache/mod_scgi mod_scgi]. Для этого выполняем следующие действия. | ||
Сперва добавим в файл | Сперва добавим в файл {{Path|/etc/portage/package.keywords}} строки | ||
{{File|/etc/portage/package.keywords| | {{File|/etc/portage/package.keywords| | ||
<pre>www-apache/mod_scgi ~amd64 | <pre>www-apache/mod_scgi ~amd64 | ||
www-apps/scgi ~amd64</pre> | www-apps/scgi ~amd64</pre> | ||
}} | }} | ||
Это размаскирует эти пакеты для систем amd64 (64 битная ОС). | Это размаскирует эти пакеты для систем {{Keyword|amd64}} (64 битная ОС). | ||
{{Note|Если у вас x86, то данная процедура не нужна}} | {{Note|Если у вас x86, то данная процедура не нужна}} | ||
Строка 49: | Строка 49: | ||
Теперь надо сконфигурировать данный модуль. | Теперь надо сконфигурировать данный модуль. | ||
Открываем на правку конфигурационный файл XX_mod_scgi.conf | Открываем на правку конфигурационный файл '''XX_mod_scgi.conf''' (у меня он называется '''20_mod_scgi.conf'''). | ||
{{Note|Данное название сгенерированно Гентушным подходом (Gentoo-way), где цифры перед названием файла указывают на порядок, в котором он будет автоматом подгружен из папки '''modules.d''' в общий конфиг (его не рекомендуется править, т.к. он будет каждый раз переписан при обновлении апача).}} | |||
{{File|/etc/apache2/modules.d/20_mod_scgi.conf| | {{File|/etc/apache2/modules.d/20_mod_scgi.conf| | ||
<pre><IfDefine SCGI> | <pre><IfDefine SCGI> | ||
Строка 64: | Строка 65: | ||
AuthUserFile /var/www/tool/htpasswd/.rutorrent | AuthUserFile /var/www/tool/htpasswd/.rutorrent | ||
Require valid-user | Require valid-user | ||
</Location></pre> | </Location> | ||
</IfDefine></pre> | |||
}} | }} | ||
Соответственно мы тут добавили точку монтирования (Location "/RPC2"), адрес и порт (SCGIServer localhost:5000), а так же прикрыли доступ из вне, поставив пароль, используя обычную веб-аунтификацию апача. Последнее позволит защитить обращения к нашему веб серверу к RPC (http://address/RPC2), а ведь именно туда обращается ruTorrent, посылая запросу не напряму к rTorrent, а через веб сервер (более подробно можно глянуть [http://code.google.com/p/rutorrent/wiki/WebserverSetup тут]). | Соответственно мы тут добавили точку монтирования ('''Location "/RPC2"'''), адрес и порт ('''SCGIServer localhost:5000'''), а так же прикрыли доступ из вне, поставив пароль, используя обычную веб-аунтификацию апача. Последнее позволит защитить обращения к нашему веб серверу к RPC (''<nowiki>http://address/RPC2</nowiki>''), а ведь именно туда обращается [http://code.google.com/p/rutorrent/ ruTorrent], посылая запросу не напряму к [http://libtorrent.rakshasa.no/ rTorrent], а через веб сервер (более подробно можно глянуть [http://code.google.com/p/rutorrent/wiki/WebserverSetup тут]). | ||
Так же нам надо создать файл с паролем и логином для веб-аутентификации {{Path|/var/www/tool/htpasswd/.rutorrent}}, куда вносятся данные, полученные от утилиты htpasswd (можно сгенерировать их и on-line, например [http://www.htaccesstools.com/htpasswd-generator/ тут]). | |||
{{Note|Путь, куда вы положите файл .rutorrent может быть любым у вас. Главное вынести его за пределы папки, доступной по протоколу http (в Генту обычно ''htdocs''.)}} | |||
'''<IfDefine SCGI>''' эта директива проверяет, был ли запущен апач с ключом SCGI и только потом подгружает модуль mod_scgi. Для того, чтобы запустить апач с этим ключом необходимо поправить следующий файл: | |||
{{File|/etc/conf.d/apache2| | |||
<pre>APACHE2_OPTS="-D SCGI ...... "</pre> | |||
}} | |||
То есть мы добавили ключ запуска апача '''-D SCGI''', важно не удалить случайно те ключи, которые там ранее уже были у вас. Просто вставьте своё значение вначало. |
Версия 17:46, 13 декабря 2009
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.
Для этого в файл /etc/portage/package.use добавляем строку.
net-p2p/rtorrent daemon xmlrpc
Пересобираем rTorrent:
Далее надо собрать к Apache модуль mod_scgi. Для этого выполняем следующие действия.
Сперва добавим в файл /etc/portage/package.keywords строки
www-apache/mod_scgi ~amd64 www-apps/scgi ~amd64
Это размаскирует эти пакеты для систем amd64 (64 битная ОС).
Причём пакет www-apache/mod_scgi и есть сам mod_scgi, а www-apps/scgi дополнительно устанавливаемый пакет при компиляции mod_scgi.
Собираем для Apache нужный модуль:
Теперь надо сконфигурировать данный модуль.
Открываем на правку конфигурационный файл XX_mod_scgi.conf (у меня он называется 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> </IfDefine>
Соответственно мы тут добавили точку монтирования (Location "/RPC2"), адрес и порт (SCGIServer localhost:5000), а так же прикрыли доступ из вне, поставив пароль, используя обычную веб-аунтификацию апача. Последнее позволит защитить обращения к нашему веб серверу к RPC (http://address/RPC2), а ведь именно туда обращается ruTorrent, посылая запросу не напряму к rTorrent, а через веб сервер (более подробно можно глянуть тут).
Так же нам надо создать файл с паролем и логином для веб-аутентификации /var/www/tool/htpasswd/.rutorrent, куда вносятся данные, полученные от утилиты htpasswd (можно сгенерировать их и on-line, например тут).
<IfDefine SCGI> эта директива проверяет, был ли запущен апач с ключом SCGI и только потом подгружает модуль mod_scgi. Для того, чтобы запустить апач с этим ключом необходимо поправить следующий файл:
APACHE2_OPTS="-D SCGI ...... "
То есть мы добавили ключ запуска апача -D SCGI, важно не удалить случайно те ключи, которые там ранее уже были у вас. Просто вставьте своё значение вначало.