Webserver Installation · 4 min read · Jan 27, 2026
Installation von Lighttpd mit PHP5 (PHP-FPM) und MySQL-Unterstützung auf OpenSUSE 12.2
Installation von Lighttpd mit PHP5 (PHP-FPM) und MySQL-Unterstützung auf OpenSUSE 12.2
Version 1.0
Autor: Falko Timme
Folge mir auf Twitter
Lighttpd ist ein sicherer, schneller, standards-konformer Webserver, der für geschwindigkeitskritische Umgebungen entwickelt wurde. Dieses Tutorial zeigt, wie Sie Lighttpd auf einem OpenSUSE 12.2-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 Seiten. 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:
zypper install mysql-community-server mysql-community-server-clientDann erstellen wir die Systemstartlinks für MySQL (damit MySQL automatisch startet, wenn das System bootet) und starten den MySQL-Server:
systemctl enable mysql.service
systemctl start mysql.serviceUm die MySQL-Installation abzusichern, führen Sie aus:
mysql_secure_installationJetzt werden Sie mehrere Fragen gestellt:
server1:~ # mysql_secure_installation
HINWEIS: DAS AUSFÜHREN ALLER TEILE DIESER SKRIPTE WIRD FÜR ALLE MYSQL
SERVER IM PRODUKTIONSEINSATZ EMPFOHLEN! BITTE LESEN SIE JEDEN SCHRITT
SORGFÄLTIG!
Um sich in 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, ist das Passwort leer,
also sollten Sie hier einfach die Eingabetaste drücken.
Geben Sie das aktuelle Passwort für root ein (für keines die Eingabetaste drücken): <– EINGABETASTE
OK, Passwort erfolgreich verwendet, weiter…
Das Festlegen des Root-Passworts stellt sicher, dass niemand ohne die
richtige Autorisierung auf den MySQL-Root-Benutzer zugreifen kann.
Root-Passwort festlegen? [Y/n] <– Y
Neues Passwort: <– geben Sie Ihr gewünschtes MySQL-Root-Passwort ein
Neues Passwort erneut eingeben: <– bestätigen Sie dieses Passwort
Passwort erfolgreich aktualisiert!
Aktualisieren der Berechtigungstabellen..
… Erfolg!
Standardmäßig hat eine MySQL-Installation einen anonymen Benutzer, der es
jedem ermöglicht, sich in MySQL anzumelden, ohne ein Benutzerkonto zu haben.
Dies ist nur für Testzwecke gedacht und soll die Installation etwas
reibungsloser gestalten. Sie sollten diese entfernen, bevor Sie in eine
Produktionsumgebung wechseln.
Anonyme Benutzer entfernen? [Y/n] <– Y
… 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] <– Y
… Erfolg!
Standardmäßig kommt MySQL mit einer Datenbank namens ‘test’, auf die
jeder zugreifen kann. 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] <– Y
- Testdatenbank wird gelöscht…
… Erfolg! - Berechtigungen auf der Testdatenbank werden entfernt…
… Erfolg!
Das Aktualisieren der Berechtigungstabellen stellt sicher, dass alle
Änderungen, die bisher vorgenommen wurden, sofort wirksam werden.
Berechtigungstabellen jetzt aktualisieren? [Y/n] <– Y
… 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!
server1:~ #
Jetzt sollte Ihre MySQL-Konfiguration gesichert sein.
3 Installation von Lighttpd
Lighttpd ist als OpenSUSE-Paket verfügbar, daher können wir es wie folgt installieren:
zypper 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 start lighttpd.serviceJetzt richten Sie Ihren Browser auf http://192.168.0.100, und Sie sollten sehen, dass Lighttpd eine Seite liefert (nun, es ist eine 404-Seite, weil es keine Indexdatei im Dokumentenstamm von Lighttpd gibt, aber das bedeutet zumindest, dass Lighttpd ordnungsgemäß funktioniert):

Der Standard-Dokumentenstamm von Lighttpd ist /srv/www/htdocs auf OpenSUSE, 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:
zypper install php5-fpmBevor wir PHP-FPM starten, benennen wir /etc/php5/fpm/php-fpm.conf.default in /etc/php5/fpm/php-fpm.conf um:
mv /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.confÄndern Sie die Berechtigungen des PHP-Sitzungsverzeichnisses:
chmod 1733 /var/lib/php5Öffnen Sie dann /etc/php5/fpm/php-fpm.conf…
vi /etc/php5/fpm/php-fpm.conf… und ändern Sie error_log in /var/log/php-fpm.log:
| [...] error_log = /var/log/php-fpm.log [...] |
Es gibt keine php.ini-Datei für PHP-FPM unter OpenSUSE 12.2, daher kopieren wir die CLI php.ini:
cp /etc/php5/cli/php.ini /etc/php5/fpm/Öffnen Sie als Nächstes /etc/php5/fpm/php.ini…
vi /etc/php5/fpm/php.ini… und setzen Sie cgi.fix_pathinfo auf 1:
| [...] ; 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 führt dazu, 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 [...] |
Erstellen Sie als Nächstes die Systemstartlinks für php-fpm und starten Sie es:
systemctl enable php-fpm.service
systemctl start php-fpm.serviceErhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.