Voraussetzungen für dieses Tutorial
1.) Installiertes Debian auf der NSLU2. Ein Tutorial findet Ihr hier: Tutorial: Debian auf der NSLU2 - GARGI.ORG
2.) Installierter FTP Server. Ein Tutorial findet Ihr hier: Proftp auf Debian installieren - GARGI.ORG
Der lighttpd Webserver ist relativ schnell installiert. Zunächst sollte ein FTP Server installiert sein, damit man später seine Dateien für die Homepage hochladen kann. Dafür eignet sich beispielsweise der Proftp (Tutorial). Danach legen wir zunächst einen neuen User an, der nur für den Webbereich zuständig sein soll. Als User gebt dazu folgenden Befehl ein:
In dem Homeverzeichnis legen wir dann ein Dokumentenroot an, in der dann unsere Files landen. Dazu wechselt in das neue Homeverzeichnis:
Jetzt nehmen wir die Identität des neuen Users an:
und legen das Dokumentenroot an:
Danach melden wir uns wieder als User webserver ab:
LIGHTTPD INSTALLIEREN
Zunächst installieren wir den Lighttpd Webserver. Dazu setzt als Root einfach den Befehl
Code:
apt-get install lighttpd
ab. Nachdem das Teil installiert ist sollte dieser auch schon eine Webpage von sich geben. Ruft dazu im Browser einfach die IP Eurer NSLU2 auf. Ihr erhaltet dann folgendes Bild:

Die angezeigte Seite liegt unter /var/www/. Wir möchten das Dokumentenroot natürlich erstmal nach /home/webserver/html/ verlegen. Dazu editieren wir die lighttpd Konfigurationsdatei:
Code:
nano /etc/lighttpd/lighttpd.conf
Hier ändern wir den Bereich
Code:
## a static document-root, for virtual-hosting take look at the
## server.virtual-* options
server.document-root = "/var/www"
auf
Code:
## a static document-root, for virtual-hosting take look at the
## server.virtual-* options
server.document-root = "/home/webserver/html"
ab. Danach verschieben wir die Platzhalterdatei zum Test in unser neues Dokumentenverzeichnis:
Code:
mv /var/www/index.lighttpd.html /home/webserver/html/index.lighttpd.html
Der Benutzer wird noch schnell abgeändert:
Code:
chown webserver:webserver /home/webserver/html/index.lighttpd.html
Jetzt starten wir den Webserver neu:
Code:
/etc/init.d/lighttpd restart
Danach testen wir im Browser, ob der Server nach wie vor die Platzhalterseite liefert.
MYSQL UND PHP FASTCGI INSTALLIEREN
Damit natürlich auch ein CMS oder ein Blog funktioniert, benötigen wir noch die mysql Datenbank und die php Erweiterung. Dabei verwenden wir gleich die fastcgi Version.
Zunächst kümmern wir uns um das mysql. Hierzu folgendes als root ausführen:
Code:
apt-get install mysql-server mysql-client
Setzt dann erstmal ein Passwort für mysql:
Code:
mysqladmin -u root password DEIN_GEHEIMES_PASSWORT
Mit einem
Code:
mysqladmin -p create tabelle01
legt Ihr beispielsweise dann eine erste Datenbank namens tabelle01 an. Ihr könnt diese mit einem
Code:
mysqladmin -p drop tabelle01
wieder entfernen/löschen. Wenn Ihr das seht, dann ist die Tabele auch wieder entfernt:
Code:
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the 'tabelle01' database [y/N] y
Database "tabelle01" dropped
Nun installieren wir php über ein
Code:
apt-get install php5-cgi
zudem
Code:
apt-get install php5-mysql
An das Ende der php.ini sellen wir über ein
Code:
nano /etc/php5/cgi/php.ini
noch folgende Zeile:
Code:
cgi.fix_pathinfo = 1
Dann muss noch die lighttpd.conf editiert werden:
Code:
nano /etc/lighttpd/lighttpd.conf
Im Bereich
Code:
server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_compress",
# "mod_rewrite",
# "mod_redirect",
fügen wir die Zeile
mit ein. Das Ergebnis:
Code:
server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_fastcgi",
"mod_compress",
# "mod_rewrite",
# "mod_redirect",
Ganz zum Schluss der Datei dann noch folgender Block eingefügt:
Code:
fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php5-cgi",
"socket" => "/tmp/php.socket"
)))
Startet nun den Server neu:
Code:
/etc/init.d/lighttpd restart
Checkt nun, ob alles sauber läuft. Dazu legen wir in unser Dokumentenroot eine Datei mit folgenden Inhalt
phpinfo.php
Code:
<?php
phpinfo();
?>
Erstellt die Datei einfach extern in einen Editor und ladet diese in Euer Dokumentenroot des Servers. Wenn Ihr diese nun im Browser aufruft, solltet Ihr eine entsprechende Anzeige bekommen:
http://EURE_IP_NUMMER/phpinfo.php

EACCELERATOR INSTALLIEREN
Um nun den Aufruf etwas zu beschleunigen installieren wir noch ein Cachesystem, den eAccelerator. Dieser muss allerdings von Grund auf neu kompiliert werden. Installiert deswegen zuerst folgende Komponenten, die Ihr für den Compile benötigt:
Code:
apt-get install bzip2 build-essential php5-dev
Jetzt legen wir unter dem Hauptverzeichnis ein Arbeitsverzeichnis an:
wir wechseln dahin:
Danach holen wir uns die aktuelle Version (Bitte auf der eaccelerator Projektseite nach der aktuellen Versionsnummer schauen):
Code:
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
Danach wird ausgepackt:
Code:
tar xvfj eaccelerator-0.9.5.3.tar.bz2
Und in das korrekte Verzeichnis gewechselt:
Code:
cd eaccelerator-0.9.5.3
Danach bereiten wir den Compile vor:
Code:
phpize
./configure --with-eaccelerator-userid=nobody
Kompilieren:
Installieren:
Wir müssen nun die eaccelerator.ini anlegen:
Code:
touch /etc/php5/conf.d/eaccelerator.ini
Füllt diese Datei mit Eurem präferierten Editor mit folgendem Inhalt:
Code:
extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.d****="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
Danach müssen wir noch das Verzeichnis anlegen, in dem gecacht werden soll. Dieses ist in der eaccelerator.ini vorgegeben:
Code:
mkdir -p /var/cache/eaccelerator
Danach müssen noch die Zugriffsrechte neu geregelt werden:
Code:
chmod 0777 /var/cache/eaccelerator
Startet den Lighttpd nun neu:
Code:
/etc/init.d/lighttpd restart
Damit wir testen können, ob der eaccelerator und alle anderen sonstigen Dienste laufen, schauen wir uns nochmal die phpinfo.php an. Wenn der eaccelerator läuft seht Ihr folgenden Abschnitt:

Damit wäre der Webserver soweit eingerichtet.
Viel Spaß!
Euer
Gargi
Lesezeichen