Login
Newsletter
Werbung

Mo, 28. Juli 2008, 00:00

TorrentFlux und Torrentflux-b4rt

BitTorrent gibt es als Konsolen- und Client/Server-Anwendung sowie mit grafischen Oberflächen - wie wäre es aber einmal mit einer Webanwendung? Hier werden zwei davon vorgestellt.

Vorwort

BitTorrent gibt es als Konsolen- und Client/Server-Anwendung sowie mit grafischen Oberflächen - wie wäre es aber einmal mit einer Webanwendung? Sie ermöglicht nicht nur, von jedem Ort aus seine Torrents zu verwalten, sondern bietet auch Gruppen die Möglichkeit, einen Server gemeinsam zu nutzen. Nicht zuletzt wäre es auch denkbar, den Zugang zu solch einer Anwendung als Dienstleistung anzubieten.

Ich gehe hier hauptsächlich von dem Fall aus, dass man die Webanwendung auf seinem heimischen Server als Ersatz für einen Kommandozeilen- oder grafischen Client verwendet. Sinn hat dies hauptsächlich dann, wenn man einen separaten Server hat und BitTorrent dort läuft, oder wenn man, wie oben erwähnt, von jedem Ort aus auf seine Torrents zugreifen will.

TorrentFlux

Installation

TorrentFlux ist eine Webanwendung, die PHP und MySQL verwendet. Für das Torrent-Protokoll wird BitTornado mitgeliefert, das in Python implementiert ist. Es ist dafür ausgelegt, auf einem Server zu laufen und quasi eine Download-Community zu bilden. Dementsprechend können Benutzerkonten angelegt werden, und die Benutzer können gleichzeitig auf das System zugreifen.

Basis

Zur Installation laden wir das Paket torrentflux_2.4.tar.gz vom Projektserver herunter. Man kann es in einem beliebigen Verzeichnis starten und auch von dort ausführen, wenn man den Webserver entsprechend konfiguriert. Daher lege ich es unter /usr/local. Meine Installation weicht in mancher Hinsicht von der mitgelieferten, einfachen Anleitung ab. Denn wer in der Anleitung fordert, einem Verzeichnis die Berechtigung 777 zu geben (Lesen, Schreiben und Ausführen für jeden), oder eine MySQL-Datenbank mit Zugriff durch den Root-Benutzer anzulegen (womit das Root-Passwort im Klartext in der Konfigurationsdatei steht), zeigt, dass er von Sicherheit nichts verstanden hat.

Wir machen es also anders und übergeben erst einmal das ganze Verzeichnis an Root. Dadurch sind die Dateien für den Webserver nicht änderbar.

chown -R root.root torrentflux_2.4

Nun wechseln wir in das neu entstandene Verzeichnis torrentflux_2.4. Im Projektverzeichnis befinden sich die kurzen Dateien README und INSTALL, die man sich durchlesen sollte. Die Datei INSTALL führt einige Voraussetzungen für TorrentFlux auf. Diese Voraussetzungen (einschließlich der optionalen) waren bei mir alle schon erfüllt.

Die Anleitung fordert, SELinux abzuschalten, sofern es läuft. Ausgemachter Unsinn! Eine bessere Lösung ist im Forum von TorrentFlux beschrieben. Der Safe Mode von PHP muss ausgeschaltet sein. Dies dürfte meistens bereits der Fall sein, da er andere Webanwendungen ebenfalls aus dem Gleichgewicht bringt.

Desweiteren müssen Apache, mod_php, MySQL, die CURL-Bibliothek und Python installiert sein, was man leicht über das Paketsystem der Distribution durchführen kann.

Datenbank

Nun kann man die Datenbank einrichten. Mit mysql -p und dem passenden Benutzernamen loggt man sich als Administrator ein und führt die folgenden Kommandos aus:

create database torrentflux;
use torrentflux;
\. mysql_torrentflux.sql
grant all on torrentflux.* to torrentflux identified by 'o8sakj:Zh';
quit

Damit ist speziell für die Datenbank torrentflux ein Benutzer gleichen Namens angelegt, der ein nicht erratbares Passwort (verwenden Sie nicht das gleiche Beispiel) erhält. Die Zugangsdaten der Datenbank werden nun in die Datei html/config.php eingetragen.

Apache

Nun muss man noch dafür sorgen, dass der Webserver auf die Programmdateien zugreifen kann. Im passenden virtuellen Host, der (bei Debian jedenfalls) in einer Datei im Verzeichnis /etc/apache2/sites-enabled definiert ist, fügen wir folgenden Alias hinzu:

Alias /torrent/ /usr/local/torrentflux_2.4/html/

Das bewirkt, dass wir schmerzlos unter der URL http://webserver/torrent/ auf die Applikation zugreifen können.

Erster Aufruf

Beim ersten Aufruf der Seite erscheint ein Login-Dialog, in dem wir einen beliebigen Namen und Passwort eingeben können. Da dieser Name zum Administrator von TorrentFlux gemacht wird, kann es sinnvoll sein, ihn admin oder ähnlich zu nennen. Eine eigene Benutzerkennung kann man sich später noch anlegen.

Es erscheint eine Konfigurationsseite, auf der gleich der erste Eintrag das Downloadverzeichnis festlegt. Das vorgegebene html/downloads würde ich nicht benutzen, schon aus Platzgründen, da /usr/local bei mir zu /usr gehört und ziemlich begrenzt ist. Ferner sollten variable Daten nicht unter /usr abgelegt werden. Damit das funktioniert, sollte das Downloadverzeichnis dem Benutzer gehören, unter dessen Account der Webserver läuft (meist www-data). Nachdem das Downloadverzeichnis geändert wurde, kann man die Einstellungen speichern und fortsetzen. Andere Änderungen sind zunächst nicht nötig.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung