PHP, Apache, OpenSUSE · 4 min read · Jan 01, 2026

PHP5-FPM Mit Apache2 Auf OpenSUSE 12.1 Verwenden

PHP5-FPM Mit Apache2 Auf OpenSUSE 12.1 Verwenden

Version 1.0
Autor: Falko Timme
Folge mir auf Twitter

Dieses Tutorial zeigt, wie Sie einen Apache2-Webserver auf einem OpenSUSE 12.1-Server mit PHP5 (ü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 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 Aktivieren zusätzlicher Repositories

Wir müssen später mod_fastcgi installieren, das in einem Repository verfügbar ist, das standardmäßig nicht aktiviert ist. Wir können es wie folgt aktivieren:

zypper --gpg-auto-import-keys addrepo --name "Drittanbieter-Module für den Apache HTTP-Server. (Apache_openSUSE_12.1)" http://download.opensuse.org/repositories/Apache:/Modules/Apache_openSUSE_12.1/ apache-third-party-12.1

3 MySQL 5 installieren

Um MySQL zu installieren, tun wir Folgendes:

yast2 -i mysql mysql-client mysql-community-server

Dann 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.service

Um die MySQL-Installation zu sichern, führen Sie Folgendes 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 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 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 (drücken Sie die Eingabetaste für keines): <– EINGABETASTE
OK, Passwort erfolgreich verwendet, weiter…

Das Festlegen des Root-Passworts stellt sicher, dass niemand ohne
ordnungsgemäße 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 ein Benutzerkonto zu haben.
Dies ist nur für Tests gedacht und soll die Installation etwas
smoother 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 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
Zugriff hat. 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 bisher
getätigten Änderungen 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:~ #

Jetzt sollte Ihre MySQL-Konfiguration gesichert sein.

4 Apache2 installieren

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

yast2 -i apache2

Jetzt konfigurieren Sie Ihr System so, dass Apache beim Booten gestartet wird…

systemctl enable apache2.service

… und starten Sie Apache:

systemctl start apache2.service

Richten Sie jetzt Ihren Browser auf http://192.168.0.100, und Sie sollten die Platzhalterseite von Apache2 sehen (machen Sie sich keine Sorgen über den 403-Fehler, dieser tritt auf, weil keine Indexdatei (z. B. index.html) im Dokumentstammverzeichnis vorhanden ist):

Der Standard-Dokumentstamm von Apache ist /srv/www/htdocs/ auf OpenSUSE, und die Konfigurationsdatei ist /etc/apache2/httpd.conf. Zusätzliche Konfigurationen werden im Verzeichnis /etc/apache2/conf.d/ gespeichert.

5 PHP5 installieren

Wir können PHP5 in Apache2 über PHP-FPM und das mod_fastcgi-Modul von Apache zum Laufen bringen, das wir wie folgt installieren:

yast -i apache2-mod_fastcgi php5-fpm

Bevor 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

Ä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 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:

systemctl enable php-fpm.service   
systemctl start php-fpm.service

PHP-FPM ist ein Daemon-Prozess, der einen FastCGI-Server auf Port 9000 ausführt, wie Sie in der Ausgabe von

netstat -tapn
server1:~ # netstat -tapn  
Aktive Internetverbindungen (Server und etabliert)  
Proto  Recv-Q  Send-Q  Lokale Adresse           Fremde Adresse         Zustand       PID/Programmname  
tcp      0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2329/nginx  
tcp      0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1204/sshd  
tcp      0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      2511/php-fpm.conf)  
tcp      0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2059/mysqld  
tcp      0      0 192.168.0.100:22        192.168.0.199:1632      ESTABLISHED 1284/0  
tcp      0      0 :::22                    :::*                     LISTEN      1204/sshd  
server1:~ #

Aktivieren Sie als Nächstes die folgenden Apache-Module…

a2enmod actions  
a2enmod fastcgi  
a2enmod alias

… deaktivieren Sie mod_php5…

a2dismod php5

… und starten Sie Apache neu:

systemctl restart apache2.service
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.