Table of Contents
LightTPD Webserver
Über LightTPD
Dieser Abschnitt beschreibt die Konfigurierung und Verwendung des Webservers LightTPD. Dies ist ein schneller, sicherer und flexibler HTTP-Server, der nur wenig Arbeitsspeicher benötigt. Er ermöglicht eine intelligente Verteilung der CPU-Last, unterstützt FastCGI, CGI, Authentifikation, Ausgabekomprimierung, Umschreiben von URLs, usw. LightTPD ist eine billige Möglichkeit, einen eigenen Internetauftritt auf einem alten Rechner einzurichten.
Auf SliTaz wird der Server automatisch bei der Systemeinleitung gestartet. Er ist für die Benutzung von PHP vorkonfiguriert. Das Wurzelverzeichnis der Dokumente ist standardmäßig /var/www; dort befindet sich auch die Standardseite index.html. Bilder werden im Verzeichnis images gespeichert. Internetpräsenz von LightTPD: http://www.lighttpd.net/
Wurzelverzeichnis der Dokumente
Das Verzeichnis /var/www ist das Wurzelverzeichnis der Dokumente - es wird mit dem URL http://localhost/ angesprochen. Soll nur eine Internetpräsenz (site) eingerichtet werden, können alle Dokumente dort abgelegt werden. Um mehrere Internetpräsenzen auf einem Rechner einzurichten, müssen virtuelle Hosts erstellt werden. Mit http://localhost/server-status kann der Zustand des Servers geprüft werden.
Benutzerverzeichnisse Public
SliTaz bietet den Benutzern einen „öffentlichen“ Platz für ihre (HTML-)Dokumente: das Verzeichnis Public im Stammverzeichnis eines jeden Benutzers, z.B. /home/hacker/Public. Dieses Verzeichnis kann mit dem Kommando mkdir erzeugt werden:
$ mkdir ~/Public
Über den URL http://localhost/~hacker/ kann dann auf die Dateien in diesem Verzeichnis zugegriffen werden. Beim Verbindungsaufbau von einem anderen Rechner muss der Rechnername oder seine IP-Adresse angegeben werden.
Konfigurationsdatei von LightTPD
Die Haupt-Konfigurationsdatei von LightTPD heisst /etc/lighttpd/lighttpd.conf. Der Inhalt dieser mit SliTaz ausgelieferten Datei ist selbsterklärend. Andere Beispiele findet man beim Internetauftritt von LightTPD. Auf SliTaz gibt es auch eine Datei /etc/lighttpd/vhosts.conf zur Konfigurierung von virtuellen Hosts (um mehrere Internetpräsenzen auf demselben Rechner einrichten zu können).
Starten, Beenden und Neustarten des Webservers
Standardmäßig wird der Webserver bei der SliTaz-Systemeinleitung gestartet. Um dies zu verhindern, muss lighttpd aus der Variablen RUN_DAEMONS in der Datei /etc/rcS.conf entfernt werden. Mit dem Kommando /etc/init.d/lighttpd [start|stop|restart] kann der Server gestartet, beendet oder neu gestartet werden. Ein Beispiel zum Neustarten, etwa nach einer Änderung der Konfigurationsdatei:
# /etc/init.d/lighttpd restart
CGI-Programme in Perl
Damit der LightTPD-Server den Pfad zu Perl findet und das Perl-CGI nutzen kann, muss perl installiert werden und die Konfigurationsdatei geändert werden. Für letzteres wird im Beispiel Geany verwendet:
# tazpkg get-install perl # geany /etc/lighttpd/lighttpd.conf &
# CGI module. You can install Perl and assign .pl and .cgi scripts # to /usr/bin/perl $HTTP["url"] =~ "/cgi-bin/" { cgi.assign = ( ".sh" => "/bin/sh", ".cgi" => "/usr/bin/perl", ".pl" => "/usr/bin/perl" ) }
CGI-Programme in Python
Damit der LightTPD-Server den Pfad zu Python findet und das Python-CGI nutzen kann, muss python installiert werden und die Konfigurationsdatei geändert werden. Für letzteres wird im Beispiel Geany verwendet:
# tazpkg get-install python # geany /etc/lighttpd/lighttpd.conf &
# CGI module. You can install Python and assign .py and .cgi scripts # to /usr/bin/python $HTTP["url"] =~ "/cgi-bin/" { cgi.assign = ( ".sh" => "/bin/sh", ".cgi" => "/usr/bin/python", ".py" => "/usr/bin/python" ) }
Damit die Änderungen wirksam werden und CGI-Programme verwendet werden können, muss der LightTPD-Server neu gestartet werden:
# /etc/init.d/lighttpd restart
Authentifikation - Schutz für die Verzeichnisse
LightTPD bietet Authentifikations-Module, mit denen beispielsweise ein Verzeichnis geschützt werden kann. Es gibt mehrere Authentifikationsmethoden. Hier wird zunächst die Basismethode ohne Verschlüsselung von Kennwörtern vorgestellt. Der Modul mod_auth ist in dem Paket lighttpd-modules enthalten, das zunächst installiert werden muss (tazpkg get-install lighttpd-modules). Dann muss die Liste der Module um mod_auth erweitert werden:
# Modules to load. # See /usr/lib/lighttpd for all available modules. # server.modules = ( "mod_access", "mod_auth", "...", )
Die Module können konfiguriert werden, indem Diagnosestufen, Methoden (plain) und der Pfadname einer Datei, die Benutzernamen und Kennwörtern zum Schutz des Zugriffs auf Verzeichnisse enthält, angegeben werden. Ebenfalls müssen die Verzeichnisse angegeben werden, für die der Zugriffsschutz gelten soll. In diesem Beispiel soll das Verzeichnis admin geschützt werden. Nur der Benutzer tux (user=tux) darf zugreifen:
# Authentication for protected directory. auth.debug = 2 auth.backend = "plain" auth.backend.plain.userfile = "/etc/lighttpd/plain.passwd" auth.require = ( "/admin/" => ( "method" => "basic", "realm" => "Password protected area", "require" => "user=tux" ) )
Schließlich muss noch die Datei mit den Kennwörtern erstellt werden, ein Benutzername eingetragen werden und der Server neu gestartet werden. Die Syntax für die Einträge dieser Datei ist: user:password. Die Datei kann mit dem Kommando echo oder einem Texteditor erstellt und mit Inhalt gefüllt werden. Beispiel zum Eintragen von tux:root in die Datei /etc/lighttpd/plain.passwd:
# echo "tux:root" > /etc/lighttpd/plain.passwd oder: # nano /etc/lighttpd/plain.passwd
Damit der Zugriffsschutz auf die Adresse http://localhost/admin/ getestet werden kann, muss der Server neu gestartet werden:
# /etc/init.d/lighttpd restart