Datenbankverwaltung · 6 min read · Nov 06, 2025
phpMyAdmin auf CentOS 8 installieren und sichern

phpMyAdmin ist ein kostenloses und Open-Source-Tool zur Verwaltung von MySQL- und MariaDB-Servern über eine webbasierte Schnittstelle. Mit phpMyAdmin können Sie Datenbanken und Benutzer erstellen und verwalten, SQL-Anweisungen ausführen, Daten importieren und exportieren sowie Datenbankaktivitäten wie das Erstellen, Löschen von Tabellen, Spalten, Indizes, Berechtigungen und vieles mehr durchführen. phpMyAdmin ist eines der beliebtesten und am weitesten verbreiteten Verwaltungstools, insbesondere für Webhosting-Dienste.
Funktionen
Bietet eine einfache und benutzerfreundliche Weboberfläche.
Importiert Daten aus CSV und SQL.
Unterstützt die meisten MySQL-Funktionen, einschließlich Erstellen, Kopieren, Löschen, Umbenennen, Löschen und Ändern von Datenbanken, Tabellen, Feldern und Indizes.
Ermöglicht den Export von Daten in verschiedene Formate wie PDF, CSV, SQL, XML und viele mehr.
Verwaltung mehrerer Server.
Erstellung komplexer Abfragen mit Abfrage-nach-Beispiel (QBE).
In diesem Tutorial zeigen wir Ihnen, wie Sie phpMyAdmin auf einem CentOS 8-Server installieren und sichern.
Anforderungen
Ein Server, der CentOS 8 ausführt.
Ein Root-Passwort ist auf dem Server konfiguriert.
LAMP-Server installieren
Zuerst müssen Sie Apache, MariaDB, PHP und andere PHP-Bibliotheken auf Ihrem Server installieren. Sie können alle mit dem folgenden Befehl installieren:
dnf install httpd mariadb-server php php-pdo php-pecl-zip php-json php-common php-fpm php-mbstring php-cli php-mysqlnd php-json php-mbstring wget unzipSobald alle Pakete installiert sind, starten Sie den Apache- und MariaDB-Dienst und aktivieren Sie sie, damit sie nach dem Systemneustart mit dem folgenden Befehl gestartet werden:
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadbSobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
MariaDB konfigurieren
Standardmäßig ist MariaDB nicht gesichert. Daher müssen Sie es zuerst sichern. Sie können dies tun, indem Sie das Skript mysql_secure_installation ausführen:
mysql_secure_installationBeantworten Sie alle Fragen wie unten gezeigt:
Set root password? [Y/n] Y
New password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Sobald Sie fertig sind, sollten Sie die folgende Ausgabe sehen:
... Erfolg!
Bereinigen...
Alles erledigt! Wenn Sie alle oben genannten Schritte abgeschlossen haben, sollte Ihre MariaDB-Installation jetzt sicher sein.
Danke, dass Sie MariaDB verwenden!
An diesem Punkt ist Ihre MariaDB-Installation gesichert.
phpMyAdmin installieren
Standardmäßig ist phpMyAdmin im Standard-Repository von CentOS 8 nicht verfügbar. Daher müssen Sie die neueste Version von phpMyAdmin von der offiziellen Website herunterladen. Sie können es mit dem folgenden Befehl herunterladen:
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.2/phpMyAdmin-4.9.2-all-languages.zipSobald der Download abgeschlossen ist, entpacken Sie die heruntergeladene Datei mit dem folgenden Befehl:
unzip phpMyAdmin-4.9.2-all-languages.zipAls Nächstes verschieben Sie den extrahierten Inhalt in das Verzeichnis /usr/share, wie unten gezeigt:
mv phpMyAdmin-4.9.2-all-languages /usr/share/phpmyadminÄndern Sie dann das Verzeichnis zu /usr/share/phpmyadmin und benennen Sie die Datei config.sample.inc.php um:
cd /usr/share/phpmyadmin
mv config.sample.inc.php config.inc.phpÖffnen Sie als Nächstes die Datei mit Ihrem bevorzugten Texteditor, wie unten gezeigt:
nano config.inc.phpÄndern Sie die folgende Zeile:
$cfg['blowfish_secret'] = 'your-secret-password';
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Importieren Sie dann die create_tables.sql mit dem folgenden Befehl:
mysql < /usr/share/phpmyadmin/sql/create_tables.sql -u root -pGeben Sie Ihr Root-Passwort ein, wenn Sie dazu aufgefordert werden, um die Tabelle zu importieren.
Erstellen Sie als Nächstes ein tmp-Verzeichnis für phpmyadmin und geben Sie die entsprechenden Berechtigungen:
mkdir /usr/share/phpmyadmin/tmp
chown -R apache:apache /usr/share/phpmyadmin
chmod 777 /usr/share/phpmyadmin/tmpApache für phpMyAdmin konfigurieren
Als Nächstes müssen Sie eine Apache-virtuelle Hostkonfigurationsdatei für phpMyAdmin erstellen. Sie können dies mit dem folgenden Befehl tun:
nano /etc/httpd/conf.d/phpmyadmin.confFügen Sie die folgenden Zeilen hinzu:
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
# Apache 2.4
Require all granted
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Apache-Dienst mit dem folgenden Befehl neu:
systemctl restart httpdSie können den Status von Apache mit dem folgenden Befehl überprüfen:
systemctl status httpdSie sollten die folgende Ausgabe sehen:
? httpd.service - Der Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
??php-fpm.conf
Active: active (running) since Wed 2019-12-18 01:07:52 EST; 6s ago
Docs: man:httpd.service(8)
Main PID: 5636 (httpd)
Status: "Gestartet, hört auf: port 80"
Tasks: 213 (limit: 25044)
Memory: 28.7M
CGroup: /system.slice/httpd.service
??5636 /usr/sbin/httpd -DFOREGROUND
??5639 /usr/sbin/httpd -DFOREGROUND
??5640 /usr/sbin/httpd -DFOREGROUND
??5641 /usr/sbin/httpd -DFOREGROUND
??5642 /usr/sbin/httpd -DFOREGROUND
Dec 18 01:07:52 centos8 systemd[1]: Stopped Der Apache HTTP Server.
Dec 18 01:07:52 centos8 systemd[1]: Starting Der Apache HTTP Server...
Dec 18 01:07:52 centos8 httpd[5636]: AH00558: httpd: Konnte den vollständig qualifizierten Domainnamen des Servers nicht zuverlässig bestimmen, verwende fe80::200:d0>
Dec 18 01:07:52 centos8 httpd[5636]: Server konfiguriert, hört auf: port 80
Dec 18 01:07:52 centos8 systemd[1]: Started Der Apache HTTP Server.
SELinux und Firewall konfigurieren
Standardmäßig ist SELinux in CentOS 8 aktiviert. Daher müssen Sie SELinux so konfigurieren, dass phpMyAdmin korrekt funktioniert.
Zuerst installieren Sie das Paket policycoreutils-python-utils, um eine SELinux-Umgebung zu verwalten, mit dem folgenden Befehl:
dnf install policycoreutils-python-utilsAktivieren Sie dann den Zugriff auf das Verzeichnis /usr/share/phpmyadmin mit dem folgenden Befehl:
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/phpmyadmin/'
semanage fcontext -a -t httpd_sys_rw_content_t "/usr/share/phpmyadmin/tmp(/.*)?"Jetzt rekursiv durch alle Dateien in Ihrem phpmyadmin-Verzeichnis gehen, indem Sie den folgenden Befehl ausführen:
restorecon -Rv '/usr/share/phpmyadmin/'Als Nächstes müssen Sie eine Firewallregel erstellen, um den HTTP-Dienst aus externen Netzwerken zuzulassen. Sie können dies mit dem folgenden Befehl zulassen:
firewall-cmd --permanent --add-service=http
firewall-cmd --reloadphpMyAdmin ist jetzt installiert und konfiguriert. Jetzt ist es an der Zeit zu überprüfen, ob es funktioniert oder nicht.
Öffnen Sie Ihren Webbrowser und geben Sie die URL http://your-server-ip/phpmyadmin ein. Sie werden auf die folgende Seite weitergeleitet:

phpMyAdmin sichern
An diesem Punkt funktioniert die phpMyAdmin-Instanz ordnungsgemäß. Es ist jedoch eine wichtige Aufgabe für Sie, Ihre phpMyAdmin-Instanz vor der Außenwelt zu sichern. In diesem Abschnitt zeigen wir Ihnen, wie Sie Ihre phpMyAdmin-Instanz sichern.
phpMyAdmin von einer bestimmten IP zulassen
Zuerst müssen Sie phpMyAdmin so konfigurieren, dass es nur von der IP-Adresse Ihrer Heimverbindung aus zugänglich ist.
Sie können dies tun, indem Sie die Datei /etc/httpd/conf.d/phpmyadmin.conf bearbeiten:
nano /etc/httpd/conf.d/phpmyadmin.confSuchen Sie die folgenden Zeilen:
Require all granted
Und ersetzen Sie sie durch Folgendes:
Require ip your-home--connection-ip-address
Require ip ::1
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Zusätzliche Authentifizierungsebene konfigurieren
Es ist eine gute Idee, Ihr phpmyadmin-Verzeichnis durch die Einrichtung einer grundlegenden Authentifizierung passwortgeschützt zu machen.
Um dies zu tun, erstellen Sie eine neue Authentifizierungsdatei mit dem htpasswd-Tool, wie unten gezeigt:
mkdir /etc/phpmyadmin
htpasswd -c /etc/phpmyadmin/.htpasswd adminSie werden aufgefordert, Ihr Admin-Passwort anzugeben, wie unten gezeigt:
New password:
Re-type new password:
Adding password for user admin
Als Nächstes müssen Sie Apache so konfigurieren, dass die .htpasswd-Datei verwendet wird. Sie können dies tun, indem Sie die Datei /etc/httpd/conf.d/phpmyadmin.conf bearbeiten.
nano /etc/httpd/conf.d/phpmyadmin.confFügen Sie die folgenden Zeilen unter der Zeile “AddDefaultCharset UTF-8” hinzu:
Options +FollowSymLinks +Multiviews +Indexes
AllowOverride None
AuthType basic
AuthName "Authentifizierung erforderlich"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Speichern Sie die Datei und starten Sie den Apache-Dienst neu, damit die Änderungen wirksam werden:
systemctl restart httpdphpMyAdmin aufrufen
Jetzt ist Ihre phpMyAdmin-Instanz mit einer zusätzlichen Sicherheitsebene gesichert. Öffnen Sie Ihren Webbrowser und geben Sie die URL http://your-server-ip/phpmyadmin ein. Sie werden aufgefordert, die Anmeldedaten des Benutzers einzugeben, den Sie zuvor erstellt haben, wie unten gezeigt:

Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche OK. Sie werden zur Anmeldeseite von phpMyAdmin weitergeleitet:

Geben Sie nun Ihre MySQL-Administrationsbenutzerdaten ein und klicken Sie auf die Schaltfläche Los. Sie sollten die folgende Seite sehen:

Fazit
Herzlichen Glückwunsch! Sie haben phpMyAdmin erfolgreich auf dem CentOS 8-Server installiert und gesichert. Sie können jetzt Datenbanken, Benutzer, Tabellen erstellen und diese über die webbasierte Schnittstelle verwalten. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.