Главная > IT > Rtorrent и ruTorrent на Ubuntu Server

Rtorrent и ruTorrent на Ubuntu Server

Ершов Илья
Сервер для загрузки торрентов с web-интерфейсом
11 августа 2010

В связи с большим количеством свободного на работе времени, я озадичился той проблемой, что ночью быстрый интернет в конторе просто простаивает.
«Надо это исправить» — решил я. Чем занять интернетик ночью? Естественно, закачкой торрентов.
Сказано — сделано.

Решил остановиться на связке Rtorrent с ruTorrent и повесить все это дела на apache.
В сети полно сайтов, форумов и просто страниц, где идут бурные обсуждения, как это все настраивать. У одних получается, у других нет. Я решил выложить здесь свой вариант развития событий.
Итак, приступим.
Apache2 у меня уже установлен. Ставил LAMP-сервер.
Ставим нужные пакеты:

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

Собираем необходимые пакеты. Ставим из исходников с официального сайта rtorrent —. Пакет xmlrpc-c, необходимый для работы rtorrent с web-интерфейсом, забираем из SVN.

cd /tmp
wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.6.tar.gz
tar xzvf libtorrent-0.12.6.tar.gz
cd libtorrent-0.12.6
sudo ./configure —prefix=/usr
sudo make && sudo make install
cd ..
svn checkout http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced xmlrpc-c
cd xmlrpc-c
sudo ./configure —prefix=/usr
sudo make && sudo make install
cd ..
wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.6.tar.gz
tar xzvf rtorrent-0.8.6.tar.gz
cd rtorrent-0.8.6
sudo ./configure —prefix=/usr —with-xmlrpc-c
sudo make && sudo make install

Добавляем пользователя, от имени которого будет работать rtorrent:

useradd -d /home/rtorrent -m -s /bin/bash rtorrent
passwd rtorrent

Заходим под его логином и создаем необходимые каталоги:

su rtorrent
cd ~
mkdir watch
mkdir sessions
mkdir torrents
exit

Создаем конфигурационный файл для rtorrent:

cp /tmp/rtorrent-0.8.6/doc/rtorrent.rc /home/rtorrent/.rtorrent.rc
chown rtorrent:rtorrent /home/rtorrent/.rtorrent.rc

Редактируем его:

nano /home/rtorrent/.rtorrent.rc

Вот пример моего файла. Главное, чтобы параметр scgi_port был задан как localhost:5000

