Мой дом. |
|
Debian Lenny и rTorrent + RuTorrent
Проблема заключается в том, что в состав Debian Lenny входит старый пакет libxmlrpc-c3_1.06 и rtorrent собран для работы с этой версией библиотеки, а для нормальной работы связки rtorrent + WEB-UI rutorrent необходимо, чтобы rtorrent был собран с версией libxmlrpc-c3 не ниже 1.11. В сети полно рецептов как самостоятельно собрать нужные пакеты, я же хочу поделиться своим опытом и рассказать, как избежать ручной сборки. Итак, начнем. Прежде всего, удаляем старые установленные пакеты, если они есть.
Скачиваем пакет
из ветки Debian Experimental. А пакеты
из Debian Squeeze. Затем ставим скачанные пакеты командой
Но не все так просто, дело в том, что в Squeeze та-же версия libxmlrpc-c3, что и в Lenny, только rtorrent посвежее (0.8.6-1), а в логах rutorrent пишет все туже ошибку «…………………..»
Лечение я выбрал такое: Здесь взял редхатовский пакет rtorrent-0.8.6-4.el5.i386.rpm он собран с libxmlrpc-c3 версии 1.14 и конвертировал его в DEB пакет:
Далее можно просто поставить полученный пакет, я же скопировал из него файл rtorrent в каталог /usr/bin/ (заменил имеющийся). Для адаптации чужого rtorrent’а пришлось сделать несколько симлинков в каталоге /usr/lib/
Конечно, этот способ далек от элегантности, но на мой взгляд лучше сборки из исходников по ряду причин:
Далее "конспект", набраный из различных источников. И не причесанный...
Настройка и автозапуск rtorrentПодготовка.Для настройки используется всего один конфигурационный файл, однако изначально он не просто пуст, но и не существует. Нам понадобятся корневая папка для торрентов (в моём случае это /data — самый крупный раздел винчестера) и папка где будет лежать файл сессий (/data/torrents/session). Из дополнительных возможностей программы наиболее плотно рассмотрим самые полезные:
Создадим необходимые директории: cd /data && mkdir anime films games music soft torrents cd torrents && mkdir session auto cd auto && mkdir anime films games music soft Создаём файл с настройками: nano ~/.rtorrent.rc scgi_port = 127.0.0.1:5000 encoding_list = UTF-8 min_peers = 30 max_peers = 125 min_peers_seed = 10 max_uploads = 20 download_rate = 500 upload_rate = 500 directory = /data session = /data/torrents/session port_range = 6789-6789 port_random = no check_hash = yes peer_exchange = yes check_hash = yes use_udp_trackers = yes encryption = allow_incoming,try_outgoing,enable_retry dht = auto dht_port = 2442 #Завершение программы при нехватке свободного места schedule = low_diskspace,5,60,close_low_diskspace=300M #Автоматические загрузки schedule = watch_directory_1,5,5,"load_start=/data/torrents/auto/anime/*.torrent,d.set_directory=/data/anime" schedule = watch_directory_2,5,5,"load_start=/data/torrents/auto/films/*.torrent,d.set_directory=/data/films" schedule = watch_directory_3,5,5,"load_start=/data/torrents/auto/games/*.torrent,d.set_directory=/data/games" schedule = watch_directory_4,5,5,"load_start=/data/torrents/auto/music/*.torrent,d.set_directory=/data/music" schedule = watch_directory_5,5,5,"load_start=/data/torrents/auto/soft/*.torrent,d.set_directory=/data/soft" #Управление скоростью в зависимости от времени schedule = throttle_1,01:00:00,24:00:00,download_rate=800 schedule = throttle_2,09:00:00,24:00:00,download_rate=500 schedule = throttle_3,01:00:00,24:00:00,upload_rate=800 schedule = throttle_4,09:00:00,24:00:00,upload_rate=500 И сохраняем его. Для автозапуска можно воспользоваться скриптом автора программы (ключевую роль в нём играет screen), единственное что в нём нужно изменить — пользователя (user=ваш_пользователь) sudo wget http://libtorrent.rakshasa.no/attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh?format=raw -O /etc/init.d/rtorrent Меняем пользователя: sudo nano /etc/init.d/rtorrent Устанавливаем и запускаем скрипт: sudo chmod +x /etc/init.d/rtorrent && sudo update-rc.d rtorrent defaults && sudo /etc/init.d/rtorrent start Проверим его работу: screen -dr rtorrent Чтобы выйти нажмите Ctrl+A затем Ctrl+d. Apache2 — прелюдия к web интерфейсуНам потребуется изменить / создать новый виртуальный хост: sudo nano /etc/apache2/sites-available/default <VirtualHost *:80> ServerName server.ath.cx DocumentRoot /home/user/www/server.ath.cx/ ErrorLog /var/log/apache2/error.log CustomLog /var/log/apache2/access.log combined #Подключаем и защищаем scgi LoadModule scgi_module /usr/lib/apache2/modules/mod_scgi.so <Location "/RPC2"> SetHandler scgi-handler SCGIServer localhost:5000 SCGIHandler On Options -Multiviews AuthName "Rtorrent Restricted Area" AuthType Basic AuthBasicProvider file AuthUserFile /home/user/www/.rtorrent_pass Require valid-user </Location> </VirtualHost> Как видите мы прописали путь к файлу .rtorrent_pass — он как раз и содержит допустимый логин и пароль. Обратите внимание на то, что из интернета к нему получить доступ нельзя, он лежит в папке находящейся уровнем выше чем папка с сайтом. И это не случайно. Создадим его: sudo htpasswd -c ~/user/www/.rtorrent_pass login Где login — придуманное вами имя пользователя.
Установка Rutorrentcd ~/www/server.ath.cx svn checkout http://rutorrent.googlecode.com/svn/trunk/rtorrent sudo chmod 777 -R ~/www/server.ath.cx/rtorrent Всё, rutorrent установлен. Однако не спешите переходить по адресу http://server.ath.cx/rtorrent/ Для того чтобы ввести логин и пароль на обновляющейся каждые 3 секунды (в попытке получить доступ к /RPC2) странице требуется как минимум хорошая скорость. Залогиньтесь на странице http://server.ath.cx/RPC2 (пусть вас не смущает ошибка после логина, ничего дельного наш браузер «сказать» папке не может, «разговаривать» с ней будет rutorrent) и уже потом переходите на http://server.ath.cx/rtorrent/ Плагины Rutorrent Для себя я выбрал следующие 4 плагина: erasedata (позволяет удалять торренты вместе с файлами), choose (добавляет выпадающий список куда закачивать), trafic (статистика), autotools (автоматически даёт метку исходя из папки указанной для загрузки). Со списком всех плагинов вы можете ознакомиться на сайте rutorrent. Напишем простенький скрипт для автоматической установки / обновления плагинов и самого веб-интерфейса: cd ~/scripts && nano rutorrent_install.sh #!/bin/sh cd ~/www/server.ath.cx svn checkout http://rutorrent.googlecode.com/svn/trunk/rtorrent cd rtorrent/plugins svn checkout http://rutorrent.googlecode.com/svn/trunk/plugins/erasedata svn checkout http://rutorrent.googlecode.com/svn/trunk/plugins/choose svn checkout http://rutorrent.googlecode.com/svn/trunk/plugins/trafic svn checkout http://rutorrent.googlecode.com/svn/trunk/plugins/autotools chmod 777 -R ~/www/server.ath.cx/rtorrent Запускаем его: chmod +x ~/scripts/rutorrent_install.sh && ~/scripts/rutorrent_install.sh
Плагин Save file to (rtorrent + firefox)Надеюсь вы помните что rtorrent сканирует заданные папки. Для лисы существует простой и очень удобный плагин который позволяет добавлять торрент двумя кликами, как вы уже поняли это Save file to: Естественно нам нужно расшарить нужную папку в самбе: sudo nano /etc/samba/smb.conf Добавим такой блок в конце файла: [torrents] path=/data/torrents guest ok = no browseable = yes writable = yes create mask = 0777 directory mask = 0777 Перезапустим самбу: sudo /etc/init.d/samba restart Заходите в настройки плагина и добавляйте свежерасшаренную папку:
После того, как вы сохраните торрент в нужную папку вы сможете сохранять в неё последующие торренты одним кликом — этот плагин запоминает последние папки. |
E-mail: bogovic@yandex.ru |