Webserver · 5 min read · Dec 18, 2025

Installation von Lighttpd mit PHP5 (PHP-FPM) und MySQL-Unterstützung auf Debian Wheezy

Lighttpd ist ein sicherer, schneller, standards-konformer Webserver, der für geschwindigkeitskritische Umgebungen entwickelt wurde. Dieses Tutorial zeigt, wie Sie Lighttpd auf einem Debian Wheezy-Server mit PHP5-Unterstützung (über PHP-FPM) und MySQL-Unterstützung installieren können. PHP-FPM (FastCGI Process Manager) ist eine alternative PHP-FastCGI-Implementierung mit einigen zusätzlichen Funktionen, die für Websites jeder Größe nützlich sind, insbesondere für stark frequentierte Websites. Ich verwende PHP-FPM in diesem Tutorial anstelle von Lighttpds spawn-fcgi.

Ich gebe keine Garantie, 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 bei Ihnen abweichen, daher müssen Sie sie gegebenenfalls anpassen.

2 Installation von MySQL 5

Zuerst installieren wir MySQL 5 wie folgt:

apt-get install mysql-server mysql-client

Sie werden aufgefordert, ein Passwort für den MySQL-Root-Benutzer anzugeben - dieses Passwort gilt für den Benutzer root@localhost sowie für [email protected], sodass wir später kein MySQL-Root-Passwort manuell angeben müssen:

Neues Passwort für den MySQL “root”-Benutzer: <– yourrootsqlpassword
Wiederholen Sie das Passwort für den MySQL “root”-Benutzer: <– yourrootsqlpassword

3 Installation von Lighttpd

Lighttpd ist als Debian-Paket verfügbar, daher können wir es wie folgt installieren:

apt-get install lighttpd

Richten Sie jetzt Ihren Browser auf http://192.168.0.100/index.lighttpd.html, und Sie sollten die Platzhalterseite von Lighttpd sehen:

Das Standard-Dokumentenverzeichnis von Lighttpd ist /var/www auf Debian, und die Konfigurationsdatei ist /etc/lighttpd/lighttpd.conf. Zusätzliche Konfigurationen werden in Dateien im Verzeichnis /etc/lighttpd/conf-available gespeichert - diese Konfigurationen können mit dem Befehl lighttpd-enable-mod aktiviert werden, der einen Symlink vom Verzeichnis /etc/lighttpd/conf-enabled zur entsprechenden Konfigurationsdatei im Verzeichnis /etc/lighttpd/conf-available erstellt. Sie können Konfigurationen mit dem Befehl lighttpd-disable-mod deaktivieren.

4 Installation von PHP5

Wir können PHP5 in Lighttpd über PHP-FPM zum Laufen bringen, das wir wie folgt installieren:

apt-get install php5-fpm php5

PHP-FPM ist ein Daemon-Prozess (mit dem Init-Skript /etc/init.d/php5-fpm), der einen FastCGI-Server auf dem Socket /var/run/php5-fpm.sock ausführt.

5 Konfiguration von Lighttpd und PHP5

Um PHP5 in Lighttpd zu aktivieren, müssen wir /etc/php5/fpm/php.ini ändern und die Zeile cgi.fix_pathinfo=1 auskommentieren:

vi /etc/php5/fpm/php.ini

| [...] ; cgi.fix_pathinfo bietet *echte* PATH_INFO/PATH_TRANSLATED-Unterstützung für CGI. PHPs ; vorheriges Verhalten war es, PATH_TRANSLATED auf SCRIPT_FILENAME zu setzen und nicht zu verstehen, ; was PATH_INFO ist. Für weitere Informationen zu PATH_INFO siehe die CGI-Spezifikationen. Das Setzen ; dieser Option auf 1 bewirkt, dass PHP CGI seine Pfade an die Spezifikation anpasst. Eine Einstellung ; von null bewirkt, dass PHP sich wie zuvor verhält. Standard ist 1. Sie sollten Ihre Skripte ; so anpassen, dass sie SCRIPT_FILENAME anstelle von PATH_TRANSLATED verwenden. ; http://php.net/cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |

Die Lighttpd-Konfigurationsdatei für PHP /etc/lighttpd/conf-available/15-fastcgi-php.conf ist für die Verwendung mit spawn-fcgi geeignet, jedoch möchten wir PHP-FPM verwenden, daher erstellen wir eine Sicherung der Datei (benannt 15-fastcgi-php-spawnfcgi.conf) und ändern 15-fastcgi-php.conf wie folgt:

cd /etc/lighttpd/conf-available/  
cp 15-fastcgi-php.conf 15-fastcgi-php-spawnfcgi.conf  
vi 15-fastcgi-php.conf

| # -*- depends: fastcgi -*- # /usr/share/doc/lighttpd/fastcgi.txt.gz # http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi ## Starten Sie einen FastCGI-Server für PHP (benötigt das php5-cgi-Paket) fastcgi.server += ( ".php" => (( "socket" => "/var/run/php5-fpm.sock", "broken-scriptfilename" => "enable" )) ) |

