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
- Вернуться в раздел руководства
