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

Настройка rTorrent и ruTorrent на сервере

• 5 min read • Инструкции • Обновлено 23 Nov 2025
rTorrent + ruTorrent: настройка на сервере
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.gz

33. Распакуйте ruTorrent

tar xvzf rutorrent-3.2.tar.gz

34. Перейдите в папку ruTorrent

cd rutorrent

Текущая директория: /var/www/rutorrent

35. Создайте файл .htaccess

touch .htaccess

36. Поставьте права на .htaccess

chmod 0755 .htaccess

36. Отредактируйте .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/rutorrent

37. Включите модули Apache

sudo a2enmod ssl auth_digest scgi rewrite

38. Дополните apache2.conf

echo "SCGIMount /rutorrent/RPC2 127.0.0.1:5000" | sudo tee -a /etc/apache2/apache2.conf
echo "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 restart

44. Проверьте доступ

rTorrent должен быть уже запущен; если нет — запустите его. Затем в браузере откройте:

http://SERVER_IP/rutorrent

Вы будете автоматически перенаправлены на HTTPS и увидите предупреждение о сертификате (так как он самоподписан). После подтверждения браузера появится окно аутентификации Digest (пользователь/пароль из шага 42). При успешном вводе вы попадёте в веб-интерфейс ruTorrent.

Наслаждайтесь

Цветной интерфейс rTorrent в 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.

Мини-методология проверки (быстрый план тестирования)

  1. Убедитесь, что rTorrent стартует без ошибок в консоли screen.
  2. Проверьте, что порт 5000 прослушивается: sudo ss -lntp | grep 5000
  3. Проверьте, что Apache видит SCGIMount и модуль scgi включён.
  4. Попробуйте curl локально: curl -I http://127.0.0.1/rutorrent
  5. Откройте сайт по 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. Включённый контрольный список и разделы с типичными ошибками помогут быстро отладить установку.

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

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро