Гид по технологиям

Как собрать цветной rTorrent из SVN в Ubuntu 10.10 Maverick Meerkat / Debian 6 Squeeze с ruTorrent

5 min read HowTo Обновлено 23 Nov 2025
Сборка цветного rTorrent из SVN в Ubuntu/Debian
Сборка цветного rTorrent из SVN в Ubuntu/Debian

Автор: Stephan Jau
Ревизия: v1.0
Последнее изменение: 19 фев 2011

Введение

rTorrent — консольный BitTorrent-клиент, лёгкий по ресурсам и при этом функциональный. Многие предпочитают управлять им по SSH (в сочетании с screen), но существуют и веб-интерфейсы, например ruTorrent. В этой инструкции описана сборка rTorrent из SVN с патчами для цветного CLI и показа статистики трекера, а также указано, что ruTorrent будет работать за принудительным SSL с паролем в Apache.

Эта инструкция проверена для Ubuntu 10.10 Maverick Meerkat и Debian 6 Squeeze. Отличие: в Debian команды, содержащие sudo, предполагается выполнять от root (без sudo).

Я предполагаю, что вы будете скачивать и компилировать исходники в ~/svn/rtorrent.

Быстрые примечания

Important: сохраняйте порядок шагов — сначала xmlrpc-c, затем libtorrent, затем rtorrent.
Note: в тексте указаны номера ревизий и URL-адреса, использованные при написании инструкции; они приведены в разделе «Факты».

Установка зависимостей и подготовка

Ниже перечислены все шаги оригинальной инструкции. Команды оставлены в исходном виде.

1. Удалите текущую установку rtorrent

sudo apt-get remove rtorrent libtorrent*

2. Установите необходимые пакеты

sudo apt-get install build-essential autoconf apache2 automake libtool libncurses5-dev libncursesw5-dev libcurl4-openssl-dev screen openssl php5 php5-cli libapache2-mod-php5 curl libcppunit-dev libsigc++-2.0-dev subversion php5-cgi libapache2-mod-scgi

3. Создайте папку svn

mkdir ~/svn

4. Перейдите в папку svn

cd ~/svn

Текущая локация: /home/USER/svn

5. Получите исходники xmlrpc через svn

svn co https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced/ xmlrpc-c

Текущая ревизия xmlrpc в исходной инструкции: 2090.

6. Перейдите в папку xmlrpc-c

cd xmlrpc-c

Текущая локация: /home/USER/svn/xmlrpc-c

7. Конфигурирование xmlrpc-c

./configure --disable-cplusplus

8. Сборка xmlrpc-c

make

9. Установка xmlrpc-c

sudo make install

10. Создайте папку для rtorrent

mkdir ~/svn/rtorrent

11. Перейдите в папку rtorrent

cd ~/svn/rtorrent

Текущая локация: /home/USER/svn/rtorrent

12. Получите исходники rtorrent через svn

svn co svn://rakshasa.no/libtorrent/trunk

Текущая ревизия rtorrent в исходной инструкции: 1191.

13. Перейдите в trunk

cd trunk

Текущая локация: /home/USER/svn/rtorrent/trunk

14. Скачайте патчи

Патч для цветовой подсветки интерфейса:

wget http://www.simplylinux.ch/rtorrent/canvas-color_1191.patch

Описание: патч добавляет цветовую дифференциацию завершённых/незавершённых и активных/неактивных загрузок в CLI-интерфейсе rTorrent.

Патч для статистики трекера (seeders/leechers/completed):

wget http://www.simplylinux.ch/rtorrent/trackerinfo.patch

Описание: показывает данные от трекера в виде счётчиков; может быть неточным, но полезен для быстрой оценки наличия пиров.

15. Примените патчи

Цветовой патч:

patch -p0 < canvas-color_1191.patch

Патч статистики трекера:

patch -p0 < trackerinfo.patch

16. Перейдите в папку libtorrent

cd libtorrent

Текущая локация: /home/USER/svn/rtorrent/trunk/libtorrent

17. Запустите автоген-скрипт

./autogen.sh

18. Конфигурирование libtorrent

./configure

19. Сборка libtorrent

make

20. Установка libtorrent

sudo make install

21. Добавьте /usr/local/lib в /etc/ld.so.conf

echo "include /usr/local/lib" | sudo tee -a /etc/ld.so.conf

22. Обновите кеш ld.so

sudo ldconfig

23. Перейдите в папку rtorrent

cd ../rtorrent

Текущая локация: /home/USER/svn/rtorrent/trunk/rtorrent

24. Запустите autogen.sh

./autogen.sh

25. Конфигурирование rtorrent

./configure --with-xmlrpc-c

26. Сборка rtorrent

