PDA

Bekijk de volledige versie : [How-To] Torrentflux-b4rt - Lighttpd



FastJack
08-04-2008, 08:16
Hallo zusammen,

in diesem How-To geht es um die Einrichtung des neuen Lighttpd, da sich der Aufbau etwas geändert hat und das Zusammenspiel mit PHP.
Zudem werde ich noch auf Torrentflux eingehen, meiner Meinung nach neben Transmission der beste Client zum Downloaden von Torrent Dateien.

1.) Lighttpd & PHP
1.a) Installation und Konfiguration von Lighttpd


ipkg install lighttpd php-fcgi perl

Dieser Befehl installiert erstmal den Lighttpd und die Scriptsprache PHP sowie Perl das wir für cgi Scripte benötigen nach /opt.



cd /opt/etc/lighttpd
ls

wer noch die alte Version kennt, der wird hier gleich ein Unterschied feststellen, es gibt noch einen Unterordner conf.d
Dazu später mehr.


vi lighttpd.conf

Am Anfang der Datei jeweils die # vor mod_fastcgi und mod_cgi entfernen.
bei dem Eintrag: url.access-deny = ( "~", ".inc", ".sqlite" ) das .sqlite wie dargestellt hinzufügen.
Den server.port habe ich auf 81 gestellt.
Bei den nächsten beiden Zeilen unter dem Abschnitt CGI module die # entfernen.
Das wars dann auch soweit, die Datei abspeichen und vi verlassen.

1.b) Konfiguration von PHP


cd conf.d
vi 10-php-fcgi.conf

Die Datei volgendermaßen anpassen:


server.modules += ( "mod_fastcgi" )

fastcgi.server = ( ".php" =>
( "localhost" =>
( "socket" => "/tmp/php-fcgi.sock",
"bin-path" => "/opt/bin/php-fcgi",
"max-procs" => 1,
"min-procs" => 1,
"max-load-per-proc" => 4,
)
)
)

Der Vorteil bei dem neuen lighttpd ist, das die PHP Prozesse automatisch mit lighttpd gestartet und beendet werden und nicht umständlich mit einem Extra start Script unter /opt/etc/init.d.

1.c) iptables anpassen


cd /usr/local/sbin/
vi post-firewall

Dort folgendes zu den bestehenden Regeln hinzufügen:


iptables -A INPUT -p tcp --dport 81 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i $1 -p tcp --dport 80 -j DNAT --to-destination $4:81

Damit öffnen wir den Port 80 und 81 und lenken, wenn wir vom WAN aus kommen, automatisch den Port 80 auf 81 um.
Das hat den Sinn das man nicht umständlich noch den Port im Browser mit angeben muss.

2.) Sqlite und Torrentflux-b4rt


IPKG install sqlite2
cd /opt/etc/
vi php.ini

Erstmal die Version 2 von Sqlite installieren da Torrentflux-b4rt noch nicht die neue Version 3 unerstützt. Dann müssen wir noch in der php.ini etwas hinzufügen das PHP sich auch mit sqlite versteht.
Unter dem Abschnitt Dynamic Extensions fügt Ihr folgende 3 Zeilen hinzu:


extension=pdo.so
extension=sqlite.so
extension=pdo_sqlite.so

Abspeichern und den lighttpd Server neu starten mit /opt/etc/init.d/S80lighttpd restart.



ipkg install python bzip2
cd /opt/share/www/
wget http://download.berlios.de/tf-b4rt/torrentflux-b4rt_1.0-beta2.tar.bz2
bzip2 -d torrentflux-b4rt_1.0-beta2.tar.bz2
tar -xvf torrentflux-b4rt_1.0-beta2.tar
cd torrentflux-b4rt_1.0-beta2
mv html ../torrentflux-b4rt


Nach dem Downloaden und entpacken mit den obigen Schritten macht Ihr euren Webbrowser auf und steuert die Seite http://ip.eures.routers:81/torrentflux-b4rt an.
Dort einfach den Setup anweisungen folgen. Bei der Frage nach der Datenbank natürlich sqlite angeben ! Für die sqlite Datenbankdatei folgenden Pfad angeben: /opt/share/www/torrentflux-b4rt.db
Ich empfehle den Downloadpfad auf eure gemountete Festplatte unter /tmp/harddisk/torrentflux-b4rt zu legen.
nach dem durchlaufen der Setup Routine kommt Ihr automatisch zum Login Screen. Wichtig hierbei, der User mit dem Ihr euch beim ersten mal anmeldet ist der spätere Superuser für Torrentflux !

Im Torrentflux selber müssen noch ein paar kleine änderungen der Pfade gemacht werden damit alle klappt.
Oben rechts auf Admin klicken. Im nächsten Fenster auf Server.
Dort müsst Ihr entsprechend eure Pfade zur PHP binary etc. anpassen.
Normal ist es ausreichend wenn ihr überall /opt/bin/ vor der ensprechenden Binary eintragt.

Herzlichen Glückwunsch, Ihr habt nun ein Funktionierenden Webserver und einen sehr Guten Torrent-Client installiert !

Gruß FastJack

P.S.: Bei Fragen einfach hier in dem Beitrag Posten.