Webserver Installation · 4 min read · Dec 17, 2025

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

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

Version 1.0
Autor: Falko Timme, aktualisiert von Srijan Kishore
Folgen Sie howtoforge auf Twitter

Lighttpd ist ein sicherer, schneller, standardskonformer Webserver, der für geschwindigkeitskritische Umgebungen entwickelt wurde. Dieses Tutorial zeigt, wie Sie Lighttpd auf einem OpenSUSE 13.1-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:

zypper install mysql-community-server mysql-community-server-client

Dann erstellen wir die Systemstartlinks für MySQL (damit MySQL automatisch startet, wenn das System bootet) und starten den MySQL-Server:

chkconfig mysql on   
systemctl start mysql.service

Um die MySQL-Installation zu sichern, führen Sie aus:

mysql_secure_installation

Jetzt werden Sie mehrere Fragen gestellt:

server1:~ # mysql_secure_installation

HINWEIS: DAS AUSFÜHREN ALLER TEILE DIESER SCRIPTES WIRD FÜR ALLE MySQL
SERVER IM PRODUKTIVE EINSATZ EMPFOHLEN! BITTE LESEN SIE JEDEN SCHRITT SORGFÄLTIG!

Um sich bei MySQL anzumelden und 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 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 bei MySQL anzumelden, ohne dass ein Benutzerkonto
für sie erstellt werden muss. Dies ist nur für Tests gedacht und soll
die Installation etwas reibungsloser gestalten. Sie sollten sie entfernen,
bevor Sie in eine Produktionsumgebung wechseln.

Anonyme Benutzer entfernen? [Y/n] <– Y
… Erfolg!

Normalerweise sollte root nur von ‘localhost’ aus verbunden werden dürfen.
Dies stellt sicher, dass jemand das Root-Passwort nicht vom
Netzwerk aus erraten kann.

Root-Login aus der Ferne verbieten? [Y/n] <– Y
… Erfolg!

Standardmäßig kommt MySQL mit einer Datenbank namens ‘test’, auf die
alle zugreifen können. Dies ist ebenfalls nur für Tests 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 für die 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-Einrichtung gesichert sein.

3 Installation von Lighttpd

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

zypper install lighttpd

Dann erstellen wir die Systemstartlinks für Lighttpd (damit Lighttpd automatisch startet, wenn das System bootet) und starten es:

chkconfig lighttpd on  
systemctl start lighttpd.service

Hinweis: Wenn Sie beim Starten des Lighttpd-Dienstes einen Fehler erhalten, deinstallieren Sie apache2, da apache2 den Prozess von Lighttpd stört. Danach können Sie den Dienst von Lighttpd starten.

zypper remove apache2  
chkconfig lighttpd on  
systemctl start lighttpd.service

Richten Sie jetzt Ihren Browser auf http://192.168.0.100, und Sie sollten sehen, dass Lighttpd eine Seite liefert (nun, es ist eine 404-Seite, da es keine Indexdatei im Dokumentenstamm von Lighttpd gibt, aber das bedeutet zumindest, dass Lighttpd einwandfrei 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-fpm

Bevor 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 13.1, 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 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 [...] |

Erstellen Sie als Nächstes die Systemstartlinks für php-fpm und starten Sie es:

chkconfig php-fpm on  
systemctl start php-fpm.service
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.