Установка rTorrent + ruTorrent на Ubuntu Linux

/www/pages/modesco/ubuntovod

В сети находится множество манов как установить rTorrent + ruTorrent. Многие из них я использовал, но часто были какие то ошибки. В этот раз решил записать все шаги установки. Пост пишу для себя, но думаю поможет многим. 

В начале объясню почему именно rTorrent + ruTorrent. Во первых rTorrent экономит ресурсы, а север у меня не слишком сильный. Во вторых - гибкость. Торрентов у меня обычно множество, а для ruTorrent существуют удобные плагины для создания тэгов, фильтрации по трекерам и прочие радости. Так просто удобней. 🙂

Задали вопрос что такое rTorrent и ruTorrent. Отвечаю:

  • rTorrent - это серверный (консольный) BitTorrent для Linux/Unix, популярен из за быстродействия и малого потребления ресурсов
  • ruTorrent - это интерфейс (web-морда) для rTorrent, популярен из за удобного интерфейса и множества полезных плагинов

Установка rTorrent

В начале я хотел описать процесс компиляции пакетов, но забил на эту идею. Было три причины:

  1. Компилировать самому ощутимо дольше
  2. Возможны ошибки при компилировании
  3. В 90% манов описана компиляция, мы же должны отличаться 🙂

Поэтому просто добавим репозиторий, где всегда лежат свежии версии нужных пакетов:

sudo add-apt-repository ppa:patricksissons/rtorrent
sudo apt-get update

Теперь можно ставить сам rTorrent:

sudo apt-get install rtorrent

Помимо самого пакета rtorrent будут загружены все нужные пакеты. Всё, rTorrent установлен, теперь займёмся файлом настроек.

Для этого в домашней директории нужно создать файл .rtorrent.rc. Вот содержание моего файла:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
min_peers = 1
max_peers = 1000
download_rate = 0
upload_rate = 0
directory = /home/sk8er/Torrents/
session = /home/sk8er/.rtsession/
port_range = 40890-40890
port_random = no
check_hash = yes
session_save = yes
encryption = allow_incoming,enable_retry,prefer_plaintext
use_udp_trackers = yes
 
dht = auto
dht_port = 6881
 
encoding_list = UTF-8
 
scgi_port = 127.0.0.1:5000

Сохраняем файл. Вот теперь можно запускать rTorrent. Но лучше сразу установим Web-морду.

Установка ruTorrent

В начале нужен Web-сервер. Ставим нужные пакеты:

sudo apt-get install -y build-essential pkg-config libcurl4-openssl-dev libsigc++-2.0-dev libncurses5-dev subversion libterm-readline-gnu-perl php5-cgi apache2-utils libapache2-mod-scgi php5-cli

Теперь нужно скачать ruTorrent. Переходим в папку вашего web-сервера и вводим следующую команду:

svn checkout http://rutorrent.googlecode.com/svn/trunk/rutorrent

Теперь нужно выставить нужные права на папку:

sudo chown -R www-data:www-data ./rutorrent/

Итак, теперь нужно отредактировать файл apache2.conf:

sudo nano /etc/apache2/apache2.conf

И добавить в конце следующую строку:

1
SCGIMount /RPC2 127.0.0.1:5000

Сохраняем файл, закрываем, теперь перезагрузим apache2:

sudo /etc/init.d/apache2 reload

Вот и всё. Запускаем rTorrent и заходим в браузере по ссылке http://ip_сервера/rutorrent. Откроется примерно следующее:

Автозагрузка rTorrent

Что бы при каждом перезапуске сервера не запускать rTorrent добавим его в автозагрузку. Для начала скачаем нужный скрипт:

sudo wget http://libtorrent.rakshasa.no/attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh?format=raw -O /etc/init.d/rtorrent

Теперь нужно отредактировать скрипт. Откроем его:

sudo nano /etc/init.d/rtorrent

И ищем строку user="user". В кавычках нужно вписать свой логин. У меня получилось так: user="sk8er". Теперь добавим скрипт в автозагрузку и запустим его:

sudo chmod 755 /etc/init.d/rtorrent
sudo update-rc.d rtorrent defaults
sudo /etc/init.d/rtorrent start

Вот и всё. Для проверки я ещё перезагрузил сервер, что бы убедиться, что автозагрузка работает.

Защита ruTorrent

Специально для тех, у кого открыт 80-ый порт на сервере. Если так, то ruTorrent доступен в интернете и любой желающий может сделать что угодно с вашими раздачами, что довольно плохо. Решение простое - поставить авторизацию. Создадим в папке с ruTorrent файл .htaccess с содержанием:

1
2
3
4
AuthUserFile /home/sk8er/www/rutorrent/.htpasswd
AuthName "ruTorrent login"
AuthType Basic
Require Valid-User

Строчку /home/sk8er/www/rutorrent/ измените на адрес на вашем сервере до rutorrent. Теперь создадим файл с паролем. Вводим команду:

htpasswd -c htpasswd имя_пользователя

Вместо имя_пользователя вводим любой логин, на пример rtorrent. После нужно будет 2 раза ввести пароль, что и делаем. Всё, теперь перезапускаем Apache и пытаемся зайти на страничку с клиентом. Если появилось окно для логина - всё сделано верно.

Возможно я что то пропустил. Если у вас возникли какие-либо проблемы можете задать вопрос тут: ubuntovod.ru/ask.

Макс Авдеев
2011-12-01 14:29:00
"север у меня не слишком сильный" Так усиль свой север!)))))
Zegi
2011-12-01 14:39:00
Надо бы добавить маленький абзац в начале о том, что это вообще за проги и зачем они нужны. Это для того, что бы ставить на закачку файлы на удалённом компьютере?
Sk8er
2011-12-01 15:58:00
Думал из названия ясно. rTorrent - это торрент клиент серверный, а ruTorrent веб-морда для него
Sk8er
2011-12-01 15:58:00
Где взять денег на апгрейд?
Sk8er
2011-12-01 16:04:00
но всё таки добавил описание)
bocxod58
2012-02-01 16:17:00
Выполнить до первой команды, sudo apt-get install python-software-propertiesинче будет жаловаться на add-apt-repository
bocxod
2012-02-01 17:01:00
Апач без sudo apt-get install apache2-mpm-worker не поднимется
bocxod
2012-02-01 17:06:00
После чего включить модуль sudo a2enmod scgi
MiG_08
2012-12-18 01:01:00
Отличная статья, но есть замечание - как дело доходит до скачивания веб морды терминал говорит что команду svn он не знает. Решается так - sudo apt-get install subversion
alex
2013-01-10 15:53:00
Ох и мануал... беда просто, sudo apt-get install screen не забудьте
snakebig
2013-04-08 23:56:00
сделал всё как описано в статье, а в итоге - БОЛТ! аффтар кросафчег, косячеть умеет!