Как собрать цветной rTorrent из SVN в Ubuntu 10.10 Maverick Meerkat / Debian 6 Squeeze с ruTorrent
Автор: 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-scgi3. Создайте папку svn
mkdir ~/svn4. Перейдите в папку 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-cplusplus8. Сборка xmlrpc-c
make9. Установка xmlrpc-c
sudo make install10. Создайте папку для rtorrent
mkdir ~/svn/rtorrent11. Перейдите в папку 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.patch16. Перейдите в папку libtorrent
cd libtorrentТекущая локация: /home/USER/svn/rtorrent/trunk/libtorrent
17. Запустите автоген-скрипт
./autogen.sh18. Конфигурирование libtorrent
./configure19. Сборка libtorrent
make20. Установка libtorrent
sudo make install21. Добавьте /usr/local/lib в /etc/ld.so.conf
echo "include /usr/local/lib" | sudo tee -a /etc/ld.so.conf22. Обновите кеш ld.so
sudo ldconfig23. Перейдите в папку rtorrent
cd ../rtorrentТекущая локация: /home/USER/svn/rtorrent/trunk/rtorrent
24. Запустите autogen.sh
./autogen.sh25. Конфигурирование rtorrent
./configure --with-xmlrpc-c26. Сборка rtorrent
make27. Установка rtorrent
sudo make installПосле сборки — краткий план для ruTorrent и Apache
- Установите ruTorrent в каталог webroot (обычно /var/www или /srv/www) и настройте права пользователя, под которым запускается rtorrent.
- Настройте Apache для проксирования SCGI (libapache2-mod-scgi) и задействуйте SSL (mod_ssl) — создайте виртуальный хост с принудительным перенаправлением на HTTPS и защитой базовой авторизацией (Basic Auth) или другим способом.
- В настройке ruTorrent укажите путь к XML-RPC интерфейсу rtorrent (scgi порт/Unix socket) и проверьте работоспособность через браузер.
Важно: конкретные конфигурационные файлы Apache и ruTorrent зависят от вашей инфраструктуры и политики безопасности.
Факты и ссылки (из инструкции)
- xmlrpc-c SVN: https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced/ (ревизия в инструкции: 2090)
- rtorrent SVN: svn://rakshasa.no/libtorrent/trunk (ревизия в инструкции: 1191)
- Патчи: http://www.simplylinux.ch/rtorrent/canvas-color_1191.patch и http://www.simplylinux.ch/rtorrent/trackerinfo.patch
Когда это не сработает — типичные проблемы и решения
Проблема: ./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) для повторяемой сборки
- Подготовьте чистую систему и установите зависимости.
- Скачайте исходники в ~/svn в отдельные папки.
- Скомпилируйте xmlrpc-c → установите.
- Скачайте rtorrent/libtorrent, примените патчи, затем соберите libtorrent и установите.
- Обновите ld.so, соберите rTorrent с флагом –with-xmlrpc-c.
- Проверка: запустите 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), можно подготовить отдельное руководство под вашу систему.
Похожие материалы
Разрешить сохранение пароля на сайтах
Как твитить с обычного мобильного телефона
Как подключить PSP к интернету
Свой цвет для панели задач и Пуск в Windows 10
Создать блог на Jekyll и GitHub Pages