Webserver · 5 min read · Jan 27, 2026
Installation von Lighttpd mit PHP5 (PHP-FPM) und MySQL-Unterstützung auf Fedora 19
Installation von Lighttpd mit PHP5 (PHP-FPM) und MySQL-Unterstützung auf Fedora 19
Version 1.0
Autor: Falko Timme
Folge mir auf Twitter
Lighttpd ist ein sicherer, schneller, standardskonformer Webserver, der für geschwindigkeitskritische Umgebungen entwickelt wurde. Dieses Tutorial zeigt, wie Sie Lighttpd auf einem Fedora 19-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 stärker 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/MariaDB 5
Zuerst installieren wir MySQL 5 wie folgt:
yum install mysql mysql-serverDann erstellen wir die Systemstartlinks für MySQL (damit MySQL automatisch startet, wenn das System bootet) und starten den MySQL-Server:
systemctl enable mysqld.service
systemctl start mysqld.serviceErstellen Sie ein Passwort für den MySQL-Benutzer root (ersetzen Sie yourrootsqlpassword durch das Passwort, das Sie verwenden möchten):
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found
HINWEIS: DAS AUSFÜHREN ALLER TEILE DIESER SCRIPTES WIRD FÜR ALLE MariaDB
SERVER IM PRODUKTIONSEINSATZ EMPFOHLEN! BITTE LESEN SIE JEDEN SCHRITT SORGFÄLTIG!
Um sich bei MariaDB anzumelden, um es zu sichern, benötigen wir das aktuelle
Passwort für den Benutzer root. Wenn Sie MariaDB gerade installiert haben und
Sie das root-Passwort noch nicht festgelegt haben, ist das Passwort leer,
Sie sollten hier einfach die Eingabetaste drücken.
Geben Sie das aktuelle Passwort für root ein (drücken Sie die Eingabetaste für keines): <– ENTER
OK, Passwort erfolgreich verwendet, weiter…
Das Festlegen des root-Passworts stellt sicher, dass niemand sich ohne
die entsprechende Autorisierung beim MariaDB-root-Benutzer anmelden kann.
Root-Passwort festlegen? [Y/n] <– ENTER
Neues Passwort: <– yourrootsqlpassword
Neues Passwort erneut eingeben: <– yourrootsqlpassword
Passwort erfolgreich aktualisiert!
Privilegientabellen werden neu geladen..
… Erfolg!
Standardmäßig hat eine MariaDB-Installation einen anonymen Benutzer, der es
jedem ermöglicht, sich bei MariaDB anzumelden, ohne dass ein Benutzerkonto
für ihn erstellt werden muss. Dies ist nur für Testzwecke gedacht und
macht die Installation etwas reibungsloser. Sie sollten diese vor dem
Übergang in eine Produktionsumgebung entfernen.
Anonyme Benutzer entfernen? [Y/n] <– ENTER
… Erfolg!
Normalerweise sollte root nur von ‘localhost’ aus eine Verbindung
erlaubt werden. Dies stellt sicher, dass niemand das root-Passwort
über das Netzwerk erraten kann.
Root-Login aus der Ferne verbieten? [Y/n] <– ENTER
… Erfolg!
Standardmäßig kommt MariaDB mit einer Datenbank namens ‘test’, auf die
jeder zugreifen kann. Dies ist ebenfalls nur für Testzwecke gedacht und
sollte vor dem Übergang in eine Produktionsumgebung entfernt werden.
Testdatenbank und Zugriff darauf entfernen? [Y/n] <– ENTER
- Testdatenbank wird gelöscht…
… Erfolg! - Berechtigungen auf Testdatenbank werden entfernt…
… Erfolg!
Das Neuladen der Berechtigungstabellen stellt sicher, dass alle bisher
getätigten Änderungen sofort wirksam werden.
Berechtigungstabellen jetzt neu laden? [Y/n] <– ENTER
… Erfolg!
Aufräumen…
Alles erledigt! Wenn Sie alle oben genannten Schritte abgeschlossen haben,
sollte Ihre MariaDB-Installation jetzt sicher sein.
Danke, dass Sie MariaDB verwenden!
[root@server1 ~]#
3 Installation von Lighttpd
Lighttpd ist als Fedora-Paket verfügbar, daher können wir es wie folgt installieren:
yum install lighttpdDann erstellen wir die Systemstartlinks für Lighttpd (damit Lighttpd automatisch startet, wenn das System bootet) und starten es:
systemctl enable lighttpd.service
systemctl restart lighttpd.serviceJetzt richten Sie Ihren Browser auf http://192.168.0.100, und Sie sollten die Platzhalterseite von Lighttpd sehen:

