Server Setup · 4 min read · Dec 30, 2025

PHP5-FPM Mit Apache2 Auf CentOS 6.3 Verwenden

PHP5-FPM Mit Apache2 Auf CentOS 6.3 Verwenden

Version 1.0
Autor: Falko Timme
Folge mir auf Twitter

Dieses Tutorial zeigt, wie Sie einen Apache2-Webserver auf einem CentOS 6.3-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 ersetzen.

2 Aktivieren zusätzlicher Repositories

Wir müssen später mod_fastcgi installieren, das in den RPMforge-Repositories verfügbar ist. RPMforge kann wie folgt aktiviert werden:

rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
cd /tmp  
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm  
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

php-fpm ist nicht in den offiziellen CentOS-Repositories verfügbar, sondern im Remi RPM-Repository, das selbst vom EPEL-Repository abhängt; wir können beide Repositories wie folgt aktivieren:

rpm --import https://fedoraproject.org/static/0608B895.txt   
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi  
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum install yum-priorities

Bearbeiten Sie /etc/yum.repos.d/epel.repo…

vi /etc/yum.repos.d/epel.repo

… und fügen Sie die Zeile priority=10 zum Abschnitt [epel] hinzu:

| [epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |

Dann tun Sie dasselbe für den Abschnitt [remi] in /etc/yum.repos.d/remi.repo und ändern Sie enabled auf 1:

vi /etc/yum.repos.d/remi.repo

| [remi] name=Les RPM de remi pour Enterprise Linux $releasever - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi failovermethod=priority [remi-test] name=Les RPM de remi en test pour Enterprise Linux $releasever - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/$releasever/test/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/test/mirror enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi |

3 MySQL 5 Installieren

Um MySQL zu installieren, tun wir Folgendes:

yum install mysql mysql-server

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

chkconfig --levels 235 mysqld on  
/etc/init.d/mysqld start

Setzen Sie Passwörter für das MySQL-Root-Konto:

mysql_secure_installation

[root@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 Benutzer root. Wenn Sie MySQL gerade installiert haben und
Sie das Root-Passwort noch nicht festgelegt haben, ist das Passwort
leer, sodass Sie hier einfach die Eingabetaste drücken sollten.

Aktuelles Passwort für root eingeben (für keines eingeben):
OK, Passwort erfolgreich verwendet, weiter…

Das Setzen des Root-Passworts stellt sicher, dass niemand
ohne die richtige Autorisierung auf den MySQL-Root-Benutzer zugreifen kann.

Root-Passwort setzen? [Y/n] <– ENTER
Neues Passwort: <– yourrootsqlpassword
Neues Passwort erneut eingeben: <– yourrootsqlpassword
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 um die Installation etwas reibungsloser zu gestalten.
Sie sollten sie entfernen, bevor Sie in eine
Produktionsumgebung wechseln.

Anonyme Benutzer entfernen? [Y/n] <– ENTER
… 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] <– ENTER
… Erfolg!

Standardmäßig kommt MySQL mit einer Datenbank namens ‘test’,
die jeder 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] <– ENTER

  • Testdatenbank wird gelöscht…
    … Erfolg!
  • Berechtigungen für die Testdatenbank werden entfernt…
    … Erfolg!

Das Neuladen der Berechtigungstabellen stellt sicher, dass
alle bisher vorgenommenen Änderungen sofort wirksam werden.

Berechtigungstabellen jetzt neu laden? [Y/n] <– ENTER
… 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!

[root@server1 ~]#

4 Apache2 Installieren

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

yum install httpd

Jetzt konfigurieren Sie Ihr System, um Apache beim Booten zu starten…

chkconfig --levels 235 httpd on

… und starten Sie Apache:

/etc/init.d/httpd start

Richten Sie jetzt Ihren Browser auf http://192.168.0.100, und Sie sollten die Platzhalterseite von Apache2 sehen:

Der Standard-Dokumentenstamm von Apache ist /var/www/html auf CentOS, und die Konfigurationsdatei ist /etc/httpd/conf/httpd.conf. Zusätzliche Konfigurationen werden im Verzeichnis /etc/httpd/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:

yum install mod_fastcgi php-fpm

Öffnen Sie dann /etc/php.ini:

vi /etc/php.ini

Um Fehler wie

[08-Aug-2011 18:07:08] PHP Warning: phpinfo(): Es ist nicht sicher, sich auf die Zeitzoneneinstellungen des Systems zu verlassen. Sie sind *verpflichtet*, die Einstellung date.timezone oder die Funktion date_default_timezone_set() zu verwenden. Falls Sie eine dieser Methoden verwendet haben und immer noch diese Warnung erhalten, haben Sie wahrscheinlich den Zeitzonenbezeichner falsch geschrieben. Wir haben 'Europe/Berlin' für 'CEST/2.0/DST' anstelle von /usr/share/nginx/html/info.php in Zeile 2 ausgewählt

… in /var/log/php-fpm/www-error.log zu vermeiden, wenn Sie ein PHP-Skript in Ihrem Browser aufrufen, sollten Sie date.timezone in /etc/php.ini setzen:

| [...] [Date] ; Definiert die Standardzeitzone, die von den Datumsfunktionen verwendet wird ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone = "Europe/Berlin" [...] |

Sie können die richtige Zeitzone für Ihr System ermitteln, indem Sie Folgendes ausführen:

cat /etc/sysconfig/clock
[root@server1 nginx]# cat /etc/sysconfig/clock  
ZONE="Europe/Berlin"  
[root@server1 nginx]#

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

chkconfig --levels 235 php-fpm on  
/etc/init.d/php-fpm start

PHP-FPM ist ein Daemon-Prozess (mit dem Init-Skript /etc/init.d/php-fpm), der einen FastCGI-Server auf Port 9000 ausführt.

Starten Sie als Nächstes Apache neu:

/etc/init.d/httpd restart
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.