Дек 032010
 

gentoo + rtorrent + rutorrent

На днях решил я перейти на консольный торрент клиент, выбор пал на rtorretn.

Настраиваем.

1. сперва ставим пакет php

echo "dev-lang/php apache2 "  >  > /etc/portage/package.use
emerge dev-lang/php

при установки php , он потянет по зависимостям и apache2.
rc-update add apache2 default

хотел изначально сделать задуманное на вэб-сервере nginx, но вэб-морду под nginx не настроить, не умеет scgi нативно.

2. Установка самого rtorrent.

emerge net-p2p/rtorrent-0.8.6-r1  

ставим с такими флагами .
daemon #делаем его деманом
xmlrpc #протокол удаленного вызова процедур

2.1 настройка rtorrent
мой конфиг.

#bind = 80.65.32.12
ip = serv0
min_peers = 1
max_peers = 1000
download_rate = 0
upload_rate = 0
directory = /home/bagas/download/
session = /home/bagas/session/
schedule = watch_directory,5,5,load_start=/home/bagas/torrents/*.torrent
#schedule = untied_directory,5,5,stop_untied=
schedule = low_diskspace,5,60,close_low_diskspace=500M
port_range = 59222-59222
port_random = no
check_hash = yes
session_save = yes
encryption = allow_incoming,enable_retry,prefer_plaintext
min_peers_seed = 1
max_peers_seed = 50
use_udp_trackers = yes
dht = auto
dht_port = 6881
encoding_list = UTF-8
scgi_port = 127.0.0.1:5000
#encryption = allow_incoming,try_outgoing,enable_retry
min_peers, max_peers - минимальное/максимальное число пиров на торрент
min_peers_seed -
max_peers_seed -
max_uploads -
download_rate - максимальная скорость загрузки. 0 - не ограничена
upload_rate - максимальная скорость отдачи. 0 - не ограничена
directory - директория для сохранения закачек или откуда будут сидироваться торренты
session - директория куда будет сохраняться состояние торрентов.
schedule = watch_directory,5,5,load_start=/home/bagas/torrents/*.torrent - каждые 5 секунд проверяет эту директорию на
новые *.torrent файлы и если они есть то ставить их на закачку
schedule = low_diskspace,5,60,close_low_diskspace=500M  - следить за местом на диске - если осталось менее 500МБ - остановить все
скачивания
port_range - диапазон портов, которые открывает клиент для обмена данными
port_random - случайный выбор порта для обмена данными
check_hash - проверять хэш торрента после закачки
use_udp_trackers - использовать udp
dht = auto - может принимать значения "disable" (для полного отключения DHT), "off" (не стартует с DHT), "auto" (Включает DHT при
возможности), или "on" (принудительно включает DHT).Значение DHT по умолчанию
"off". Для правильной работы DHT каталог сеансов "session" должен быть определен.
dht_port  - UDP порт, используемый DHT
encoding_list - устанавливает кодировку UTF-8 для xmlrpc. Актуально для GUI, работающих через xmlrpc.
scgi_port - scgi порт

Использование rtorrent:

    * Enter . добавить новый torrent файл. Для упрощения ввода имени файла, можно пользоваться клавишей Tab.
    * ^T . обновить трэкер
    * ^Q . отключает программу, повторное нажатие закрывает программу не посылая трэкеру стоп сигнал
    * ^N|< стрелка вниз > . выбор следующего торрента/адреса
    * ^P|< стрелка вверх > . выбор предыдущего торрента/адреса
    * ^F|< стрелка вправо > . просмотр состояния загрузки/аплоуда торрента
    * ^B|< стрелка влево > . возвращает на предыдущий экран
    * A|S|D . увеличить скорость загрузки на 1/5/50 кб
    * Z|X|C . уменьшить скорость загрузки на 1/5/50 кб
    * a|s|d . увеличить скорость отдачи на 1/5/50 кб
    * z|x|c . уменьшить скорость отдачи на 1/5/50 кб
    * 1.9 . переключение между различными группами (по состоянию загрузки)
    * ^S . начать закачку
    * ^D . остановить закачку (повторное нажатие удаляет торрент-файл. Данные остаются)
    * ^K . закрыть торрент и его файлы
    * ^E . пересоздать все файлы торрента
    * ^R . перечитать хэш торрента
    * ^O . изменить директорию на загрузку (торрент должен быть закрыт)
    * +|- . увеличить уменьшить приоритет загрузки торрента
    * < backspace > . добавить URL или путь к торренту
    * L . просмотреть лог (чтобы выйти нужно нажать пробел)
    * ^X . вызвать команду или поменять настройку

добавляем автозагрузку скрипта rtorrentd
rc-update add rtorrentd default

ли можно добавить в системный запуск

nano /etc/conf.d/local.start
su -c 'screen -d -m rtorrent' bagas

и добвляем правило в cron, это что бы мы могли после рестарта машины, подцепиться web-мордой к rtorrent`y.

$crontab -e
@reboot screen -d -m rtorrent

3. открываем тестовые пакеты

nano /etc/portage/package.keywords
www-apps/scgi ~amd64
www-apache/mod_scgi ~amd64
emerge scgi mod_scgi -av

4. редачим /etc/apache2/modules.d/20_mod_scgi.conf

cat /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 serv0:5000 #адрес и порт
        SCGIHandler On
        Options -Multiviews
        AuthName "RPC2 Restricted Area"
        AuthType Basic # добавили ауентификацию
        AuthBasicProvider file
        AuthUserFile /var/www/localhost/htpasswd/.rutorrent #фаел с паролем
        Require valid-user
<  /Location  >

так же создадим фаел с паролями на доступ к начем web серверу.
touch /var/www/localhost/htpasswd/.rutorrent
lan:$apr1$OF6cVT.z$Ajdqa0yEVI7BZnW4gr5T10
вот такого содержимого.
пароль генерим спомощью программы htpasswd, становимся в нужную директорию, где будет лежать созданный нами фаел htpasswd.
htpasswd -cm .rutorrent lan
главное вынести его за корневой котолог web сервера.

5.редачим apache2

nano /etc/conf.d/apache2
проверяем строку
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5"
дописываем -D SCGI
получаеться
APACHE2_OPTS="-D SCGI -D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5"

6. ставим пакет SubVersion

emerge subversion -pv

7. дальше переходим в диреткорию web сервера.

cd /var/www/localhost/htdocs/
запускаем установку rutorrenta
svn co http://rutorrent.googlecode.com/svn/trunk/rutorrent

после дадим права пользователя под которым работает web сервер apache

chown apache:apache /var/www/localhost/htdocs/rutorrent/share/users
chown apache:apache /var/www/localhost/htdocs/rutorrent/share/settings

или

chown -R apache:apache /var/www/localhost/htdocs/rutorrent/

8. дополняем фаел: в nano ~/.rtorrent.rc

scgi_port = 127.0.0.1:5000

9. создаем фаел для безопастности rtorrenta.

Так как он не имеет своего модуля аутентификации, в корне web директории , где лежит скрипт rutorrent, положим фаел .htaccess

nano /var/www/localhost/htdocs/rutorrent/.htaccess

AuthName ruTorrent Restricted Area
AuthType Basic
AuthUserFile /var/www/localhost/htpasswd/.rutorrent
Require valid-user

10. Для удобства подымим samba севрер, некоторые подымают ftp, но правельнее я думаю samba будет.

# emerge samba -pv
[ebuild   R   ] net-fs/samba-3.4.9  USE="acl client netapi pam readline server smbclient smbsharemodes swat syslog -addns -ads -aio -avahi -caps -cluster -cups -debug -doc -examples -fam -ldap -ldb -quota -winbind" 0 kB

конфиг. самбы!

cat /etc/samba/smb.conf
[global]
        dos charset = cp866
        unix charset = UTF8
        display charset = UTF8
        workgroup = workgroup
        allow trusted domains = no
        server string = Samba
        interfaces = eth0
        bind interfaces only = Yes
        security = share
        log level = 3
        log file = /var/log/samba/log.%m
        max log size = 1000
        smb ports = 139
        name resolve order = host lmhost bcast
        deadtime = 5
        socket options = SO_RCVBUF=8192 SO_SNDBUF=8192 TCP_NODELAY
        load printers = No
        local master = No
        domain master = No
        dns proxy = No
        socket address = 192.168.1.2
        winbind uid = 10000-20000
        winbind gid = 10000-20000
        winbind enum groups = yes
        winbind enum users = yes
        winbind cache time = 604800
        winbind use default domain = Yes
        hosts allow = 192.168.1., 127.
        netbios name = serv0

[download]
   comment = share
   path = /mnt/download
   null passwords = Yes
   guest account = guest
   public = yes
   writable = yes
   create mask = 0777

[torrents]
   comment = share
   path = /mnt/torrents
   null passwords = Yes
   guest account = guest
   public = yes
   writable = yes
   create mask = 0777

Монтируем шары у пользоватлей.
УcЁ! проверяем http://127.0.0.1
Мой торретн клиент rtorrent/rutorrent

  One Response to “gentoo+rtorrent+rutorrent”

  1. […] Попутные ссылки на rutorrent […]

 Leave a Reply

(required)

(required)

41 Запросов к базе. 0,479 Генерации страницы, 37MB Использование памяти.
Вы зашли с IP: 54.80.58.121