====== 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