-
Notifications
You must be signed in to change notification settings - Fork 0
Installation guide
https://rtorrent-docs.readthedocs.io/en/latest/cmd-ref.html#load-commands
für die Installtion von rTorrent werden zuerst einige Pakete aus dem Paketmanager Benötigt:
sudo apt-get install build-essential g++ libsigc++-2.0-dev pkg-config comerr-dev libcurl3-openssl-dev libidn11-dev libkrb5-dev libssl-dev zlib1g-dev libncurses5 libncurses5-dev subversion automake git
Bei einer Debian Minimal-Installation müsst ihr euch zusätzlich noch das Programm "make" besorgen
sudo apt-get install make
Nun brauchen wir noch die Quellcode-Pakete von rTorrent, libtorrent und xmlrpc-c
git clone https://github.com/rakshasa/rtorrent.git
git clone https://github.com/rakshasa/libtorrent.git
svn checkout http://svn.code.sf.net/p/xmlrpc-c/code/release_number/01.51.01/ xmlrpc-c_01.51.01
Weiter geht es damit, die Heruntergeladenen Pakete zu kompilieren.
Zuerst xmlrpc-c
cd xmlrpc-c_01.51.01
./configure
make
sudo make install
cd -
dann libtorrent
cd libtorrent
./autogen.sh
./configure
make
sudo make install
cd -
und als Letztes noch rTorrent (WatchOut: RPC Migration 0.9 | Comprehensive list of rTorrent 0.9 commands
cd rtorrent
./autogen.sh
./configure --with-xmlrpc-c
make
sudo make install
zum Schluss noch ldconfig ausführen damit alle libraries von rTorrent gefunden werden
sudo ldconfig
Wir legen einen neuen Benutzer, z.B. "rtorrent", an der zur Gruppe „users“ gehört und das Verzeichnis /home/rtorrent besitzt:
sudo adduser --home /home/rtorrent/ -shell /bin/bash --ingroup users rtorrent
Nun müsst Ihr noch im Home-Verzeichniss des rtorrent-Users (/home/rtorrent, wenn ihr genau nach Tutorial vorgegangen seid) eine .rtorrent.rc anlegen und füllen. Dazu könnt ihr entweder eine rTorrent.rc mit Hilfe der rTorrent-Homepage erstellen und den SCGI-Mount hinzufügen.
scgi_port = localhost:5000
** Alternativ könnt ihr die rtorrent.rc aus dem Support-Paket einfach an die richtige Stelle kopieren und diese Anpassen. Die wichtigsten Parameter zur Nutzung auf einem ALT sind genauso voreingestellt wie Andere Sachen. **
da rTorrent standardmäßig nicht in den Hintergrund forked, sprich immer im Vordergrund bleibt und somit auch beim beenden der Bash stirbt, müssen wir ein bisschen drumrumarbeiten. Für Debian-User ist es das einfachste, das rtorrent Script aus dem Support-Package zu nehmen und nach /etc/init.d/ zu verschieben. Anschließend kann mann mit
service rtorrent start
und
service rtorrent stop
das starten, bzw. beenden von rtorrent steuern.
Alternativ könnt ich rTorrent mit dtach oder screen starten und dann mit einer Tastenkombination Hintergrund schicken. Anschließend kann man rTorrent mit einem bestimmten Befehl wieder in den Vordergrund holen.
Anmerkung: dtach hasst scheinbar Tastaturen. Die Pfeiltasten gehen nicht und es werden teilweise so lustige Tastenkombos wie "strg +/" verlangt (mit einer deutschen Tastatur unmöglich). Allerdings verbraucht es weniger RAM als screen. Wenn ihr aber sowohl mit Konsole als auch mit Webfrontend arbeiten wollt, sei euch screen dringenst ans Herz gelegt. Ansonsten könnt ihr ruhig dtach nach dem Motto "Hauptsache es läuft" benutzen.
Um später rtorrent in der Konsole aufzurufen müsst ihr folgendes entweder als root oder als der User, unter dem rtorrent gestartet wurde, ausführen:
dtach -a /tmp/rtorrent.dtach -e ^Y
Mit „strg + y“ könnt ihr den rtorrent Bildschirm wieder verlassen. Die Kombination "strg + y" könnt ihr ändern, je nachdem, was ihr hinter "-e" schreibt.
Wenn euch das zu kompliziert ist, könnt ihr auch diesen neuen Eintrag in der ~/.bashrc des betreffenden Users erstellen:
alias rtorrent="dtach -a /tmp/rtorrent.dtach -e ^Y"
Jetzt wird der Befehl „rtorrent“ auf den Befehl „ dtach -a /tmp/rtorrent.dtach -e ^Y“ quasi umgeleitet. Es genügt also ein „rtorrent“ um den rtorrent-Bildschirm zu öffnen.
aktuelle alternative: https://wiki.archlinux.org/index.php/RTorrent#With_screen
** Vorerst nur für Firsts Gentoo-Runscript ** Eigentlich ganz einfach: fügt in /etc/rtorrent/.screenrc die User hinzu, die bei screen attachen dürfen (root ist default) danach startet ihr rtorrent schnell neu
/etc/init.d/rtorrentd restart
ab jetzt könnt ihr mit den entsprechenden Usern durch
screen -r rtorrent/rtorrent
attachen
wie immer kann man sich auch wieder ein alias anlegen: In der ~/.bashrc des betreffenden Users den folgenden Eintrag erstellen:
alias rtorrent="screen -r rtorrent/rtorrent"
und schon wird mit rtorrent der client geöffnet.
detachen kann man mit der Tastenkombo strg+a+d
Wir holen uns zunächst wieder ein paar Pakete und installieren diese, benötigt wird *Apache 2 *PHP 5 *SCGI-Mod für Apache *xmlrpc-Modul für PHP
sudo apt-get install apache2 php5 php5-cli libapache2-mod-php5 libapache2-mod-scgi , php5-xmlrpc
Dann noch den mod scgi für Apache konfigurieren:
sudo nano /etc/apache2/apache2.conf
Und fügen folgendes hinzu (zum Beispiel am Ende):
#own configuration
SCGIMount /RPC2 127.0.0.1:5000
Wenn wir rTorrent und rEmote auf nur einem Server betreiben, wie es wohl die Meisten machen werden, ist es das Sinnvollste, wenn wir den Zugriff auf RPC2 auf unseren Server beschränken. Dazu können wir einfach folgende Zeilen an die Obige anhängen.
<Directory "/RPC2">
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
Jetzt starten wir den Apache2 bzw. starten ihn neu falls er bereits läuft:
sudo apache2ctl restart
wieder werden ein paar Pakete benötigt. in unserem Fall:
- Den MySQL-Server
- Einen MySQL-Client
- Das MySQL-Modul für PHP
Manually add MySQL APT Repository
zuerst müssen wir die PGP-keys des offiziellen Repository adden
sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 5072E1F5
und das offizielle Repository von Oracle zur source.list hinzufügen Erzeuge eine Datei unter '/etc/apt/sources.list.d/mysql.list
sudo touch /etc/apt/sources.list.d/mysql.list
[nano|vi|...] /etc/apt/sources.list.d/mysql.list
und füge folgenden Eintrag ein Als Beispiel:
deb http://repo.mysql.com/apt/debian/ stretch mysql-5.7
deb-src http://repo.mysql.com/apt/debian/ stretch mysql-5.7
Folgend kann der Eintrag zusammengesetzt werden
deb http://repo.mysql.com/apt/{debian|ubuntu}/ {jessie|wheezy|trusty|utopic|vivid} {mysql-5.6|mysql-5.7|workbench-6.3|utilities-1.6|connector-python-2.1}
bei Debian/Ubuntu wieder:
sudo apt-get install mysql-server mysql-client php5-mysql
MySQL-service stoppen
service mysql stop
Und folgenden Eintrag in der Config ("my.cnf" / "mysql.cnf") machen
sudo [nano|vi|etc] /etc/mysql/mysql.conf.d/mysqld.cnf
# Default is STRICT_TRANS_TABLES, but this require " A value is missing when a new row to be inserted does not contain a value for a non-NULL column that has no explicit DEFAULT clause in its definition."
sql-mode = "NO_ENGINE_SUBSTITUTION"
Die Konfiguration testen
mysql --help
Alles Gut? MySQL-service starten
service mysql start
Im Folgenden gilt: "remote", "remotepassword0815" und "remoteDB" sind nur Vorschläge und müssen (bzw. sollten) nicht übernommen werden.
Erstellt einen neuen User für rEmote mit entsprechendem Passwort
CREATE USER 'remote'@'127.0.0.1' IDENTIFIED BY 'remotepassword0815';
und verseht ihn mit ein paar Rechten
GRANT USAGE ON * . * TO 'remote'@'127.0.0.1' IDENTIFIED BY 'remotepassword0815' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
erstellt die rEmote-Datenbank
CREATE DATABASE IF NOT EXISTS `remoteDB`;
und weißt die Datenbank dem rEmote-User zu
GRANT ALL PRIVILEGES ON `remoteDB` . * TO 'remote'@'127.0.0.1';
und ab dafür
FLUSH PRIVILEGES;
jetzt beendet ihr MySQL
quit
Im DocumentRoot des Apache (unter Debian üblicherweise /var/www) einfach das remote-tar mit "tar -xvf" entpacken. anschließend in den Ordner "remote" wechseln, die datei "example.config.php" in "config.php" umbenennen.
cd remote
mv example.config.php config.php
nano config.php
Hier nun die SQL-Einstellungen ausfüllen:
$sql = array(
'type' => 'mysql',
'user' => 'remote',
'password' => 'remotepassword0815',
'host' => '127.0.0.1',
'database' => 'remoteDB'
);
und den RPC-Pfad angeben
$rpc_connect="http://localhost/RPC2";
um den Installationvorgang abzuschließen zu können müssen wir noch eine Datei mit dem Namen ".lock" erstellen und dieser Schreibrechte für den Webserver geben.
touch .lock
chgrp www-data .lock
chmod 660 .lock
** Die Gruppe www-data ist natürlich durch eine Gruppe zu ersetzen deren Mitglied der Webserver ist. Unter Debian/ubuntu funktioniert "www-data" **
Nun ruft ihr vom Webbrowser aus euren Server auf, mit dem Pfad /remote/install/
Wenn alles glatt gelaufen ist, solltet ihr folgendes oder ähnliches Bild sehen. Wählt die Sprache aus, die ihr nutzen wollt, und klick auf Speichern.
Nach einem Klick auf "Fortfahren" seht ihr welche Erweiterungen benötigt werden. Neben jedem benötigten Modul sollte ein grünes "Licht" erscheinen. Ist ein benötigtes Licht rot. Müsst ihr die bestehende Erweiterung nachinstallieren. Unter Debian/Ubuntu heißen die Pakete üblicherweise "php5-ERWEITERUNGSNAME", wie z.B. "php5-xmlrpc".
Nach einem Klick auf "Fortfahren" wird die Verbindung zu rtorrent überprüft. Hier seht ihr das erste mal, ob ihr einen Fehler in Schritt 1 gemacht habt. Wenn ihr folgenden Fehler seht: Dann solltet ihr Sicherstellen dass der Zugriff auf den RPC-Pfad geschützt ist, wie z.B. in Punkt 2 beschrieben. Ist dies der Fall, könnt ihr einfach auf "Fortfahren" klicken. Ansonsten solltet ihr die Sicherung aus Punkt 2 nachholen, einen htaccess-Schutz erstellen oder zur Not den Beschreibungen unter der Fehlermeldung im Installer folgen.
in den nächsten beiden Schritt werden die benötigten SQL-Tabellen und Einstellungen automatisch eingetragen. Sollten hierbei Schwierigkeiten auftreten, prüft bitte ob eure SQL-Zugangsdaten korrekt in die config.php eingetragen wurden. In MySQL könnt ihr zudem noch testen ob euer User die Datenbank aufrufen kann:
mysql -u remote -p remoteDB
Anschließend das Passwort eingeben und schauen ob man sich mit diesen Zugangsdaten zur Datenbank verbinden kann.
wenn wir das geschafft haben, kommen wir auch schon dazu den ersten User zu erstellen. Einzufüllen sind hier Benutzername und Passwort, sowie das Verzeichniss, in dem der User rechte hat. Der erste User ist automatisch Administrator und kann Andere User erstellen. Zu beachten ist hierbei, dass ein Administrator, Nutzern auch nur Rechte auf Verzeichnisse geben kann, in denen er selbst rechte hat. Möchte man also eine Ordnerstruktur wie "/daten/downloads/user1", "/daten/downloads/user2", "/daten/downloads/user3", etc... so macht es sinn, dem ersten User das Verzeichnis "/daten/downloads/" zu geben, damit er anschließend Problemfrei weitere nutzer anlegen kann.
Anschließend können wir die von rEmote benötigten Pfade kontrollieren und Editieren. Im Standard sollte alles so funktionieren. Ins Standardverzeichniss für neue User lässt sich ein Default-Wert einstellen, der, außer bei der Erstellung weiterer neuer User, nicht von bedeutung ist. [i]Bis zur Final wird dieses Verzeichniss wohl noch entfernt werden und standardmäßig das Home-Verzeichniss des Erstellenden Users verwendet, um im Verzeichniss-Wirrwarr ein bisschen aufzuräumen[/i]
Der vorletzte Schritt beinhaltet die von rEmote-Verwendeten Unix-Programme: Einige Programme sind womöglich installiert, aber nicht eingetragen. Wir können diese nun automatisch suchen lassen und/oder ihren Pfad manuell eintragen. Hierzu klicken wir auf "ändere Verzeichnisse"
Direkt nach dem Öffnen des Dialogs sieht man, dass der Installer das Programm "zip" automatisch erkannt hat. Weitere Programme die nicht oder falsch erkannt wurden, kann man hier manuell nachbessern.
Nach einem klick auf Speichern, wurden die neuen Programmpfade übernommen, und im Screenshot sieht man, dass das "Licht" neben "zip" grün geworden ist.
Nach einem klick auf "Fortsetzen" gelangen wir nun zum Abschluss der Installation. Hier kann eigentlich nichts mehr schiefgehen und rEmote kann verwendet werden.