Server Installation · 4 min read · Jan 25, 2026
Installation von Nginx mit PHP5 (und PHP-FPM) und MySQL-Unterstützung auf Fedora 17
Installation von Nginx mit PHP5 (und PHP-FPM) und MySQL-Unterstützung auf Fedora 17
Version 1.0
Autor: Falko Timme
Folgen Sie mir auf Twitter
Nginx (ausgesprochen “engine x”) ist ein kostenloser, Open-Source, leistungsstarker HTTP-Server. Nginx ist bekannt für seine Stabilität, seinen reichen Funktionsumfang, seine einfache Konfiguration und seinen geringen Ressourcenverbrauch. Dieses Tutorial zeigt, wie Sie Nginx auf einem Fedora 17-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 ersetzen.
2 Installation von MySQL 5
Zuerst installieren wir MySQL 5 wie folgt:
yum install mysql mysql-serverDann erstellen wir die Systemstartlinks für MySQL (damit MySQL automatisch startet, wenn das System bootet) und starten den MySQL-Server:
systemctl enable mysqld.service
systemctl start mysqld.serviceÜberprüfen Sie nun, ob das Netzwerk aktiviert ist. Führen Sie aus:
netstat -tap | grep mysqlEs sollte etwas wie folgt anzeigen:
[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 1116/mysqld
[root@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:
systemctl restart mysqld.serviceFühren Sie aus:
mysql_secure_installationum ein Passwort für den Benutzer root festzulegen (ansonsten kann jeder auf Ihre MySQL-Datenbank zugreifen!):
[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.
Geben Sie das aktuelle Passwort für root ein (drücken Sie Enter für keines): <– ENTER
OK, Passwort erfolgreich verwendet, weiter…
Das Festlegen des root-Passworts stellt sicher, dass niemand ohne die
richtige Autorisierung auf den MySQL-Benutzer root zugreifen kann.
Root-Passwort festlegen? [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 Testzwecke gedacht und soll die Installation
etwas reibungsloser gestalten. Sie sollten diese 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 jemand das root-Passwort nicht
über das Netzwerk erraten kann.
Root-Login aus der Ferne verbieten? [Y/n] <– ENTER
… Erfolg!
Standardmäßig kommt MySQL mit einer Datenbank namens ‘test’, auf die
jeder zugreifen kann. Dies ist ebenfalls nur für Testzwecke 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
Änderungen, die bisher vorgenommen wurden, 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 ~]#
3 Installation von Nginx
Nginx ist als Paket für Fedora 17 verfügbar, das wir wie folgt installieren können:
yum install nginxDann erstellen wir die Systemstartlinks für nginx und starten es:
systemctl enable nginx.service
systemctl start nginx.serviceGeben Sie die IP-Adresse oder den Hostnamen Ihres Webservers in einen Browser ein (z. B. http://192.168.0.100), und Sie sollten die Willkommensseite von nginx sehen:

4 Installation von PHP5
Wir können PHP5 in nginx über PHP-FPM 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 vielbeschäftigte Websites). Es gibt ein php-fpm-Paket in den offiziellen Fedora 17-Repositories, daher können wir php-fpm zusammen mit php-cli und einigen PHP5-Modulen wie php-mysql installieren, die Sie benötigen, wenn Sie MySQL aus Ihren PHP-Skripten verwenden möchten:
yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-magickwand php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidyAPC ist ein kostenloser und offener PHP-Opcode-Cache für das Caching und die Optimierung von PHP-Zwischencode. Es ist ähnlich wie andere PHP-Opcode-Caches, wie eAccelerator und Xcache. Es wird dringend empfohlen, einen dieser Caches zu installieren, um Ihre PHP-Seite zu beschleunigen.
APC kann wie folgt installiert werden:
yum install php-pecl-apcUm Fehler wie
[13-Nov-2011 22:13:16] 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 'CET/1.0/no 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 /etc/php.ini öffnen und date.timezone festlegen:
vi /etc/php.ini| [...] [Date] ; Definiert die Standardzeitzone, die von den Datumsfunktionen verwendet wird ; http://php.net/date.timezone date.timezone = "Europe/Berlin" [...] |
Sie können die richtige Zeitzone für Ihr System ermitteln, indem Sie ausführen:
cat /etc/sysconfig/clock[root@server1 ~]# cat /etc/sysconfig/clock
ZONE="Europe/Berlin"
[root@server1 ~]#Erstellen Sie als Nächstes die Systemstartlinks für php-fpm und starten Sie es:
systemctl enable php-fpm.service
systemctl start php-fpm.servicePHP-FPM ist ein Daemon-Prozess, der einen FastCGI-Server auf Port 9000 ausführt.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.