Um die FastCGI-Konfiguration zu aktivieren, führen Sie die folgenden Befehle aus:

lighttpd-enable-mod fastcgi  
lighttpd-enable-mod fastcgi-php

Dies erstellt die Symlinks /etc/lighttpd/conf-enabled/10-fastcgi.conf, die auf /etc/lighttpd/conf-available/10-fastcgi.conf verweist, und /etc/lighttpd/conf-enabled/15-fastcgi-php.conf, die auf /etc/lighttpd/conf-available/15-fastcgi-php.conf verweist:

ls -l /etc/lighttpd/conf-enabled
root@server1:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled  
total 0  
lrwxrwxrwx 1 root root 33 Jul  1 20:45 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf  
lrwxrwxrwx 1 root root 37 Jul  1 20:45 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf  
root@server1:/etc/lighttpd/conf-available#

Dann laden wir Lighttpd neu:

/etc/init.d/lighttpd force-reload

6 Testen von PHP5 / Abrufen von Details zu Ihrer PHP5-Installation

Das Dokumentenverzeichnis der Standard-Website ist /var/www. Wir werden jetzt eine kleine PHP-Datei (info.php) in diesem Verzeichnis erstellen und sie im Browser aufrufen. Die Datei zeigt viele nützliche Details über unsere PHP-Installation an, wie die installierte PHP-Version.

vi /var/www/info.php

| |

Jetzt rufen wir diese Datei im Browser auf (z.B. http://192.168.0.100/info.php):

Wie Sie sehen, funktioniert PHP5, und es funktioniert über FPM/FastCGI, wie in der Zeile Server-API angezeigt. 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, auch einige andere PHP5-Module zu installieren, da Sie diese möglicherweise für Ihre Anwendungen benötigen. Sie können nach verfügbaren PHP5-Modulen wie folgt 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-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Xcache ist ein kostenloser und offener PHP-Opcode-Cache zum Cachen und Optimieren von PHP-Zwischencode. Es ist ähnlich wie andere PHP-Opcode-Caches, wie eAccelerator und APC. Es wird dringend empfohlen, einen dieser Caches zu installieren, um Ihre PHP-Seiten zu beschleunigen.

Xcache kann wie folgt installiert werden:

apt-get install php5-xcache

Laden Sie jetzt PHP-FPM neu:

/etc/init.d/php5-fpm reload

Laden Sie jetzt http://192.168.0.100/info.php in Ihrem Browser neu und scrollen Sie erneut zum Abschnitt Module. Sie sollten jetzt viele neue Module dort finden, einschließlich des MySQL-Moduls:

8 phpMyAdmin

phpMyAdmin ist eine Weboberfläche, über die Sie Ihre MySQL-Datenbanken verwalten können. Es ist eine gute Idee, es zu installieren:

apt-get install phpmyadmin

Sie werden die folgenden Fragen sehen:

Webserver automatisch neu konfigurieren: <– lighttpd
Datenbank für phpmyadmin mit dbconfig-common konfigurieren? <– Nein

Anschließend können Sie phpMyAdmin unter http://192.168.0.100/phpmyadmin/ aufrufen:

9 PHP-FPM dazu bringen, eine TCP-Verbindung zu verwenden

Standardmäßig hört PHP-FPM auf dem Socket /var/run/php5-fpm.sock. Es ist auch möglich, PHP-FPM eine TCP-Verbindung verwenden zu lassen. Öffnen Sie dazu /etc/php5/fpm/pool.d/www.conf…

vi /etc/php5/fpm/pool.d/www.conf

… und ändern Sie die Listenzeile wie folgt:

| [...] ;listen = /var/run/php5-fpm.sock listen = 127.0.0.1:9000 [...] |

Dies bewirkt, dass PHP-FPM auf Port 9000 auf der IP 127.0.0.1 (localhost) hört. Stellen Sie sicher, dass Sie einen Port verwenden, der auf Ihrem System nicht verwendet wird.

Laden Sie dann PHP-FPM neu:

/etc/init.d/php5-fpm reload

Öffnen Sie als Nächstes die PHP-Konfigurationsdatei von Lighttpd /etc/lighttpd/conf-available/15-fastcgi-php.conf und ersetzen Sie die Socket-Zeile durch Host- und Port-Zeilen:

vi /etc/lighttpd/conf-available/15-fastcgi-php.conf

| # -*- depends: fastcgi -*- # /usr/share/doc/lighttpd/fastcgi.txt.gz # http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi ## Starten Sie einen FastCGI-Server für PHP (benötigt das php5-cgi-Paket) fastcgi.server += ( ".php" => (( "host" => "127.0.0.1", "port" => "9000", "broken-scriptfilename" => "enable" )) ) |

Laden Sie schließlich Lighttpd neu:

/etc/init.d/lighttpd force-reload

10 Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.