make

27. Установка rtorrent

sudo make install

После сборки — краткий план для ruTorrent и Apache

  1. Установите ruTorrent в каталог webroot (обычно /var/www или /srv/www) и настройте права пользователя, под которым запускается rtorrent.
  2. Настройте Apache для проксирования SCGI (libapache2-mod-scgi) и задействуйте SSL (mod_ssl) — создайте виртуальный хост с принудительным перенаправлением на HTTPS и защитой базовой авторизацией (Basic Auth) или другим способом.
  3. В настройке ruTorrent укажите путь к XML-RPC интерфейсу rtorrent (scgi порт/Unix socket) и проверьте работоспособность через браузер.

Важно: конкретные конфигурационные файлы Apache и ruTorrent зависят от вашей инфраструктуры и политики безопасности.

Факты и ссылки (из инструкции)

Когда это не сработает — типичные проблемы и решения

  • Проблема: ./configure не находит xmlrpc-c.
    Решение: убедитесь, что xmlrpc-c успешно установлен в /usr/local и выполните sudo ldconfig; при необходимости укажите –with-xmlrpc-c=/usr/local при конфигурировании rTorrent.

  • Проблема: патч не применяется (конфликты).
    Решение: проверьте ревизию исходников — патчи адаптированы под rev 1191; для других ревизий потребуется обновлённый патч или ручная правка.

  • Проблема: ruTorrent не подключается к rTorrent.
    Решение: проверьте, запущен ли rTorrent с опцией SCGI/XML-RPC и совпадают ли путь/порт сокета в конфиге ruTorrent.

  • Проблема: Apache не обслуживает SCGI.
    Решение: убедитесь, что модуль libapache2-mod-scgi загружен и виртуальный хост корректно проксирует scgi-запросы.

Альтернативные подходы

  • Установка из пакетов дистрибутива (apt) — быстрее, но без последних патчей и кастомных изменений.
  • Использование сборки из tarball релиза вместо SVN — стабильнее для прод-сред.
  • Запуск rTorrent в контейнере (LXC/Docker) — изоляция и упрощённая миграция.

Краткая методология (SOP) для повторяемой сборки

  1. Подготовьте чистую систему и установите зависимости.
  2. Скачайте исходники в ~/svn в отдельные папки.
  3. Скомпилируйте xmlrpc-c → установите.
  4. Скачайте rtorrent/libtorrent, примените патчи, затем соберите libtorrent и установите.
  5. Обновите ld.so, соберите rTorrent с флагом –with-xmlrpc-c.
  6. Проверка: запустите rTorrent, проверьте работу CLI и цветной вывод, затем настройте ruTorrent и Apache.

Контроль качества и критерии приёмки

  • rTorrent успешно запускается и показывает цветной интерфейс в терминале.
  • Команда make install завершилась без ошибок для xmlrpc-c, libtorrent, rtorrent.
  • ruTorrent подключается к rTorrent через SCGI/XML-RPC, и Apache обслуживает HTTPS с авторизацией.

Руководство для ролей

  • Сисадмин: подготовка пакетов, настройка Apache/SSL, управление пользователями и правами.
  • Dev/Ops: сборка из SVN, тестирование сборки и интеграции с ruTorrent.
  • Оператор: запуск/перезапуск rTorrent, мониторинг логов, проверка доступности ruTorrent.

Глоссарий (1 строка)

  • SCGI — протокол для передачи запросов web-сервера к процессам приложений (используется rTorrent/ruTorrent).
  • XML-RPC — удалённый вызов процедур в формате XML для взаимодействия ruTorrent и rTorrent.

Резюме

Эта инструкция шаг за шагом описывает сборку цветного rTorrent из SVN с двумя полезными патчами и установку зависимостей. Она полезна при необходимости кастомных изменений в клиенте и интеграции с ruTorrent за Apache/SSL. Если вам нужна помощь с конфигурацией Apache/ruTorrent (виртуальные хосты, SSL, .htaccess, проксирование SCGI), можно подготовить отдельное руководство под вашу систему.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Разрешить сохранение пароля на сайтах
Безопасность

Разрешить сохранение пароля на сайтах

Как твитить с обычного мобильного телефона
Мобильные советы

Как твитить с обычного мобильного телефона

Как подключить PSP к интернету
Гайд

Как подключить PSP к интернету

Свой цвет для панели задач и Пуск в Windows 10
Windows

Свой цвет для панели задач и Пуск в Windows 10

Создать блог на Jekyll и GitHub Pages
Web

Создать блог на Jekyll и GitHub Pages

Как сохранить фото из iMessage на iPhone и Mac
Руководство

Как сохранить фото из iMessage на iPhone и Mac