RTorrent+wTorrent

Материал из Gentoo Linux Wiki

Перейти к: навигация, поиск

Содержание

[править] Вступление

Есть замечательный консольный торрент-клиент - rtorrent, у которго есть веб интерфейс wtorrent, с помощью которого можно удаленно (и не очень ;-) ) управлять закачками.

Замечание: для более удобного использования будет произведена "демонизация" rtorrent. :-)


[править] Установка

Прежде чем начинать что-либо устанавливать, необходимо вписать нужные use-флаги:

curl libwww xmlrpc sqlite php -minimal в секцию USE файла /etc/make.conf

Чтобы работал веб интерфейс - нужен веб сервер. Устанавливается lighttpd (если у вас уже установлен и используется apache, вы можете продолжать использовать его). Итак:

emerge lighttpd rtorrent dtach xmlrpc-c subversion

[править] Настройка lighttpd

Открыть любимым редактором конфигурационный файл /etc/lighttpd/lighttpd.conf

nano -w /etc/lighttpd/lighttpd.conf

В секцию server.modules добавляем: "mod_scgi"

Таким образом в сервер добавлен scgi модуль, выполняющий роль гейта.

В конец фала /etc/lighttpd/lighttpd.conf нужно добавить:

Файл: /etc/lighttpd/lighttpd.conf

scgi.server = (

"/RPC2" =>

((

"host" => "127.0.0.1",

"port" => 5000,

"check-local" => "disable"

))

)

Могут быть интересны значения:

Файл: /etc/lighttpd/lighttpd.conf

#Порт, используемый сервером.

server.port = 80

#Сетевой интерфейс который занимает сервер. Если вы хотите пользоваться web-интерфейсом только со своего компьютера - то:

#server.bind = "127.0.0.1"

#если желаете предоставить доступ извне - то ставите свой сетевой ip:

server.bind = 192.168.1.2

#Настройка безопасности. Запрещает доступ к перечисленным типам файлов.

url.access-deny = ("~", ".inc", ".db", ".tpl.php", ".cls.php")

Настройка lighttpd завершена. Его можно запустить и добавить в авто загрузку.

/etc/init.d/lighttpd start

rc-update add lighttpd default

[править] Настройка rTorrent

Порт который будет слушать сокет:

echo "scgi_port = 127.0.0.1:5000" >> ~/.rtorrent.rc

ВАЖНО: Команда выполнялась не от root, а от обычного пользователя. Так как предполагается, что rtorrent будет работать от обычного пользователя, в целях безопасности

Примечание: Дополнительные настройки rtorrent.rc можно найти тут


Теперь "демонизация" rtorrent. Используется start-stop-daemon

Создаем файл запуска, для этого например выполняем
touch /etc/init.d/rtorrentd && chmod +x /etc/init.d/rtorrentd
или создаем сразу (nano -w /etc/init.d/rtorrentd), далее открываем в любимом редакторе /etc/init.d/rtorrentd (если конечно вы уже не в редакторе) и наполняем его следующим содержимым
Файл: /etc/init.d/rtorrentd
#!/sbin/runscript

depend() {
        use net.*
}

start() {
        ebegin "Starting rtorrent"
        start-stop-daemon --start --chuid $USER \
            --env TERM="xterm" \
            --env HOME="/home/$USER" \
            --exec /usr/bin/dtach -- -n $SOCKET /usr/bin/rtorrent
        eend $?
}

stop() {
        ebegin "Stopping rtorrent"
        start-stop-daemon --stop --signal 2 --name rtorrent
        eend $?
}

И файл конфигурации. (Вы не должны импользовать аккаунт "root" лучше создать пользователя "useradd -m -G users wtorrent" и конфиг ~/.rtorrent.rc положим в домик нового юзера. /home/wtorrent:

Файл: /etc/conf.d/rtorrentd
USER="wtorrent"     # Имя пользователя можно поставить свое, но лучше завести нового пользователя
SOCKET="/tmp/rtorrent.dtach"

Можно также использовать screen, тогда start() должен выгляжеть так:

Файл: /etc/init.d/rtorrentd
start() {
        ebegin "Starting rtorrent"
        start-stop-daemon --start --chuid $USER \
            --env TERM="xterm" \
            --env HOME="/home/$USER" \
            --background \
            --exec /usr/bin/screen -- -D -m /usr/bin/rtorrent
        eend $?
}

Можно "развернуть" rtorrent (при услови что у вас ужу не открыт еще один screen) набрав screen -r.

Теперь необходимо сделать rtorrentd исполняемым (если вы этого не сделали после создания). Запустить и добавить в автозагрузку.

chmod +x /etc/init.d/rtorrentd && /etc/init.d/rtorrentd start && rc-update add rtorrentd default

Также рекомендую произвести тонкую настройку rtorrent. Очень подробная статья неписана тут

[править] Установка и настройка wTorrent

Заключительная часть. Установка и конфигурирование wtorrent. Файлы wtorrent можно взять самые свежие - svn.

 
 # Переходим в папку где будут лежать скрипты
 cd /var/www/localhost/htdocs
 
 # Качаем с svn наисвежайшие исходники (не забываем установить subversion если не установлен
 # но если вы впервый раз видите это слово тогда emerge '''subversion''' )
 svn co svn://wtorrent-project.org/repos/trunk/wtorrent/

 # Копируем все в папку со скриптами, так как с svn все слилось в папку wtorrent
 cp -R wtorrent/* . && rm -R wtorrent
 
 # Меняем права на все в этой папке
 chmod 0777 -R * -R
 
 # Копируем conf/sample.user.conf.php в conf/user.conf.php
 # если этого не сделать, тогда вы точно прочитаете пункт 
 # [[Warning: require_once(conf/user.conf.php)]]
 cp conf/sample.user.conf.php conf/user.conf.php

Далее настраиваем conf/user.conf.php, приводим его к следующему виду

Файл: conf/user.conf.php
<?php
define( 'LANGUAGE',                     'ru_RU');               // Приятнее работать на родном языке
define( 'DB_FILE',                      'db/database.db');      // Файл базы данных
define( 'RT_HOST',                      'localhost');           // Адрес сервера
define( 'RT_PORT',                       80);                   // Порт сервера
define( 'RT_DIR',                       'RPC2/');
define( 'RT_AUTH',                       false);                // Без авторизации
define( 'RT_USER',                      'wtorrent');            // Имя пользователя и пароль "ВЛАДЕЛЬЦА"
define( 'RT_PASSWD',                    'password_wtorrent');   // торрентов
define( 'NO_MULTICALL',                  true);
define( 'EFFECTS',                      'true');
define( 'DIR_TORRENTS',                 'torrents/');
define( 'DIR_EXEC',                     '/var/www/wtorrent/');
define( 'DIR_DOWNLOAD',                 '/home/wtorrent/data');  // Этот параметр указывает rtorrent
                                                                 // куда качать файлы.
?>

Теперь давайте позаботимся о доступности /home/wtorrent/data

 # Если папки нет создадим ее
 mkdir /home/wtorrent/data

 # меняем права доступа и разрешаем всей группе users читать ее
 chmod +w /home/wtorrent/data
 chown wtorrent:users /home/wtorrent/data
итак удаляем файл БД
rm db/database.db
(не забывайте что вы должны находиться в папке с wtorrentом)

Значит теперь (даже если файл не был удален) можно запускать скрипт install.php http://localhost/install.php (если конечно вы устанавливаете на локальную машину). Вводим имя и пароль, после переходим к главной станице. Вводим имя и пароль, если вход успешно произведен, тогда удаляем install.php и install2.php. (да кстати, если вам нужно потоньше настроить некторые параметры то запускайте вместо install.php, install2.php)

[править] Проблемы

[править] Warning: require_once(conf/user.conf.php)

Решение по идее простое. Необходимо найти файл conf/simple.user.conf.php скопировать его в conf/user.conf.php и поправить все переменные в conf/user.conf.php.

[править] Warning: require_once(wt/cls/ListT.cls.php)

Скорее всего не верный путь в переменной DIR_EXEC в файле conf/user.conf.php

[править] Warning: disk_free_space() [function.disk-free-space]

Неверный путь в переменной DIR_DOWNLOAD в файле conf/user.conf.php. Или нет прав до DIR_DOWNLOAD

Вернуться в раздел руководства
Личные инструменты