Настройка rTorrent и ruTorrent на сервере
Кратко (TL;DR)
Копируйте шаблон .rtorrent.rc, добавьте параметры для ruTorrent и цветов, создайте каталоги загрузки/сессии, запустите rTorrent в screen. Установите ruTorrent в /var/www, настройте Apache (SCGI, SSL, Digest Auth) и проверьте доступ по HTTPS. Внизу — чеклист, советы по отладке и альтернативы.
28. Скопируйте и расширьте конфигурацию rTorrent
Если в вашей домашней папке ещё нет файла .rtorrent.rc, сначала скопируйте дефолтный шаблон:
cp ~/subversion/rtorrent/trunk/rtorrent/doc/rtorrent.rc ~/.rtorrent.rcЧтобы ruTorrent корректно отображал цвета и работал через SCGI, добавьте в конец ~/.rtorrent.rc следующие опции:
http_capath=/etc/ssl/certs
scgi_port = 127.0.0.1:5000
encoding_list = UTF-8
# Color / Canvas patch
done_fg_color = 2
#done_bg_color = 2
active_fg_color = 1
#active_bg_color = 4
Дополнительно рекомендуется добавить фильтры и расписания видов:
schedule = filter_active,10,10,"view_filter = active,\"or={d.get_up_rate=,d.get_down_rate=}\""
view_sort_new = seeding,less=d.get_message=
schedule = filter_seeding,30,30,"view_filter = seeding,d.get_message=; view_sort = seeding"
Первый schedule изменяет вид так, чтобы показывались только активные торренты. Второй и view_sort помогают выявлять «необычные» ответы трекера — удобно для поиска проблемных задач в rTorrent.
Важно создать каталоги для загрузок и сессии и указать их в .rtorrent.rc. Без них rTorrent не сможет сохранять данные.
Примечание: подробности по rTorrent (watch dirs, move on completion) описаны в разделе Common Tasks документации rTorrent.
29. Запустите rTorrent
screen rtorrentЗапуск в screen полезен, чтобы процесс оставался в фоне и его можно было подключать/отключать.
30. Создайте SSL-сертификат
sudo openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pemЭтот самоподписанный сертификат пригоден для локальной установки и тестирования. Браузер выдаст предупреждение — это нормально для самоподписанного cert.
31. Перейдите в веб-папку
cd /var/wwwТекущая директория: /var/www
32. Скачайте ruTorrent
wget http://rutorrent.googlecode.com/files/rutorrent-3.2.tar.gz33. Распакуйте ruTorrent
tar xvzf rutorrent-3.2.tar.gz34. Перейдите в папку ruTorrent
cd rutorrentТекущая директория: /var/www/rutorrent
35. Создайте файл .htaccess
touch .htaccess36. Поставьте права на .htaccess
chmod 0755 .htaccess36. Отредактируйте .htaccess
Добавьте в .htaccess следующее содержимое, чтобы перенаправлять HTTP на HTTPS:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}34. Перейдите в папку конфигурации ruTorrent
cd confТекущая директория: /var/www/rutorrent/conf
35. Отредактируйте config.php
Замените
$XMLRPCMountPoint = "/RPC2";на
$XMLRPCMountPoint = "/rutorrent/RPC2";Это указывает ruTorrent ожидать SCGI на пути /rutorrent/RPC2.
36. Смените владельца ruTorrent на Apache
sudo chown -R www-data:www-data /var/www/rutorrent37. Включите модули Apache
sudo a2enmod ssl auth_digest scgi rewrite38. Дополните apache2.conf
echo "SCGIMount /rutorrent/RPC2 127.0.0.1:5000" | sudo tee -a /etc/apache2/apache2.confecho "servername localhost" | sudo tee -a /etc/apache2/apache2.confПервая строка монтирует SCGI-запросы для ruTorrent на локальный порт 5000, где слушает rTorrent.
39. Перейдите в каталог sites-enabled Apache
cd /etc/apache2/sites-enabledТекущая директория: /etc/apache2/sites-enabled
40. Отредактируйте 000-default
Вставьте после блока
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
следующий блок:
AllowOverride All
Order allow,deny
allow from all
Это гарантирует, что .htaccess внутри rutorrent будет применён и редирект на HTTPS сработает.
41. Добавьте виртуальный хост для HTTPS
Всё ещё редактируя 000-default, добавьте в конец файл этот блок (замените SERVER_IP на IP вашего сервера):
ServerAdmin webmaster@localhost
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem
DocumentRoot /var/www/
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
AuthType Digest
AuthName "rtorrent"
AuthDigestDomain /var/www/rutorrent/ http://SERVER_IP/rutorrent
AuthDigestProvider file
AuthUserFile /etc/apache2/passwords
Require valid-user
SetEnv R_ENV "/var/www/rutorrent"
Замените SERVER_IP на IP вашего сервера.
42. Добавьте себя в файл авторизации Digest
sudo htdigest -c /etc/apache2/passwords rtorrent USERЗамените USER на желаемое имя пользователя. После ввода команды вас попросят задать пароль и подтвердить его.
43. Перезапустите Apache
sudo service apache2 restartПользователям Debian (старые версии) может потребоваться:
/etc/init.d/apache2 restart44. Проверьте доступ
rTorrent должен быть уже запущен; если нет — запустите его. Затем в браузере откройте:
http://SERVER_IP/rutorrentВы будете автоматически перенаправлены на HTTPS и увидите предупреждение о сертификате (так как он самоподписан). После подтверждения браузера появится окно аутентификации Digest (пользователь/пароль из шага 42). При успешном вводе вы попадёте в веб-интерфейс ruTorrent.
Наслаждайтесь

