Webserver Installation · 5 min read · Jan 27, 2026
Installation von Lighttpd mit PHP5 (PHP-FPM) und MySQL-Unterstützung auf Fedora 18
Installation von Lighttpd mit PHP5 (PHP-FPM) und MySQL-Unterstützung auf Fedora 18
Version 1.0
Autor: Falko Timme
Folgen Sie 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 18-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 beschäftigte 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:
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
HINWEIS: DAS AUSFÜHREN ALLER TEILE DIESER SCRIPTES WIRD FÜR ALLE MYSQL
SERVER IM PRODUKTIONSEINSATZ EMPFOHLEN! BITTE LESEN SIE JEDEN SCHRITT SORGFÄLTIG!
Um sich bei MySQL anzumelden, um es abzusichern, benötigen wir das aktuelle
Passwort für den root-Benutzer. Wenn Sie MySQL gerade installiert haben und
Sie das root-Passwort noch nicht festgelegt haben, wird das Passwort leer sein,
also sollten Sie hier einfach die Eingabetaste drücken.
Geben Sie das aktuelle Passwort für root ein (drücken Sie die Eingabetaste für keines): <– EINGABETASTE
OK, Passwort erfolgreich verwendet, weiter…
Das Festlegen des root-Passworts stellt sicher, dass niemand sich ohne die
richtige Autorisierung beim MySQL-root-Benutzer anmelden kann.
Root-Passwort festlegen? [Y/n] <– EINGABETASTE
Neues Passwort: <– yourrootsqlpassword
Neues Passwort erneut eingeben: <– yourrootsqlpassword
Passwort erfolgreich aktualisiert!
Aktualisieren der Berechtigungstabellen..
… Erfolg!
Standardmäßig hat eine MySQL-Installation einen anonymen Benutzer, der es
jedem ermöglicht, sich bei MySQL anzumelden, ohne ein Benutzerkonto zu haben.
Dies ist nur für Testzwecke gedacht und soll die Installation etwas
reibungsloser gestalten. Sie sollten sie entfernen, bevor Sie in eine
Produktionsumgebung wechseln.
Anonyme Benutzer entfernen? [Y/n] <– EINGABETASTE
… Erfolg!
Normalerweise sollte root nur von ‘localhost’ aus eine Verbindung herstellen
dürfen. Dies stellt sicher, dass jemand das root-Passwort nicht über das
Netzwerk erraten kann.
Remote-Login für root verweigern? [Y/n] <– EINGABETASTE
… Erfolg!
Standardmäßig kommt MySQL mit einer Datenbank namens ‘test’, auf die jeder
Zugriff hat. Dies ist ebenfalls nur für Testzwecke gedacht und sollte
entfernt werden, bevor Sie in eine Produktionsumgebung wechseln.
Testdatenbank und Zugriff darauf entfernen? [Y/n] <– EINGABETASTE
- Testdatenbank wird gelöscht…
… Erfolg! - Berechtigungen für die Testdatenbank werden entfernt…
… Erfolg!
Das Aktualisieren der Berechtigungstabellen stellt sicher, dass alle bisher
getätigten Änderungen sofort wirksam werden.
Berechtigungstabellen jetzt aktualisieren? [Y/n] <– EINGABETASTE
… Erfolg!
Aufräumen…
Alles erledigt! Wenn Sie alle oben genannten Schritte abgeschlossen haben,
sollte Ihre MySQL-Installation jetzt sicher sein.
Danke, dass Sie MySQL 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.serviceRichten Sie jetzt Ihren Browser auf http://192.168.0.100, und Sie sollten die
Lighttpd-Platzhalterseite 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. PHP's ; 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 ; 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 gibt es weiter unten in der Datei einen fastcgi.server-Abschnitt - lassen Sie ihn
kommentiert 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 ## beschäftigten 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.