Server Setup · 5 min read · Nov 29, 2025

Installieren von Apache, PHP und MySQL auf CentOS 7 (LAMP)

Dieses Tutorial zeigt, wie Sie einen Apache2-Webserver auf einem CentOS 7.0-Server mit PHP5-Unterstützung (mod_php) und MySQL-Unterstützung installieren können. LAMP steht für L inux, A pache, M ySQL, P HP.

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.

Ich werde hier das EPEL-Repo hinzufügen, um die neueste Version von phpMyAdmin wie folgt zu installieren:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*  
yum -y install epel-release

2 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. Um MySQL zu installieren, installieren wir MariaDB wie folgt:

yum -y install mariadb-server mariadb

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

systemctl start mariadb.service  
systemctl enable mariadb.service

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

mysql_secure_installation

[root@server1 ~]# mysql_secure_installation

/usr/bin/mysql_secure_installation: Zeile 379: find_mysql_client: Befehl nicht gefunden

HINWEIS: ES WIRD EMPFOHLEN, ALLE TEILE DIESER SCRIPT AUSZUFÜHREN FÜR ALLE MariaDB

SERVER IM PRODUKTIVE EINSATZ! BITTE JEDEN SCHRITT SORGFÄLTIG LESEN!

Um sich bei MariaDB anzumelden, um es zu sichern, benötigen wir das aktuelle

Passwort für den Root-Benutzer. Wenn Sie gerade MariaDB 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 (Eingabe für keines):

<–EINGABE

OK, Passwort erfolgreich verwendet, weiter…

Das Setzen des Root-Passworts stellt sicher, dass niemand ohne die richtige Autorisierung

auf den MariaDB-Root-Benutzer zugreifen kann.

Root-Passwort setzen? [Y/n]

Neues Passwort:

<–yourmariadbpassword

Neues Passwort erneut eingeben:

<–yourmariadbpassword

Passwort erfolgreich aktualisiert!

Aktualisieren der 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 Tests gedacht und soll die Installation

etwas reibungsloser gestalten. Sie sollten sie entfernen, bevor Sie in eine

Produktionsumgebung wechseln.

Anonyme Benutzer entfernen? [Y/n]

<–EINGABE

… Erfolg!

Normalerweise sollte root nur von ‘localhost’ aus zugreifen dürfen. Dies

stellt sicher, dass niemand das Root-Passwort aus dem Netzwerk erraten kann.

Root-Login aus der Ferne verbieten? [Y/n]

<–EINGABE

… Erfolg!

Standardmäßig kommt MariaDB mit einer Datenbank namens ‘test’, auf 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]

<–EINGABE

  • Testdatenbank löschen…

… Erfolg!

  • Berechtigungen auf der Testdatenbank entfernen…

… Erfolg!

Das Aktualisieren der Berechtigungstabellen stellt sicher, dass alle bisher

vorgenommenen Änderungen sofort wirksam werden.

Berechtigungstabellen jetzt aktualisieren? [Y/n]

<–EINGABE

… Erfolg!

Aufräumen…

Alles erledigt! 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 Apache2

CentOS 7 wird mit Apache 2.4 ausgeliefert. Apache2 ist direkt als CentOS 7.0-Paket verfügbar, daher können wir es wie folgt installieren:

yum -y install httpd

[root@server1 ~]# yum install httpd

Geladene Plugins: fastestmirror, langpacks

Lade Spiegelgeschwindigkeiten aus dem zwischengespeicherten Hostfile

  • basis: ftp.plusline.de

  • extras: mirror.23media.de

  • updates: mirror.23media.de

Paket httpd-2.4.6-17.el7.centos.1.x86_64 bereits installiert und neueste Version

Nichts zu tun

[root@server1 ~]#

Standardmäßig wird Apache installiert, wenn nicht, installieren Sie es bitte wie oben gezeigt.

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

systemctl start httpd.service
systemctl enable httpd.service

In CentOS 7.0 wird Firewall-cmd verwendet, daher werde ich es anpassen, um externen Zugriff auf Port 80 (http) und 443 (https) zu ermöglichen.

firewall-cmd --permanent --zone=public --add-service=http   
firewall-cmd --permanent --zone=public --add-service=https  
firewall-cmd --reload

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

4 Installation von PHP5

Wir können PHP5 und das Apache PHP5-Modul wie folgt installieren:

yum -y install php

Wir müssen Apache danach neu starten:

systemctl restart httpd.service

5 Testen von PHP5 / Erhalten von Details zu Ihrer PHP5-Installation

Das Dokumentenstammverzeichnis der Standardwebsite ist /var/www/html. Wir werden jetzt eine kleine PHP-Datei (info.php) in diesem Verzeichnis erstellen und sie in einem Browser aufrufen. Die Datei zeigt viele nützliche Details über unsere PHP-Installation an, wie z.B. die installierte PHP-Version.

vi /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 PHP5, und es funktioniert über den Apache 2.0-Handler, 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.

6 MySQL-Unterstützung in PHP5 erhalten

Um MySQL-Unterstützung in PHP zu erhalten, können wir das php-mysql-Paket installieren. Es ist eine gute Idee, einige andere PHP5-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-mysql

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-snmp php-soap curl curl-devel

Jetzt Apache2 neu starten:

systemctl restart httpd.service

Jetzt laden Sie 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:

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 install phpMyAdmin

Jetzt konfigurieren wir phpMyAdmin. Wir ändern die Apache-Konfiguration, damit phpMyAdmin Verbindungen nicht nur von localhost zulässt (indem wir den -Stanza auskommentieren):

vi /etc/httpd/conf.d/phpMyAdmin.conf
[...]  
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

#
#   
#     # Apache 2.4
#     
#       Require ip 127.0.0.1
#       Require ip ::1
#     
#   
#   
#     # 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
  
  
[...] 

Als nächstes ändern wir die Authentifizierung in phpMyAdmin von Cookie auf http:

vi /etc/phpMyAdmin/config.inc.php
[...]
$cfg['Servers'][$i]['auth_type']     = 'http';    // Authentifizierungsmethode (config, http oder cookie-basiert)?
[...]

Apache neu starten:

systemctl restart  httpd.service

Danach können Sie phpMyAdmin unter http://192.168.0.100/phpmyadmin/ aufrufen:

8 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/

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.