Контрольный список администратора (быстрая проверка)
- .rtorrent.rc создан и содержит scgi_port = 127.0.0.1:5000
- Заданы каталоги загрузки и сессии и созданы на диске
- rTorrent запущен в screen
- ruTorrent распакован в /var/www/rutorrent
- Права www-data для /var/www/rutorrent
- Apache модули ssl, auth_digest, scgi, rewrite включены
- SCGIMount добавлен в apache2.conf
- .htaccess содержит редирект на HTTPS и AllowOverride разрешён
- SSL-сертификат создан и путь в виртуальном хосте правильный
- Пользователь добавлен в /etc/apache2/passwords через htdigest
- Apache перезапущен и страница /rutorrent доступна по HTTPS
Когда это может не работать (типичные причины и решения)
- rTorrent не слушает порт 5000: проверьте scgi_port в .rtorrent.rc и что rTorrent запущен.
- Права доступа: директории /var/www/rutorrent и файлы должны принадлежать www-data.
- Apache не монтирует SCGI: проверьте, что строка SCGIMount присутствует в /etc/apache2/apache2.conf и модуль scgi включён.
- .htaccess игнорируется: убедитесь, что в конфиге Apache для /var/www/rutorrent AllowOverride All.
- Проблемы аутентификации: проверьте формат файла /etc/apache2/passwords и корректность команды htdigest.
- Браузер блокирует смешанный контент: всегда переходите на https://SERVER_IP/rutorrent.
Альтернативные подходы
- Использовать nginx + fcgiwrap/uwsgi и SCGI проксирование вместо Apache.
- Заменить самоподписанный сертификат на сертификат от Let’s Encrypt для устранения предупреждений браузера.
- Если нужен простой веб-клиент, можно рассмотреть Transmission Web UI или Deluge с WebUI.
Мини-методология проверки (быстрый план тестирования)
- Убедитесь, что rTorrent стартует без ошибок в консоли screen.
- Проверьте, что порт 5000 прослушивается: sudo ss -lntp | grep 5000
- Проверьте, что Apache видит SCGIMount и модуль scgi включён.
- Попробуйте curl локально: curl -I http://127.0.0.1/rutorrent
- Откройте сайт по HTTPS и проверьте окно аутентификации и доступность интерфейса.
Безопасность и рекомендации
- Для боевого сервера используйте сертификат от доверенного центра (Let’s Encrypt или коммерческий).
- Ограничьте доступ к веб-интерфейсу через брандмауэр или VPN при необходимости.
- Регулярно обновляйте пакеты Apache, rTorrent и ruTorrent.
- Храните пароли и файлы конфигурации с ограниченными правами (chmod 640/600).
Краткая справка (глоссарий)
- rTorrent — консольный BitTorrent-клиент, основанный на libtorrent.
- ruTorrent — веб-интерфейс для управления rTorrent через XMLRPC/SCGI.
- SCGI — простой протокол между веб-сервером и back-end (аналог FastCGI).
- Digest Auth — схема HTTP-аутентификации с хешированием паролей (htdigest).
Резюме
Следуйте шагам: скопируйте и отредактируйте .rtorrent.rc, запустите rTorrent в screen, установите ruTorrent в /var/www, настройте Apache (SCGI, SSL и Digest Auth) и проверьте доступ по HTTPS. Включённый контрольный список и разделы с типичными ошибками помогут быстро отладить установку.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента