rTorrent SVN mit Colour Patch und ruTorrent kompilieren unter Ubuntu 10.10 Maverick Meerkat / Debian 6 Squeeze
Posted by hyper_ch on 27 Feb 2011 | Tagged as: Benutzer, CLI, Debian, hyper_ch, Ubuntu
rTorrent ist ein genialer Bittorrent Client. Es basiert auf ncurses und wird normalerweise über die Command Line aus gesteuert. Gegenüber anderen Clients wie Vuze ist er auch wenig speicherintensiv. Es gibt zwar verschiedene Web Interfaces, aber ich benutze keine davon. rTorrent in Screen mit SSH Zugriff ist alles was ich brauche.
Zusätzlich zu den vorherigen Howtos zeige ich nun auch auf, wie man zu rTorrent auch noch das ruTorrent Webinterface via Apache SSL zum laufen bringt – natürlich geschützt mit einem Passwort.
Diese Howto gilt sowohl für Ubuntu Lucid 10.10 Maverick Meerkat wie auch Debian 6 Squeeze. Der einzige Unterschied liegt darin, dass Ubuntu sudo benutzt und alles was mit sudo bezeichnet wird, muss unter Debian als root ausgeführt werden.
Zusätzlich gehe ich davon aus, dass der Sourcecode in folgendes Verzeichnis heruntergeladen wird: >~/svn/rtorrent
1. Bisherige rTorrent Version entfernen
sudo apt-get remove rtorrent libtorrent*
2. Notwendige Pakete installieren
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-scgi
3. SVN Verzeichnis erstellen
mkdir ~/svn
4. Ins SVN Verzeichnis wechseln
cd ~/svn
Pfad: /home/USER/svn
5. Den Sourcecode für xmlrpc herunterladen
svn co https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced/ xmlrpc-c
Aktuelle xmlrcp Revision: 2090
6. Ins xmlrpc-c Verzeichnis wechseln
cd xmlrpc-c
Pfad: /home/USER/svn/xmlrpc-c
7. xmlrpc-c konfigurieren
./configure --disable-cplusplus
8. xmlrpc-c kompilieren
make
9. xmlrpc-c installieren
sudo make install
10. rTorrent Verzeichnis erstellen
mkdir ~/svn/rtorrent
11. Ins rTorrent Verzeichnis wechseln
cd ~/svn/rtorrent
Pfad: /home/USER/svn/rtorrent
12. rTorrent Sourcecode herunterladen
svn co svn://rakshasa.no/libtorrent/trunk
Aktuelle rTorrent Revision: 1191
13. Ins trunk Verzeichnis wechseln
cd trunk
Pfad: /home/USER/svn/rtorrent/trunk
14. Patche herunterladen
Colour Patch:
wget http://www.simplylinux.ch/rtorrent/canvas-color_1191.patch
Dieser Patch färbt die Torrent Files je nach deren Status (unvollständig, komplett, aktiv, inaktiv). Der Patch kam ursprünglich von hier, ich habe ihn aber an die aktuelle rTorrent Version angepasst.
Torrent Tracker Stats:
wget http://www.simplylinux.ch/rtorrent/trackerinfo.patch
Dieser Patch zeigt in der Tracker View an, wieviele Leute diesen Torrent ziehen. Allerdings sind die Stats sehr unzuverlässig aber es gibt doch eine gewisse Idee. Ich benutz es hauptsächlich um zu sehen welcher Tracker hat überhaupt irgendwelche Peers.
15. Patches hinzufügen
Colour Patch:
patch -p0 < canvas-color_1191.patch
Torrent Tracker Stats Patch:
patch -p0 < trackerinfo.patch
16. Ins libtorrent Verzeichnis wechseln
cd libtorrent
Pfad: /home/USER/svn/rtorrent/trunk/libtorrent
17. autogen.sh Script laufen lassen
./autogen.sh
18. libtorrent konfigurieren
./configure
19. libtorrent kompilieren
make
20. libtorrent installieren
sudo make install
21. /etc/ld.so.conf erweitern
echo "include /usr/local/lib" | sudo tee -a /etc/ld.so.conf
22. ld.so cache updaten
sudo ldconfig
23. Ins rTorrent Verzeichnis wechseln
cd ../rtorrent
Pfad: /home/USER/svn/rtorrent/trunk/rtorrent
24. autogen.sh Script laufen lassen
./autogen.sh
25. rTorrent konfigurieren
./configure --with-xmlrpc-c
26. rTorrent kompilieren
make
27. rTorrent installieren
sudo make install
28. rTorrent config Datei kopieren und erweitern
Falls noch keine .rtorrent.rc Datei im Homeverzeichnis vorhanden, dann zuerst die Standard config Datei kopieren:
cp ~/subversion/rtorrent/trunk/rtorrent/doc/rtorrent.rc ~/.rtorrent.rc
Damit ruTorrent und und der Colour Patch funktionieren, müssen in paar Optionen zur rTorrent config (am Ende) hinzugefügt werden:
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
Zusätzlich empfehle ich noch folgendes hinzu zufügen
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"
Der erste Befehal ändert Ansicht 9 so, dass nur noch aktive Torrents (also Torrents wo es gerade up/download gibt) angezeigt werden. view_sort und der zweite schedule Befehl ändert die Ansicht 8 in solch einem Ausmass, dass nur noch Torrents mit “ungewöhnlichen” Trackermeldungen erscheinen. Dies vereinfacht es Torrents aufzuspüren, die z.B. gelöscht worden sind.
Ebenfalls ist es wichtig, dass ein Download und Session Verzeichnis angelegt wird. In der Standard Config einfach die Optionen aktivieren, den Pfad setzen und die Verzeichnisse lokal kreieren.
Weitere nützliche Infos und Möglichkeiten können auf der Common Tasks Seite abgerufen werden. Vorallem die Sektion bezüglich Watch Directories and Move on Completion sind interessant.
29. rTorrent starten
Nun kann rTorrent gestartet werden – am beesten in einer Screen Session:
screen rtorrent
30. SSL Zertifikat kreieren
sudo openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
31. Ins Webverzeichnis wechseln
cd /var/www
Pfad: /var/www
32. ruTorrent herunterladen
wget http://rutorrent.googlecode.com/files/rutorrent-3.2.tar.gz
33. ruTorrent entpacken
tar xvzf rutorrent-3.2.tar.gz
34. Ins ruTorrent Verzeichnis wechseln
cd rutorrent
Pfad: /var/www/rutorrent
35. .htaccess Datei kreieren
touch .htaccess
36. .htaccess chmodden
chmod 0755 .htaccess
36. .htaccess editieren
Das folgende in die .htaccess einfügen:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
34. in ruTorrent Konfigurationsverzeichnis wechseln
cd conf
Pfad: /var/www/rutorrent/conf
35. config.php editieren
Folgendes:
$XMLRPCMountPoint = "/RPC2";
mit dem ersetzen:
$XMLRPCMountPoint = "/rutorrent/RPC2";
36. ruTorrent chownen
sudo chown -R www-data:www-data /var/www/rutorrent
37. Apache Module aktivieren
sudo a2enmod ssl auth_digest scgi rewrite
38. apache2.conf erweitern
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
39. Ins sites-enabled Apache Verzeichnis wechseln
cd /etc/apache2/sites-enabled
Pfad: /etc/apache2/sites-enabled
40. 000-default editieren
Nach folgendem
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
das hier einfügen:
<Directory /var/www/rutorrent/>
AllowOverride All
Order allow,deny
allow from all
</Directory>
Dies stellt sicher, dass die .htaccess beachtet wird und somit eine Umleitung auf HTTPS/SSL erfolgt, wenn dies nicht so eingegeben wurde.
41. 000-default editieren
Immer noch die 000-default Datei editieren und folgendes am Schluss einfügen:
<VirtualHost *:443>
ServerAdmin webmaster@localhost
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
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/"
<Directory "/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
</Directory>
<Location /rutorrent>
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"
</Location>
</VirtualHost>
SERVER_IP mit der korrekten IP Adresse des Servers ersetzen.
42. Benutzer zu authdigest hinzufügen
sudo htdigest -c /etc/apache2/passwords rtorrent USER
Anstelle von USER den gewünschten Benutzernamen eingeben, danach erfolgt die Aufforderung zur Eingabe eines Passwortes sowie der Bestätigung des Passworts.
43. Apache neustarten
sudo service apache2 restart
Debian Benutzer müssen wie folgt Apache neustarten:
/etc/init.d/apache2 restart
44. Ausprobieren
rTorrent müsste bereits laufen – falls nicht, rTorrent starten. Danach auf dem Server das ruTorrent Verzeichnis aufrufen.
http://SERVER_IP/rutorrent
Es wird automatisch von HTTP auf HTTPS umgeleitet und es erfolgt eine Warnung wegen dem selbst-generierten SSL-Zertifikat. Das Zertifikat akzeptieren und dann mit dem erstellten Benutzer einloggen.
Enjoy
6 Comments »
6 Responses to “rTorrent SVN mit Colour Patch und ruTorrent kompilieren unter Ubuntu 10.10 Maverick Meerkat / Debian 6 Squeeze”
on 17 May 2011 at 20:11 1.ghostDancer said …
Hi, sorry i can’t speak german :-(. Really nice tutorial about installing and patchg rtorrent. I’m thinking in translating it to spanish.
I have one problem , i’m trying to make it with rtorrent-0.8.8 and not with svn and the color-canvas patch gives an error. I’m not a programmer, so i don’t know exactly how to fix it. Are you going to release it for 0.8.8 or only for svn?. Or you can guide me about what do i have to change in the patch, i can try .
on 17 May 2011 at 20:25 2.hyper_ch said …
I haven’t tested it for rtorrent 0.8.8…. I use the revision as shown in the howto. So either use also that revision or you need to update the patch.
on 18 Apr 2012 at 15:29 3.Basty said …
Hi,
erstmal riesen Dank für das Tutorial. Ist schon ne ganz schöne Sache, rTorrent zum laufen zu bekommen. Hab es auch schonmal hinbekommen, aber als ich es heute nochmal machen wollte kommt ein Fehler beim Versuch den Sourcecode runter zu laden (svn co svn://rakshasa.no/libtorrent/trunk):
svn: Kann nicht mit Host »rakshasa.no« verbinden: Verbindungsaufbau abgelehnt
Hast du da vllt eine Lösung parat? Gibts den Sourcecode irgendwo im Netz? Hab ihn bis jetzt noch nicht finden können -.-‘
Danke und Grüße!
Basty
on 18 Apr 2012 at 15:48 4.hyper_ch said …
1. rTorrent ist nun als Git verfügbar und nicht mehr via SVN (glaubhe ich)
2. Ich komme mit der aktuellen rTorrent Version nicht klar und benutze weiterhin 0.8.9
3. Ich benutze zwischenzeitlich einen Fork von rTorrent – namentlich https://code.google.com/p/pyroscope/wiki/RtorrentExtended , weil:
– auch farbiges Interface
– komprimiertes Interface auf Wunsche (1 Zeile pro Torrent)
– aktuelle Patches
– Suche in rTorrent nach Torrents (ctrl-x, s=KEYWORD, [enter])
– Pyroscope regelmässig in #rtorrent auf irc.freenode.org zu finden ist
Ich würde empfehlen das zu nehmen.
on 22 Apr 2012 at 13:32 5.Klaus said …
Gibt es schon eine Lösung bezüglich abgelehntem Verbindungsaufbau?
on 25 Apr 2012 at 10:13 6.hyper_ch said …
@ Klaus
Ich weiss nicht was du damit meinst.