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-clientSie 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 lighttpdRichten 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 php5PHP-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-phpDies 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-enabledroot@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-reload6 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 php5Wä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-xslXcache 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-xcacheLaden Sie jetzt PHP-FPM neu:
/etc/init.d/php5-fpm reloadLaden 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 phpmyadminSie 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-reload10 Links
- Lighttpd: http://www.lighttpd.net/
- PHP: http://www.php.net/
- PHP-FPM: http://php-fpm.org/
- MySQL: http://www.mysql.com/
- Debian: http://www.debian.org/
- phpMyAdmin: http://www.phpmyadmin.net/
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.