Server Installation · 7 min read · Nov 25, 2025
Wie man Apache, PHP 7.3 und MySQL auf CentOS 7.6 installiert

Dieses Tutorial zeigt, wie man einen Apache-Webserver auf einem CentOS 7-Server mit PHP (mod_php) und einer MySQL-Datenbank installiert. Das Akronym LAMP steht für L inux, A pache, M ySQL, P HP.
Dieses aktualisierte Tutorial zeigt die Installation der neuesten PHP-Versionen (7.0, 7.1, 7.2 und 7.3) auf CentOS 7.6.
1 Vorbemerkung
In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP p 192.168.0.100. Diese Einstellungen können bei Ihnen abweichen, daher müssen Sie sie gegebenenfalls anpassen.
Ich werde hier das EPEL-Repo hinzufügen, um die neueste phpMyAdmin-Version wie folgt zu installieren:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-releaseUm Dateien in der Shell zu bearbeiten, werde ich den Nano-Editor installieren. Wenn Sie vi zum Bearbeiten von Dateien bevorzugen, können Sie diesen Schritt überspringen.
yum -y install nano2 Installation von MySQL / MariaDB
MariaDB ist ein MySQL-Fork des ursprünglichen MySQL-Entwicklers Monty Widenius. MariaDB ist mit MySQL kompatibel, und ich habe mich entschieden, hier MariaDB anstelle von MySQL zu verwenden. Führen Sie diesen Befehl aus, um MariaDB mit yum zu installieren:
yum -y install mariadb-server mariadbDann erstellen wir die Systemstartlinks für MySQL (damit MySQL automatisch startet, wenn das System bootet) und starten den MySQL-Server:
systemctl start mariadb.service
systemctl enable mariadb.serviceSetzen Sie Passwörter für das MySQL-Root-Konto:
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
HINWEIS: DAS AUSFÜHREN ALLER TEILE DIESES SCRIPTS WIRD FÜR ALLE MariaDB
SERVER IM PRODUKTIVE EINSATZ EMPFOHLEN! BITTE LESEN SIE JEDEN SCHRITT SORGFÄLTIG!
Um sich bei MariaDB anzumelden und es abzusichern, benötigen wir das aktuelle
Passwort für den Root-Benutzer. Wenn Sie MariaDB 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): <--ENTER
OK, Passwort erfolgreich verwendet, weiter...
Das Festlegen des Root-Passworts stellt sicher, dass niemand sich ohne die
richtige Autorisierung beim MariaDB-Root-Benutzer anmelden kann.
Root-Passwort festlegen? [Y/n]
Neues Passwort: <--yourmariadbpassword
Neues Passwort erneut eingeben: <--yourmariadbpassword
Passwort erfolgreich aktualisiert!
Aktualisiere Berechtigungstabellen..
... Erfolg!
Standardmäßig hat eine MariaDB-Installation einen anonymen Benutzer, der es jedem
ermöglicht, sich bei MariaDB anzumelden, ohne dass ein Benutzerkonto für
ihn erstellt werden muss. Dies ist nur für Testzwecke gedacht und soll die
Installation etwas reibungsloser 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 eine Verbindung herstellen
dürfen. Dies stellt sicher, dass niemand das Root-Passwort über das Netzwerk
erraten kann.
Remote-Root-Login verbieten? [Y/n] <--ENTER
... Erfolg!
Standardmäßig kommt MariaDB mit einer Datenbank namens 'test', auf die jeder
Zugriff hat. 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 auf Testdatenbank entfernen...
... Erfolg!
Das Neuladen der Berechtigungstabellen stellt sicher, dass alle bisher
getätigten Änderungen sofort wirksam werden.
Berechtigungstabellen jetzt neu laden? [Y/n] <--ENTER
... Erfolg!
Aufräumen...
Fertig! Wenn Sie alle oben genannten Schritte abgeschlossen haben, sollte Ihre
MariaDB-Installation jetzt sicher sein.
Danke, dass Sie MariaDB verwenden!
[root@server1 ~]#
## 3 Installation von Apache
CentOS 7 wird mit Apache 2.4 ausgeliefert. Apache ist direkt als CentOS 7-Paket verfügbar, daher können wir es wie folgt installieren:
yum -y install httpd
Hier ein Screenshot des Installationsprozesses.

Jetzt konfigurieren Sie Ihr System so, dass Apache beim Booten gestartet wird...
systemctl start httpd.service
systemctl enable httpd.service
Um auf den Webserver von außen zugreifen zu können, müssen wir die HTTP (80) und HTTPS (443) Ports in der Firewall öffnen. Die Standardfirewall auf CentOS ist firewalld, die mit dem Befehl firewalld-cmd konfiguriert werden kann.
firewall-cmd –permanent –zone=public –add-service=http
firewall-cmd –permanent –zone=public –add-service=https
firewall-cmd –reload
Rufen Sie jetzt die IP-Adresse Ihres Servers in Ihrem Browser auf, in meinem Fall http://192.168.0.100, und Sie sollten die Platzhalterseite von Apache sehen:

## 4 Installation von PHP
Die PHP-Version, die standardmäßig mit CentOS ausgeliefert wird, ist ziemlich alt (PHP 5.4). Daher werde ich Ihnen in diesem Kapitel einige Optionen zeigen, um neuere PHP-Versionen wie PHP 7.0 bis 7.3 aus dem Remi-Repository zu installieren.
Fügen Sie das Remi-CentOS-Repository hinzu.
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Installieren Sie yum-utils, da wir das yum-config-manager-Dienstprogramm benötigen.
yum -y install yum-utils
und führen Sie yum update aus
yum update
Jetzt müssen Sie auswählen, welche PHP-Version Sie auf dem Server verwenden möchten. Wenn Sie PHP 5.4 verwenden möchten, fahren Sie mit Kapitel 4.1 fort. Um PHP 7.0 zu installieren, folgen Sie den Befehlen in Kapitel 4.2, für PHP 7.1 Kapitel 4.3, für PHP 7.4 verwenden Sie Kapitel 4.4 und für PHP 7.3 folgen Sie stattdessen Kapitel 4.5. Folgen Sie nur einem der 4.x-Kapitel und nicht allen, da Sie mit Apache mod_php nur eine PHP-Version gleichzeitig verwenden können.
### 4.1 Installieren von PHP 5.4
Um PHP 5.4 zu installieren, führen Sie diesen Befehl aus:
yum -y install php
### 4.2 Installieren von PHP 7.0
Wir können PHP 7.0 und das Apache PHP 7.0-Modul wie folgt installieren:
yum-config-manager –enable remi-php70
yum -y install php php-opcache
### 4.3 Installieren von PHP 7.1
Wenn Sie stattdessen PHP 7.1 verwenden möchten, verwenden Sie:
yum-config-manager –enable remi-php71
yum -y install php php-opcache
### 4.4 Installieren von PHP 7.2
Wenn Sie stattdessen PHP 7.2 verwenden möchten, verwenden Sie:
yum-config-manager –enable remi-php72
yum -y install php php-opcache
### 4.5 Installieren von PHP 7.3
Wenn Sie stattdessen PHP 7.3 verwenden möchten, verwenden Sie:
yum-config-manager –enable remi-php73
yum -y install php php-opcache
In diesem Beispiel und in der herunterladbaren virtuellen Maschine werde ich PHP 7.3 verwenden.
Wir müssen Apache neu starten, um die Änderungen anzuwenden:
systemctl restart httpd.service
## 5 Testen von PHP / Abrufen von Details zu Ihrer PHP-Installation
Das Dokumentenstammverzeichnis der Standardwebsite ist /var/www/html. Wir werden eine kleine PHP-Datei (info.php) in diesem Verzeichnis erstellen und sie in einem Browser aufrufen, um die PHP-Installation zu testen. Die Datei zeigt viele nützliche Details über unsere PHP-Installation an, wie die installierte PHP-Version.
nano /var/www/html/info.php
Jetzt rufen wir diese Datei in einem Browser auf (z. B. http://192.168.0.100/info.php):

Wie Sie sehen, funktioniert PHP 7.3, und es funktioniert über den Apache 2.0-Handler, wie in der Server-API-Zeile gezeigt. Wenn Sie weiter nach unten scrollen, sehen Sie alle Module, die bereits in PHP aktiviert sind. MySQL ist dort nicht aufgeführt, was bedeutet, dass wir noch keine MySQL-Unterstützung in PHP haben.
## 6 MySQL-Unterstützung in PHP erhalten
Um MySQL-Unterstützung in PHP zu erhalten, können wir das Paket php-mysqlnd installieren. Es ist eine gute Idee, auch einige andere PHP-Module zu installieren, da Sie diese möglicherweise für Ihre Anwendungen benötigen. Sie können nach verfügbaren PHP5-Modulen wie folgt suchen:
yum search php
Wählen Sie die benötigten aus und installieren Sie sie wie folgt:
yum -y install php-mysqlnd php-pdo
Im nächsten Schritt werde ich einige gängige PHP-Module installieren, die von CMS-Systemen wie Wordpress, Joomla und Drupal benötigt werden:
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel
Jetzt starten Sie den Apache-Webserver neu:
systemctl restart httpd.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 wie curl usw. dort finden:

Wenn Sie die PHP-Info-Ausgabe nicht mehr benötigen, löschen Sie diese Datei aus Sicherheitsgründen.
rm /var/www/html/info.php
## 7 Installation von phpMyAdmin
phpMyAdmin ist eine Weboberfläche, über die Sie Ihre MySQL-Datenbanken verwalten können.
phpMyAdmin kann jetzt wie folgt installiert werden:
yum -y install phpMyAdmin
Jetzt konfigurieren wir phpMyAdmin. Wir ändern die Apache-Konfiguration, sodass phpMyAdmin Verbindungen nicht nur von localhost zulässt (indem wir die -Stanza auskommentieren und die Zeile 'Require all granted' hinzufügen):
nano /etc/httpd/conf.d/phpMyAdmin.conf
[…]
Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin
AddDefaultCharset UTF-8
# Apache 2.4
Require all granted
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
Options none
AllowOverride Limit
Require all granted[…]
Starten Sie Apache neu, um die Konfigurationsänderungen anzuwenden:
systemctl restart httpd.service
Danach können Sie phpMyAdmin unter http://192.168.0.100/phpmyadmin/ aufrufen:


## 8 Herunterladen als virtuelle Maschine
Dieses Setup ist als Download der virtuellen Maschine im ova/ovf-Format (kompatibel mit VMWare und Virtualbox) für howtoforge-Abonnenten verfügbar.
Anmeldedaten für die VM
- Das Linux-Root-Passwort lautet: howtoforge.
- Das MySQL-Root-Passwort lautet: howtoforge
Bitte ändern Sie beide Passwörter beim ersten Login.
- Die IP-Adresse der VM ist 192.168.0.100
## 9 Links
Apache: http://httpd.apache.org/
PHP: http://www.php.net/
MySQL: http://www.mysql.com/
CentOS: http://www.centos.org/
phpMyAdmin: http://www.phpmyadmin.net/Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.