Das Standard-Dokumentenverzeichnis von Lighttpd ist /var/www/lighttpd auf Fedora, und die Konfigurationsdatei ist /etc/lighttpd/lighttpd.conf.
4 Installation von PHP5
Wir können PHP5 in Lighttpd über PHP-FPM zum Laufen bringen, das wir wie folgt installieren:
yum install php-fpm lighttpd-fastcgiPHP-FPM ist ein Daemon-Prozess, der einen FastCGI-Server auf Port 9000 ausführt.
Erstellen Sie die Systemstartlinks für PHP-FPM und starten Sie es:
systemctl enable php-fpm.service
systemctl start php-fpm.service5 Konfiguration von Lighttpd und PHP5
Um PHP5 in Lighttpd zu aktivieren, müssen wir zwei Dateien ändern, /etc/php.ini und /etc/lighttpd/lighttpd.conf. Zuerst öffnen wir /etc/php.ini und kommentieren die Zeile cgi.fix_pathinfo=1 aus:
vi /etc/php.ini| [...] ; cgi.fix_pathinfo bietet *echte* PATH_INFO/PATH_TRANSLATED-Unterstützung für CGI. PHPs ; vorheriges Verhalten war, 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 ; dies 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://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |
Dann öffnen wir /etc/lighttpd/conf.d/fastcgi.conf und stellen sicher, dass “mod_fastcgi” aktiviert ist:
vi /etc/lighttpd/conf.d/fastcgi.conf| [...] server.modules += ( "mod_fastcgi" ) [...] |
Dann, weiter unten in der Datei, gibt es einen fastcgi.server-Abschnitt - lassen Sie ihn auskommentiert und fügen Sie Ihren eigenen fastcgi.server-Abschnitt wie folgt hinzu:
| [...] ## PHP-Beispiel ## Vergessen Sie nicht, cgi.fix_pathinfo = 1 in der php.ini festzulegen. ## ## Die Anzahl der PHP-Prozesse, die Sie erhalten, kann leicht berechnet werden: ## ## num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN ) ## ## Für das Beispiel php-num-procs bedeutet dies, dass Sie 17*5 = 85 PHP ## Prozesse erhalten. Sie sollten immer diese hohe Anzahl für Ihre sehr ## stark frequentierten Websites benötigen. Und wenn Sie viel RAM haben. :) ## fastcgi.server += ( ".php" => (( "host" => "127.0.0.1", "port" => "9000", "broken-scriptfilename" => "enable" )) ) #fastcgi.server = ( ".php" => # ( "php-local" => # ( # "socket" => socket_dir + "/php-fastcgi-1.socket", # "bin-path" => server_root + "/cgi-bin/php5", # "max-procs" => 1, # "broken-scriptfilename" => "enable", # ) # ), # ( "php-tcp" => # ( # "host" => "127.0.0.1", # "port" => 9999, # "check-local" => "disable", # "broken-scriptfilename" => "enable", # ) # ), # ( "php-num-procs" => # ( # "socket" => socket_dir + "/php-fastcgi-2.socket", # "bin-path" => server_root + "/cgi-bin/php5", # "bin-environment" => ( # "PHP_FCGI_CHILDREN" => "16", # "PHP_FCGI_MAX_REQUESTS" => "10000", # ), # "max-procs" => 5, # "broken-scriptfilename" => "enable", # ) # ), # ) ), [...] |
Öffnen Sie /etc/lighttpd/modules.conf…
vi /etc/lighttpd/modules.conf… und aktivieren Sie die Datei /etc/lighttpd/conf.d/fastcgi.conf:
| [...] ## FastCGI (mod_fastcgi) ## include "conf.d/fastcgi.conf" [...] |
Dann starten wir Lighttpd neu:
systemctl restart lighttpd.serviceErhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.