#минимальное число пиров на торрент
min_peers = 1
#максимальное число пиров на торрент
max_peers = 25
# Same as above but for seeding completed torrents (-1 = same as downloading)
#min_peers_seed = 10
max_peers_seed=5
#максимальная скорость загрузки
download_rate=500
#максимальная скорость отдачи. 0 — не ограничена
upload_rate=20
session = /home/rtorrent/sessions
#каталог для сохранения закачек или откуда буду сидироваться торренты.
directory = /home/rtorrent/torrents/
#rtorrent каждые 5 секунд проверяет этот каталог на новые *.torrent файлы
#и если они есть то ставит их на закачку
schedule = watch_directory,5,5,load_start=/home/rtorrent/watch/*.torrent
schedule = throttle_0,01:00:00,24:00:00,max_peers_seed=20
#С часа ночи скорость закачки отдачи идет без ограничения
schedule = throttle_2,01:00:00,24:00:00,download_rate=0
#С 10 утра скорость ограничивается
schedule = throttle_4,10:00:00,24:00:00,download_rate=50
#номер порта (или нескольких портов) который открывает клиент для обмена данными
port_range = 40890-40890
#случайный выбор порта для обмена данными
port_random = no
###сохранять сессию
session_save = yes
encryption = allow_incoming,try_outgoing
use_udp_trackers = yes
safe_sync=yes
scgi_port = localhost:5000
encoding_list = UTF-8

Добавляем необходимые для работы модули в apache2:

sudo a2enmod scgi
sudo a2enmod php5

После этого перезапускаем apache2 для применения изменений:

/etc/init.d/apache2 force-reload

Правим файл httpd.conf:

nano /etc/apache2/httpd.conf

Прописываем в нем следующее:

SCGIMount /RPC2 127.0.0.1:5000

Скрипт для автоматического запуска rtorrent возьмем с официального сайта:

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

Отредактируем его. Указав в параметре user имя созданного нами пользователя (в моем случае rtorrent)

nano /etc/init.d/rtorrent
user="rtorrent"

Добавим скрипт в автозагрузку при старте системы и запустим rtorrent:

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

Переходим к установке rutorrent и настройке. Версию будем забирать из SVN с официального сайта:

cd /var/www
sudo svn checkout http://rutorrent.googlecode.com/svn/trunk/rutorrent
cd rutorrent
chown www-data:www-data share/settings/
chown www-data:www-data share/torrents/

После этого опять перезапускаем apache2:

/etc/init.d/apache2 force-reload

Для входа в web-сервер используем путь http://server_ip/rutorrent

Использованные ресурсы:
1. How To Install rTorrent & ruTorrent on Ubuntu or Debian. Статья про настройку связки rtorrent и rutorrent с использованием lighttpd.
2. Собираем rTorrent из исходников. Собственно, как собрать rTorrent :-)
3. Настройка Apache2 для ruTorrent.
4. Starting rTorrent at system startup.
5. Rtorrent wiki

Реклама
Метки: , , ,
  1. 11.08.2010 в 14:57

    Молодец! У меня эту связку сразу настроить не получилось.
    Поэтому зачёт тебе! Так держать! :-)

  2. Pavel
    17.08.2010 в 13:54

    Когда наконец-то перестаните тупо перепечатывать с сайта на сайт нерабочие инструкции ?
    Rtorrent для убунты 10.04 уже собран с xmlrpc равно как и необходимая ему библиотека libtorrent-0.12.6 подтягивается deb-пакетом при установке rtorrent
    Нужно всего лишь дать команду :
    «aptitude install rtorrent» .
    Собирать из исходников как рекомендуют на сайте рторрента не нужно!!!

    • Ozzy
      17.08.2010 в 14:44

      Инструкция собственная. Собиралась на Ubuntu Server 8.04
      Если на 10.04 все так гладко — я очень рад.

    • 18.08.2010 в 13:02

      Pavel :
      Когда наконец-то перестаните тупо перепечатывать с сайта на сайт нерабочие инструкции ?
      Rtorrent для убунты 10.04 уже собран с xmlrpc равно как и необходимая ему библиотека libtorrent-0.12.6 подтягивается deb-пакетом при установке rtorrent
      Нужно всего лишь дать команду :
      «aptitude install rtorrent» .
      Собирать из исходников как рекомендуют на сайте рторрента не нужно!!!

      Как думаешь, Pavel, куда я первым делом пошёл, когда озадачился установкой rtorrent? Правильно, на сайт разработчика. И ты предлагаешь не ставить по их рекомендациям? Кому тогда верить? Ну ладно, это вопрос риторический.
      Когда у меня сразу не получилось установить, я начал гуглить на этот счет. И о ужас! Сколько инструкций — столько и вариантов установки. Одно (вернее три) только сходство — apt-get install rtorrent/rutorrent и т.п.
      Но только большинство инструкций ориентировано на lighttpd, у меня же апач.
      В общем после нескольких часов поиска за монитором и попыткой собрать все найденные инструкции в одно целое я сдался (новичок я в линуксе).
      И так бы и забил, но хорошо что Ozzy сделал инструкцию просто пошаговую. С её помощью я не просто настроил, но и понял как, где и главное зачем производится конкретная настройка.
      Так что отставить. Критика критикой, но инструкция рабочая. За что спасибо Ozzy.

  3. flanec
    02.09.2010 в 06:14

    Отличный мануал. Всё заработало. Единственное ± заменил на +- и длинное «-» на короткое «-«.Спасибо Ozzy!

  4. Aleks
    19.09.2010 в 20:55

    sudo make && sudo make install
    make: *** Не заданы цели и не найден make-файл. Останов.???

  5. Aleks
    19.09.2010 в 21:13

    вместо: sudo make && sudo make install
    сделать:
    sudo make
    sudo make install

  6. DFX
    21.10.2010 в 10:35

    Захожу на http://server_ip/rutorrent, вижу картинку http://s57.radikal.ru/i155/1009/57/2982ea61e8da.png, там написано «Нет связи с rTorrent. Проверьте, запущен ли он. Проверьте, что параметры $scgi_port и $scgi_host в файле config.php совпадают со значением переменной scgi_port в файле конфигурации rTorrent.». В config.php вроде всё в порядке.

    • Ozzy
      24.10.2010 в 22:18

      параметр надо проверить в файле .rtorrent.rc в каталоге пользователя, от имени которого rtorrent запускается.

  7. Nas
    09.04.2011 в 12:02

    checking for XMLRPC-C… failed
    configure: error: Could not compile XMLRPC-C test.
    проблемка — debian squeeze

  8. 24.04.2011 в 09:12

    Как ручную можно перезапустить торрент? Можно делать это через интерфейс того же mc ?

  9. Docent
    05.05.2011 в 06:46

    Во-первых, Ozzy, спасибо за разжеванную инструкцию по установке связки rtorrent+rutorrent. Всё пашет. И одно дополнение для этой статьи…

    В первом большом списке устанавливаемых пакетов не хватает еще один пакет: php5-cli. Он потребуется, когда будете установлены плагины для rutorrent: trafic и, если не путаю, create. Они отказываются работать без указанного установленного пакета.

    Еще раз спасибо. Всё работает уже как полгода…

  10. 22.10.2011 в 12:32

    кстати на хабре была статейка «почему не стоит ставить через make && make install, и я с нею согласен.

    если хотца свежих версий, то собрать собственный деб не так уж трудно, чего всем ирекомендую! :)

    у меня ве заработало с установкой из репозитария

  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: