PHP, Apache, MySQL · 3 min read · Jan 01, 2026

PHP5-FPM Mit Apache2 Auf OpenSUSE 12.1 Verwenden - Seite 2

6 Konfigurieren von Apache

Um Apache mit PHP-FPM arbeiten zu lassen, benötigen wir die folgende Konfiguration:

| AllowOverride None Options +ExecCGI -Includes SetHandler fastcgi-script Order allow,deny Allow from all DirectoryIndex index.html index.shtml index.cgi index.php AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization |

(Um mehr über die FastCgiExternalServer-Direktive zu erfahren, werfen Sie einen Blick auf http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html#FastCgiExternalServer.)

Sie können es in die globale Apache-Konfiguration einfügen (damit es für alle vhosts aktiviert ist), zum Beispiel in /etc/apache2/conf.d/mod_fastcgi.conf, oder Sie können es in jeden vhost einfügen, der PHP-FPM verwenden soll. Ich möchte PHP-FPM mit allen vhosts verwenden, also öffne ich /etc/apache2/conf.d/mod_fastcgi.conf…

vi /etc/apache2/conf.d/mod_fastcgi.conf

… und füge den folgenden Abschnitt am Ende hinzu:

| [...] AllowOverride None Options +ExecCGI -Includes SetHandler fastcgi-script Order allow,deny Allow from all DirectoryIndex index.html index.shtml index.cgi index.php AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization |

Das Verzeichnis /usr/lib/cgi-bin/ muss existieren, also erstellen wir es wie folgt:

mkdir /usr/lib/cgi-bin/

Starten Sie Apache danach neu:

systemctl restart apache2.service

Jetzt erstellen Sie die folgende PHP-Datei im Dokumentenstamm /srv/www/htdocs des Standard-Apache-vhosts:

vi /srv/www/htdocs/info.php

| |

Jetzt rufen wir diese Datei in einem Browser auf (z.B. http://192.168.0.100/info.php):

Wie Sie sehen, funktioniert PHP5, und es funktioniert über FPM/FastCGI, wie in der Server-API-Zeile angezeigt. Wenn Sie weiter nach unten scrollen, sehen Sie alle Module, die bereits in PHP5 aktiviert sind. MySQL ist dort nicht aufgeführt, was bedeutet, dass wir noch keine MySQL-Unterstützung in PHP5 haben.

7 MySQL-Unterstützung In PHP5 Erhalten

Um MySQL-Unterstützung in PHP zu erhalten, können wir das Paket php5-mysql installieren. Es ist eine gute Idee, einige andere PHP5-Module zu installieren, da Sie diese möglicherweise für Ihre Anwendungen benötigen:

yast2 -i php5-mysql php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm

Jetzt laden Sie PHP-FPM neu:

systemctl reload php-fpm.service

Laden Sie jetzt http://192.168.0.100/info.php in Ihrem Browser neu und scrollen Sie wieder zum Abschnitt Module. Sie sollten jetzt viele neue Module dort finden, einschließlich des MySQL-Moduls:

8 phpMyAdmin

phpMyAdmin ist eine Weboberfläche, über die Sie Ihre MySQL-Datenbanken verwalten können.

phpMyAdmin kann wie folgt installiert werden:

yast2 -i phpMyAdmin

Um sicherzustellen, dass wir später von allen über ISPConfig erstellten Websites auf phpMyAdmin zugreifen können, indem wir /phpmyadmin (z.B. http://www.example.com/phpmyadmin) und /phpMyAdmin (z.B. http://www.example.com/phpMyAdmin) verwenden, öffnen Sie /etc/apache2/conf.d/phpMyAdmin.conf…

vi /etc/apache2/conf.d/phpMyAdmin.conf

… und fügen Sie die folgenden beiden Aliase gleich zu Beginn hinzu:

| Alias /phpMyAdmin /srv/www/htdocs/phpMyAdmin Alias /phpmyadmin /srv/www/htdocs/phpMyAdmin [...] |

Starten Sie Apache neu und laden Sie PHP-FPM neu:

systemctl restart apache2.service  
systemctl reload php-fpm.service

Danach können Sie auf phpMyAdmin unter http://192.168.0.100/phpMyAdmin/ zugreifen:

9 PHP-FPM Ein Unix-Socket Verwenden Lassen

Standardmäßig hört PHP-FPM auf Port 9000 auf 127.0.0.1. Es ist auch möglich, PHP-FPM einen Unix-Socket verwenden zu lassen, um den TCP-Overhead zu vermeiden. Um dies zu tun, öffnen Sie /etc/php5/fpm/php-fpm.conf…

vi /etc/php5/fpm/php-fpm.conf

… und lassen Sie die Listenzeile wie folgt aussehen:

| [...] ;listen = 127.0.0.1:9000 listen = /tmp/php5-fpm.sock [...] |

Setzen Sie auch den Besitzer, die Gruppe und die Berechtigungen des Sockets wie folgt:

| [...] ; Set permissions for unix socket, if one is used. In Linux, read/write ; permissions must be set in order to allow connections from a web server. Many ; BSD-derived systems allow connections regardless of permissions. ; Default Values: user and group are set as the running user ; mode is set to 0666 listen.owner = nobody listen.group = nobody listen.mode = 0666 [...] |

Laden Sie dann PHP-FPM neu:

systemctl reload php-fpm.service

Gehen Sie als Nächstes durch Ihre Apache-Konfiguration und alle Ihre vhosts und ändern Sie die Zeile FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization in FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorization, z.B. so:

vi /etc/apache2/conf.d/mod_fastcgi.conf

| [...] AllowOverride None Options +ExecCGI -Includes SetHandler fastcgi-script Order allow,deny Allow from all DirectoryIndex index.html index.shtml index.cgi index.php AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorization |

Laden Sie schließlich Apache neu:

systemctl reload apache2.service

10 Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.