1) обновляемся:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
2) ставим все, что нужно
sudo apt-get install screen php5 php5-geoip php5-cgi php5-cli apache2-utils curl subversion make autoconf autotools-dev automake libtool libcurl4-openssl-dev libsigc++-2.0-dev pkg-config libncurses5-dev checkinstall g++
3) Добавляем юзера
useradd rtorrent
Устанавливаем пароль
passwd rtorrent
000111
Создаем папки
cd /home/rtorrent
mkdir torrents
mkdir session
Меням владельца
chown -R rtorrent /home/rtorrent/
chgrp -R rtorrent /home/rtorrent/
4) Ставим xml-rpc из svn
cd ~
cd xmlrpc-c
./configure --prefix=/usr
make
sudo checkinstall -D
5) Собираем libtorrent
cd ~
tar zxfv libtorrent-0.12.6.tar.gz
cd libtorrent-0.12.6
./autogen.sh
./configure --prefix=/usr
make
sudo checkinstall –D
6) Собираем rtorrent
cd ~
tar zxfv rtorrent-0.8.6.tar.gz
cd rtorrent-0.8.6
./autogen.sh
./configure --with-xmlrpc-c --prefix=/usr
make
sudo checkinstall -D
В поле Discription вводим rtorrent
7) создаем файл конфигурации:
cd /home/rtorrent
nano rtorrent.rc
с примерно таким содержимым:
(пути папки и т.д. прописываешь свои)
directory = /home/rtorrent/torrents/
session = /home/rtorrent/session/
scgi_port = 127.0.0.1:5000
encoding_list = UTF-8
min_peers = 10
max_peers = 125
min_peers_seed = 10
max_uploads = 0
download_rate = 675
upload_rate = 900
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
#Завершение программы при нехватке свободного места
schedule = low_diskspace,5,60,close_low_diskspace=300M
#Автоматические загрузки
schedule = watch_directory_1,5,5,"load_start=/home/media/torrents/auto/bddisk/*.torrent,d.set_directory=/home/media/blue-ray_disk"
schedule = watch_directory_2,5,5,"load_start=/home/media/torrents/auto/houseMD/*.torrent,d.set_directory=/home/media/houseMD"
schedule = watch_directory_3,5,5,"load_start=/home/media/torrents/auto/xbox/*.torrent,d.set_directory=/home/media/xbox"
или берем официальный конфиг с комментариями и правим:
wget http://libtorrent.rakshasa.no/export/1169/trunk/rtorrent/doc/rtorrent.rc -O /home/rtorrent/.rtorrent.rc
и правим нужные настройки
Устанавливаем права
chmod 777 .rtorrent.rc
chown -R rtorrent /home/rtorrent/.rtorrent.rc
chgrp -R rtorrent /home/rtorrent/.rtorrent.rc
9) Включаем файлы конфигурации для lighttpd
а) fastcgi
ln -s /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-enabled/10-fastcgi.conf
б) auth
ln -s /etc/lighttpd/conf-available/05-auth.conf /etc/lighttpd/conf-enabled/05-auth.conf
nano 05-auth.conf
Дописываем в конец еще одну секцию, не забываем сменить юзера на нашего ("require" => "user=rtorrent")
server.modules += ( "mod_auth" )
auth.backend = "htdigest"
auth.backend.htdigest.userfile = "/etc/lighttpd/htdigest"
auth.require = ( "/RPC2" =>
(
"method" => "digest",
"realm" => "rTorrent RPC",
"require" => "user=rtorrent"
)
)
c) scgi
Создаем конфиг scgi
nano /etc/lighttpd/conf-available/10-scgi.conf
копипастим туда следуюший код:
scgi.server = (
"/RPC2" =>
( "127.0.0.1" =>
(
"host" => "127.0.0.1",
"port" => 5000,
"check-local" => "disable",
"disable-time" => 0,
)
)
)
делаем симлинк
ln -s /etc/lighttpd/conf-available/10-scgi.conf /etc/lighttpd/conf-enabled/10-scgi.conf
10) создаем пароль:
sudo htdigest -c /etc/lighttpd/htdigest "rTorrent RPC" rtorrent
11) рискнем хоть веб-морду дернуть из svn:
cd /var/www/
sudo svn checkout http://rutorrent.googlecode.com/svn/trunk/rutorrent
cd rutorrent
sudo svn checkout http://rutorrent.googlecode.com/svn/trunk/plugins
Удаляем ненужные плагины, затем в файле /rutorent/plugins/.svn/entries убираем по две строчки для каждого ненужного плагина, чтобы они не обновлялись – имя плагина и слово dir.
В дальнейшем обновляем и ядро и плагины командой
svn up *
из папки /var/www/rutorrent
12) теперь разрешаем пользователю веб сервера пользоваться мордой:
sudo chown -R www-data:www-data /var/www/rutorrent
sudo chmod -R 777 /var/www/rutorrent
13) так как консольный клиент не умеет (!!!) работать как демон, скачиваем костыли, позволяющие обойти этот идиотизм. (заметим, что костыль этот изобрел сам криворукий кодер)
sudo wget http://libtorrent.rakshasa.no/attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh?format=raw -O /etc/init.d/rtorrent
14) редактируем костыль
sudo nano /etc/init.d/rtorrent
в user пишем своего пользователя
user=rtorrent
15) делаем костыль самодвижущимся и добавляем его в автозапуск.
chown root:root /etc/init.d/rtorrent
sudo chmod +x /etc/init.d/rtorrent
sudo update-rc.d rtorrent defaults
sudo /etc/init.d/rtorrent start
16) Делаем автоматическое создание папки с названием фильма, например, путь загрузки - /mnt/raid/video/<НАЗВАНИЕФИЛЬМА>/movie.torrent.
Для этого добавляем в .rtorrent.rc следующую строку (можно в конец):
system.method.set_key=event.download.inserted_new, create_struct,"d.open= ;f.multicall=default,\"execute={sh,/home/rtorrent/creator.sh,$f.get_frozen_path=}\""
И создаем исполняемый скрипт creator.sh следующего содержания:
#!/bin/sh
dir=`dirname "${1}"`
mkdir -p "${dir}"