Installation von rTorrent & ruTorrent mit nginx auf Debian 9 (stretch)

Durch | 15. August 2021

Wir richten ein Debian 9 (Stretch)-System füt eine Seedbox, auf Grund auf mit rTorrent/libTorrent, ruTorrent und Nginx ein.

1. Pakete installieren

ohne einige Pakete können wir hier nicht anfangen….

als erstes:

apt-get update
apt-get upgrade

apt-get install nginx php7.0-fpm nano apache2-utils subversion git screen build-essential automake libtool libcppunit-dev libcurl3 libsigc++-2.0-dev curl unrar-free unzip libncurses5-dev libfuse-dev libcurl4-openssl-dev libxml++2.6-dev php7.0-cli php7.0-mbstring libssl-dev mediainfo

 

2. Benutzer erstellen

Wir brauchen einen Benutzer, um rTorrent auszuführen. Sie können es beliebig benennen, aber wenn Sie etwas anderes gewählt haben, denken Sie daran, die Konfigurationen im Rest dieser Anleitung anzupassen.

useradd rutorrent
mkdir -p /home/rutorrent
usermod -a -G rutorrent www-data
usermod -a -G www-data rutorrent

 

3. XMLRPC-C installieren

Diese wird für die Kommunikation zwischen nginx und rTorrent benötigt.

git clone https://github.com/mirror/xmlrpc-c.git
cd xmlrpc-c/stable/
./configure --disable-cplusplus
make
make install

 

4. libtorrent installieren

git clone -b feature-bind https://github.com/rakshasa/libtorrent.git
cd libtorrent
./autogen.sh
./configure --disable-instrumentation
make
make install

 

5. rTorrent installieren

Kopieren und kompilieren. Wir müssen sicherstellen, dass wir –with-xmlrpc-c konfigurieren. 

git clone -b feature-bind https://github.com/rakshasa/rtorrent.git
cd rtorrent
./autogen.sh
./configure --with-xmlrpc-c
make
make install
ldconfig

 

6. Installieren und konfigurieren Sie ruTorrent

Dieser ist einfach. Wir müssen nur das Git-Repository in /var/www kopieren

mkdir -p /var/www
cd /var/www
git clone https://github.com/Novik/ruTorrent.git
chown -R www-data:www-data /var/www

 

jetzt bearbeiten wir die conf/config.php

 

$topDirectory = "/home/rutorrent"
$scgi_port = 5000;
$scgi_host = "127.0.0.1"


$pathToExternals = array(
                "php"   => '/usr/bin/php',                  // Something like /usr/bin/php. If empty, will be found in PATH.
                "curl"  => '/usr/bin/curl',     // Something like /usr/bin/curl. If empty, will be found in PATH.
                "gzip"  => '/usr/bin/gzip',                  // Something like /usr/bin/gzip. If empty, will be found in PATH.
                "id"    => '/usr/bin/id',                  // Something like /usr/bin/id. If empty, will be found in PATH.
                "stat"  => '/usr/bin/stat',     // Something like /usr/bin/stat. If empty, will be found in PATH.
                "unrar"  => '/usr/bin/unrar-free',     // Something like /usr/bin/unrar-free. If empty, will be found in PATH.
                "unzip"  => '/usr/bin/unzip',     // Something like /usr/bin/unzip. If empty, will be found in PATH.
        );

 

die curl- und die stat-Einstellungen müssen gesetzt werden, sonst würde RSS nicht funktionieren.

7. Nginx konfigurieren

Jetzt erstellen wir eine Site-Konfiguration für ruTorrent. Erstellen und bearbeiten Sie einfach diese Datei: /etc/nginx/sites-enabled/rutorrent

server {
  listen 80;
  server_name localhost;

  root /var/www/ruTorrent;
  index index.html index.htm index.php;

  auth_basic "Restricted";
  auth_basic_user_file /etc/nginx/.htpasswd;

  location / {
    try_files $uri $uri/ =404;
  }

  location /RPC2 {
    include /etc/nginx/scgi_params;
    scgi_pass 127.0.0.1:5000;
  }

  location ~ .php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
  }
}

mit STRG + O abspeichern, ENTER, und mit STRG + X Schließen.

wir wollen es auch passwortgeschützt oder Sie möchten, dass die Welt alle Ihre „Linux-ISOs“ sieht? rutorrent kann beliebigt als benutzen von ihnen gewechselt werden.

htpasswd -c /etc/nginx/.htpasswd rutorrent

jetzt die Standardeinstellungen löschen und nginx und php5-fpm neu starten

rm -f /etc/nginx/sites-enabled/default
service nginx restart && service php7.0-fpm restart

8. rTorrent konfigurieren

Jetzt müssen wir rTorrent konfigurieren. Hier ist ein Beispiel ~/.rtorrent.rc Sie können es ändern, aber die SCGI-Socket-Zeile nicht löschen. 

mit nano /home/rutorrent/.rtorrent.rc anlegen und folgendes abspeichern:

# ----------------------------------------------------------------------
# BitTorrent
# ----------------------------------------------------------------------

throttle.global_down.max_rate.set = 0
throttle.global_up.max_rate.set   = 0
throttle.max_peers.normal.set     = 200
throttle.max_peers.seed.set       = -1
throttle.max_uploads.global.set   = 200
throttle.min_peers.normal.set     = 1
throttle.min_peers.seed.set       = -1

# ----------------------------------------------------------------------
# Directories
# ----------------------------------------------------------------------

directory                        = /home/rutorrent/
session                          = /home/rutorrent/.session
#schedule                        = watch_directory,5,5,load_start=/root/rtorrent/watch/*.torrent
encoding.add                     = UTF-8

# ----------------------------------------------------------------------
# Network
# ----------------------------------------------------------------------

network.port_range.set           = 10001-11000
network.scgi.open_port           = 127.0.0.1:5000
network.port_random.set          = yes
network.tos.set                  = throughput
protocol.pex.set                 = no
trackers.use_udp.set             = yes

encryption                       = allow_incoming,try_outgoing,enable_retry

# ----------------------------------------------------------------------
# Hash
# ----------------------------------------------------------------------

pieces.hash.on_completion.set    = no
check_hash                       = no

mit STRG + O abspeichern, ENTER, und mit STRG + X Schließen.

Danach müssen wir das .session-Verzeichnis erstellen.

mkdir -p /home/rutorrent/.session
chown -R rutorrent:rutorrent /home/rutorrent/
chown -R rutorrent:rutorrent /home/rutorrent/.rtorrent.rc

9. rTorrent-Autostart konfigurieren

Viele Leute werden Ihnen sagen, dass Sie dafür ein Init-Skript schreiben sollen, aber das ist IMHO übertrieben. Ich bevorzuge /etc/rc.local

start-stop-daemon --start --chuid rutorrent --name rtorrent --exec /usr/bin/screen -- -fa -d -m /usr/local/bin/rtorrent

 

HINWEIS: In diesem Setup ist kein ffmpeg installiert, daher beschwert sich ruTorrent immer darüber. Ich brauche es nicht, wenn Sie es möchten, können Sie es mit dem DebianMultimedia Repo installieren.

Viel Spaß damit.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.