Lighttpd ist ein sicherer, schneller, standardkonformer Webserver, der für geschwindigkeitskritische Umgebungen entwickelt wurde. Dieses Tutorial zeigt, wie Sie Lighttpd auf einem Debian Etch-Server mit PHP5-Unterstützung (über FastCGI) und MySQL-Unterstützung installieren können.
Ich gebe keine Garantie dafür, dass dies bei Ihnen funktioniert!
1 Vorbemerkung
In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.0.100. Diese Einstellungen können für Sie abweichen, daher müssen Sie sie gegebenenfalls ersetzen.
2 Installation von MySQL 5.0
Zuerst installieren wir MySQL 5.0 wie folgt:
apt-get install mysql-server mysql-client
Erstellen Sie ein Passwort für den MySQL-Benutzer root (ersetzen Sie Ihrrootsqlpassword durch das Passwort, das Sie verwenden möchten):
mysqladmin -u root password yourrootsqlpassword
Prüfen Sie dann mit
netstat -tap | grep mysql
auf welchen Adressen MySQL lauscht. Wenn die Ausgabe so aussieht:
tcp 0 0 localhost.localdo:mysql *:* LISTEN 2713/mysqld
was bedeutet, dass MySQL nur auf localhost.localdomain lauscht, dann sind Sie mit dem zuvor festgelegten Passwort sicher. Aber wenn die Ausgabe so aussieht:
tcp 0 0 *:mysql *:* LISTEN 2713/mysqld
Sie sollten auch ein MySQL-Passwort für Ihren Hostnamen festlegen, da sonst jeder auf Ihre Datenbank zugreifen und Daten ändern kann:
mysqladmin -h server1.example.com -u root password yourrootsqlpassword
3 Installieren von Lighttpd
Lighttpd ist als Debian-Paket verfügbar, daher können wir es wie folgt installieren:
apt-get install lighttpd
Leiten Sie nun Ihren Browser zu http://192.168.0.100, und Sie sollten die Lighttpd-Platzhalterseite sehen:
Lighttpds Standard-Dokumentenstammverzeichnis ist /var/www unter Debian, und die Konfigurationsdatei ist /etc/lighttpd/lighttpd.conf.
4 Installation von PHP5
Wir können PHP5 in Lighttpd über FastCGI zum Laufen bringen. Glücklicherweise stellt Debian ein FastCGI-fähiges PHP5-Paket bereit, das wir wie folgt installieren:
apt-get install php5-cgi
5 Konfigurieren von Lighttpd und PHP5
Um PHP5 in Lighttpd zu aktivieren, müssen wir zwei Dateien ändern, /etc/php5/cgi/php.ini und /etc/lighttpd/lighttpd.conf. Zuerst öffnen wir /etc/php5/cgi/php.ini und fügen die Zeile cgi.fix_pathinfo =1 ganz am Ende der Datei hinzu:
vi /etc/php5/cgi/php.ini
[...] cgi.fix_pathinfo = 1 |
Dann öffnen wir /etc/lighttpd/lighttpd.conf und fügen "mod_fastcgi" zur Zeilengruppe server.modules hinzu:
vi /etc/lighttpd/lighttpd.conf
[...] server.modules = ( "mod_access", "mod_alias", "mod_accesslog", "mod_fastcgi", # "mod_rewrite", # "mod_redirect", # "mod_status", # "mod_evhost", # "mod_compress", # "mod_usertrack", # "mod_rrdtool", # "mod_webdav", # "mod_expire", # "mod_flv_streaming", # "mod_evasive" ) [...] |
und dann fügen wir direkt am Ende der Datei die folgende Strophe hinzu:
[...] fastcgi.server = ( ".php" => (( "bin-path" => "/usr/bin/php5-cgi", "socket" => "/tmp/php.socket" ))) |
Dann starten wir Lighttpd neu:
/etc/init.d/lighttpd restart
6 Testen von PHP5 / Abrufen von Details zu Ihrer PHP5-Installation
Das Dokumentenstammverzeichnis der Standardwebsite ist /var/www. In diesem Verzeichnis erstellen wir nun eine kleine PHP-Datei (info.php) und rufen sie in einem Browser auf. Die Datei zeigt viele nützliche Details über unsere PHP-Installation an, wie z. B. die installierte PHP-Version.
vi /var/www/info.php
<?php phpinfo(); ?> |
Nun nennen wir diese Datei in einem Browser (z. B. http://192.168.0.100/info.php):
Wie Sie sehen, funktioniert PHP5, und es funktioniert über FastCGI, wie in der Server-API-Zeile gezeigt. Wenn Sie weiter nach unten scrollen, sehen Sie alle Module, die bereits in PHP5 aktiviert sind. MySQL ist dort nicht aufgeführt, was bedeutet, dass wir noch keine MySQL-Unterstützung in PHP5 haben.
7 MySQL-Unterstützung in PHP5 erhalten
Um MySQL-Unterstützung in PHP zu erhalten, können wir das Paket php5-mysql installieren. Es ist eine gute Idee, einige andere PHP5-Module zu installieren, die Sie möglicherweise für Ihre Anwendungen benötigen. Sie können wie folgt nach verfügbaren PHP5-Modulen suchen:
apt-cache search php5
Wählen Sie die benötigten aus und installieren Sie sie wie folgt:
apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json
Möglicherweise sehen Sie eine Frage wie diese:
Installation von libc-client ohne Maildir-Unterstützung fortsetzen? <-- Ja
Starten Sie nun Lighttpd neu:
/etc/init.d/lighttpd restart
(Wenn Sie das Modul php5-json installiert haben und Warnungen wie diese erhalten:
PHP Warning: Module 'json' already loaded in Unknown on line 0
es bedeutet, dass das Modul zweimal geladen wurde. Öffnen Sie /etc/php5/cgi/php.ini, scrollen Sie bis zum Ende und kommentieren Sie die Zeile extension=json.so:
ausvi /etc/php5/cgi/php.ini
[...] ;extension=json.so [...] |
Starten Sie dann Lighttpd erneut:
/etc/init.d/lighttpd restart
Die Warnungen sollten nun verschwunden sein.)
Laden Sie nun http://192.168.0.100/info.php in Ihrem Browser neu und scrollen Sie erneut nach unten zum Modulbereich. Dort sollten Sie jetzt viele neue Module finden, einschließlich des MySQL-Moduls:
8 Links
- Lighttpd:http://www.lighttpd.net
- PHP:http://www.php.net
- MySQL:http://www.mysql.com
- Debian:http://www.debian.org