Webserver Installation · 4 min read · Feb 08, 2026
Installation von Nginx mit PHP5 (und PHP-FPM) und MySQL-Unterstützung auf OpenSUSE 11.4
Installation von Nginx mit PHP5 (und PHP-FPM) und MySQL-Unterstützung auf OpenSUSE 11.4
Version 1.0
Autor: Falko Timme
Folge mir auf Twitter
Nginx (ausgesprochen “engine x”) ist ein kostenloser, Open-Source, leistungsstarker HTTP-Server. Nginx ist bekannt für seine Stabilität, seinen umfangreichen Funktionsumfang, seine einfache Konfiguration und seinen geringen Ressourcenverbrauch. Dieses Tutorial zeigt, wie Sie Nginx auf einem OpenSUSE 11.4-Server mit PHP5-Unterstützung (über PHP-FPM) und MySQL-Unterstützung installieren können.
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:
yast2 -i mysql mysql-client mysql-community-serverDann erstellen wir die Systemstartlinks für MySQL (damit MySQL automatisch startet, wenn das System bootet) und starten den MySQL-Server:
chkconfig -f --add mysql
/etc/init.d/mysql startÜberprüfen Sie nun, ob das Netzwerk aktiviert ist. Führen Sie aus:
netstat -tap | grep mysqlEs sollte etwas wie folgt anzeigen:
server1:~ # netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 2360/mysqld
server1:~ #Wenn nicht, bearbeiten Sie /etc/my.cnf und kommentieren Sie die Option skip-networking aus:
vi /etc/my.cnf| [...] #skip-networking [...] |
und starten Sie Ihren MySQL-Server neu:
/etc/init.d/mysql restart(Wenn Sie die Meldung “Sie haben kein gültiges vim-Binärpaket installiert. Bitte installieren Sie entweder “vim”, “vim-enhanced” oder “gvim”.” erhalten, führen Sie bitte aus:
yast2 -i vimum vi zu installieren und es erneut zu versuchen.)
Führen Sie aus:
mysql_secure_installationum ein Passwort für den Benutzer root festzulegen (ansonsten kann jeder auf Ihre MySQL-Datenbank zugreifen!):
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 bei MySQL anzumelden, um es zu sichern, benötigen wir das aktuelle
Passwort für den Benutzer root. Wenn Sie MySQL gerade installiert haben, und
Sie das root-Passwort noch nicht festgelegt haben, wird das Passwort
leer sein, sodass Sie hier einfach die Eingabetaste drücken sollten.
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 entsprechende 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!
Privilegientabellen werden neu geladen..
… 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 zugelassen werden.
Dies stellt sicher, dass jemand das root-Passwort nicht ü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
niemand zugreifen kann. 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 auf der Testdatenbank werden entfernt…
… Erfolg!
Das Neuladen der Berechtigungstabellen stellt sicher, dass alle
Änderungen, die bisher vorgenommen wurden, sofort wirksam werden.
Berechtigungstabellen jetzt neu laden? [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:~ #
3 Installation von Nginx
Nginx ist als Paket für OpenSUSE 11.4 verfügbar, das wir wie folgt installieren können:
yast2 -i nginx-0.8Dann erstellen wir die Systemstartlinks für nginx und starten es:
chkconfig -f --add nginx
/etc/init.d/nginx startGeben Sie die IP-Adresse oder den Hostnamen Ihres Webservers in einen Browser ein (z.B. http://192.168.0.100), und Sie sollten die folgende Seite sehen:

Sie erhalten einen 403-Fehler, da auf OpenSUSE 11.4 das Standard-Nginx-Dokumentenverzeichnis /srv/www/htdocs ist und es keine Indexseite in /srv/www/htdocs gibt.
4 Installation von PHP5
Wir können PHP5 über PHP-FPM in nginx zum Laufen bringen (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), die wir wie folgt installieren:
yast2 -i php5-fpmBevor wir PHP-FPM starten, benennen Sie /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Ö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 und kommentieren Sie pm.min_spare_servers und pm.max_spare_servers aus:
| [...] error_log = /var/log/php-fpm.log [...] pm.min_spare_servers = 5 [...] pm.max_spare_servers = 35 [...] |
Erstellen Sie als Nächstes die Systemstartlinks für php-fpm und starten Sie es:
chkconfig -f --add php-fpm
/etc/init.d/php-fpm startPHP-FPM ist ein Daemon-Prozess (mit dem Init-Skript /etc/init.d/php-fpm), der einen FastCGI-Server auf Port 9000 ausführt, wie Sie in der Ausgabe von
netstat -tapnsehen können:
server1:~ # netstat -tapn
Aktive Internetverbindungen (Server und etabliert)
Proto Recv-Q Send-Q Lokale Adresse Fremde Adresse Status PID/Programmname
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 4229/php-fpm.conf)
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2360/mysqld
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1378/rpcbind
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3795/nginx
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1190/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1425/master
tcp 0 0 :::111 :::* LISTEN 1378/rpcbind
tcp 0 0 :::22 :::* LISTEN 1190/sshd
tcp 0 0 ::1:25 :::* LISTEN 1425/master
server1:~ #Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.