So erstellen Sie phpMyAdmin auf einem Linux-Server, einen Webserver installieren (Apache or Nginx), PHP mit den erforderlichen Erweiterungen und MySQLInstallieren Sie anschließend MariaDB und dann phpMyAdmin über das Paket Ihrer Distribution. manager.
Konfigurieren Sie den Webserver, sichern Sie den Zugriff mit HTTPS und Authentifizierung und härten Sie ihn ab. MySQLDie folgenden Schritte umfassen Ubuntu / Debian und RHEL-basierte Systeme von Anfang bis Ende.
Wenn Sie sich fragen, wie Sie phpMyAdmin sicher und korrekt auf Linux-Serverumgebungen einrichten können, führt Sie dieser Leitfaden durch jeden Schritt – von den Voraussetzungen und der Installation bis hin zur Härtung. SSLund gängige Lösungsansätze.
Es ist für Anfänger geschrieben, aber präzise genug für Systemadministratoren, mit Befehlen für Ubuntu/Debian und CentOS/AlmaLinux/Rocky Linux.
Was ist phpMyAdmin und wann sollte man es verwenden?
phpMyAdmin ist eine browserbasierte Schnittstelle zu manage MySQL und MariaDB.

Es eignet sich ideal für die schnelle, visuelle Datenbankverwaltung: Abfragen ausführen, Datenbankabbilder importieren/exportieren, Benutzer verwalten und Tabellen untersuchen. Verwenden Sie es in Entwicklungs-, Staging- oder Produktionsumgebungen mit strengen Sicherheitsvorkehrungen. Für umfangreiche Automatisierung sind CLI-Tools oder APIs möglicherweise besser geeignet.
Voraussetzungen und Systemanforderungen
Vorher Installation von phpMyAdminStellen Sie sicher, dass Ihr Linux-Server über LAMP (Linux, Apache, MySQL/MariaDB, PHP) oder LEMP (Linux, Nginx, MySQL/MariaDB, PHP-FPM)-Stack. Sie benötigen außerdem sudo-/Root-Zugriff und geöffnete Firewall-Ports für HTTP/HTTPS.
- Unterstützte Betriebssysteme: Ubuntu 20.04/22.04/24.04, Debian 11/12, RHEL 8/9, AlmaLinux/Rocky 8/9
- Webserver: Apache 2.4+ oder Nginx 1.18
- Datenbank: MySQL 5.7+/8.0+ oder MariaDB 10.3+
- PHP: 7.4+ (PHP 8.x empfohlen) mit mysqli, pdo_mysql, mbstring, json, zip, gd, openssl
- Firewall: Erlauben Sie 80/tcp und 443/tcp
Kurzübersicht: Schritte zur Einrichtung von phpMyAdmin auf einem Linux-Server
- Aktualisieren Sie die Pakete und installieren Sie LAMP/LEMP.
- Installieren Sie phpMyAdmin über apt oder dnf/yum (aktivieren Sie EPEL auf RHEL-basierten Systemen).
- Einrichtung Apache Alias oder Nginx Server blockieren.
- Setze das Kugelfisch-Geheimnis und sichere den Zugang.
- HTTPS aktivieren mit Lass uns verschlüsseln.
- Härten MySQL/MariaDB und phpMyAdmin-Zugriff einschränken.
phpMyAdmin auf Ubuntu/Debian installieren (APT)
Diese Befehle setzen einen neu installierten Ubuntu/Debian-Server voraus. Falls Sie bereits LAMP/LEMP verwenden, können Sie phpMyAdmin direkt installieren.
# Update system
sudo apt update && sudo apt -y upgrade
# Install Apache (LAMP) or Nginx (LEMP)
# Option A: Apache
sudo apt -y install apache2
# Option B: Nginx
sudo apt -y install nginx
# Install MySQL or MariaDB
sudo apt -y install mysql-server
# or: sudo apt -y install mariadb-server
# Install PHP and key extensions
sudo apt -y install php php-fpm php-mysql php-mbstring php-zip php-gd php-json php-curl php-xml
# Install phpMyAdmin
sudo apt -y install phpmyadminBei der Installation werden Sie auf Debian-basierten Systemen möglicherweise aufgefordert, einen Webserver auszuwählen. Falls Sie nicht dazu aufgefordert werden, können Sie ihn wie unten beschrieben manuell konfigurieren. Stellen Sie außerdem sicher, dass… PHP-FPM ist aktiviert für Nginx Setups.
Apache auf Ubuntu/Debian
Aktivieren Sie die phpMyAdmin-Konfiguration und erforderliche Module, dann neu starten Apache.
# Enable PHP modules (commonly enabled by default)
sudo phpenmod mbstring
# Enable phpMyAdmin Apache config if not auto-enabled
# On Ubuntu/Debian, package typically deploys /etc/apache2/conf-enabled/phpmyadmin.conf
sudo a2enconf phpmyadmin
# Restart Apache
sudo systemctl restart apache2
# Optional: secure an alias (change default /phpmyadmin to a custom path)
# Edit /etc/apache2/conf-available/phpmyadmin.conf and update the alias to something unique
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
# Then reload
sudo systemctl reload apache2Greifen Sie über http://IHRE_SERVER_IP/phpmyadmin (oder Ihren benutzerdefinierten Alias) auf phpMyAdmin zu. Verwenden Sie eine MySQL/MariaDB-Benutzer mit den entsprechenden Berechtigungen.
Nginx auf Ubuntu/Debian
Nginx liest nicht Apache Die Konfiguration, die phpMyAdmin installiert. Sie geben den Pfad zum phpMyAdmin-Verzeichnis an und übergeben PHP zu PHP-FPM.
# Confirm PHP-FPM socket path
# Common: /run/php/php8.1-fpm.sock or /run/php/php8.2-fpm.sock
sudo systemctl status php*-fpm
# phpMyAdmin install path (usually):
# /usr/share/phpmyadmin
# Example Nginx server block
sudo nano /etc/nginx/sites-available/default
# Inside server { ... } add:
# location /mydbpanel {
# alias /usr/share/phpmyadmin/;
# index index.php index.html;
# location ~ \.php$ {
# include snippets/fastcgi-php.conf;
# fastcgi_pass unix:/run/php/php8.2-fpm.sock;
# }
# }
# Test and reload Nginx
sudo nginx -t && sudo systemctl reload nginxBesuchen Sie nun http://IHRE_DOMAIN/mydbpanel (verwenden Sie Ihren benutzerdefinierten Alias anstelle des Standardalias /phpmyadmin, um die Sichtbarkeit zu verringern).
phpMyAdmin auf RHEL/CentOS/AlmaLinux/Rocky installieren (DNF/YUM)
Auf RHEL-basierten Distributionen ist phpMyAdmin über EPEL verfügbar. Aktivieren Sie EPEL und installieren Sie anschließend Ihren Stack und phpMyAdmin.
# Update system
sudo dnf -y update
# Install EPEL
sudo dnf -y install epel-release
# Install web server
# Option A: Apache
sudo dnf -y install httpd
# Option B: Nginx
sudo dnf -y install nginx
# Install MySQL/MariaDB
sudo dnf -y install mariadb-server
# or configure official MySQL repo and:
# sudo dnf -y install mysql-server
# Install PHP and extensions
sudo dnf -y install php php-fpm php-mysqlnd php-mbstring php-zip php-gd php-json php-xml php-cli
# Install phpMyAdmin
sudo dnf -y install phpMyAdminApache auf RHEL-basierten Systemen
Starten Sie die Dienste, aktivieren Sie sie beim Systemstart und vergewissern Sie sich, dass die phpMyAdmin-Konfigurationsdatei enthalten ist.
sudo systemctl enable --now httpd mariadb
# phpMyAdmin config installed at /etc/httpd/conf.d/phpMyAdmin.conf
# Restrict access (recommended)
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
# Example restriction:
# <Directory /usr/share/phpMyAdmin>
# AddDefaultCharset UTF-8
# Require ip 203.0.113.0/24
# Require ip 127.0.0.1
#</Directory>
sudo systemctl restart httpdNginx auf RHEL-basierten Systemen
Erstellen Sie einen Alias für /usr/share/phpMyAdmin und konfigurieren Sie ihn. PHP-FPM.
sudo systemctl enable --now nginx php-fpm mariadb
# Example Nginx server block
sudo nano /etc/nginx/conf.d/default.conf
# server {
# listen 80;
# server_name _;
# root /usr/share/nginx/html;
#
# location /mydbpanel {
# alias /usr/share/phpMyAdmin/;
# index index.php index.html;
# }
#
# location ~ \.php$ {
# include fastcgi_params;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# fastcgi_pass unix:/run/php-fpm/www.sock;
# }
# }
sudo nginx -t && sudo systemctl reload nginxphpMyAdmin absichern: Wichtige Sicherheitsmaßnahmen
1) Das Geheimnis des Kugelfisches festlegen
Der Blowfish-Schlüssel verschlüsselt Cookies und sollte eine lange, zufällige Zeichenkette sein. Fügen Sie ihn in die Datei config.inc.php ein; falls die Datei nicht existiert, kopieren Sie das Beispiel aus dem phpMyAdmin-Verzeichnis.
# Create config if missing
sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
sudo nano /usr/share/phpmyadmin/config.inc.php
# Add or edit:
# $cfg['blowfish_secret'] = 'use-a-32-characters-or-longer-random-string';2) Ändern Sie den Standard-URL-Pfad
Vermeiden Sie /phpmyadmin. Verwenden Sie stattdessen einen eindeutigen Alias wie /mydbpanel-ab12. Aktualisieren Sie Ihre Apache conf oder Nginx Den Standort entsprechend anpassen und den Dienst neu laden.
3) Zugriff einschränken (IP-Zulassungsliste oder HTTP-Authentifizierung)
Bestimmte IPs zulassen oder eine zweite Anmeldeebene mit HTTP-Basisauthentifizierung hinzufügen.
# Apache: Restrict by IP inside the phpMyAdmin Directory block
# Require ip 203.0.113.10 198.51.100.25
# Nginx: Restrict by IP
# location /mydbpanel {
# allow 203.0.113.10;
# allow 198.51.100.25;
# deny all;
# alias /usr/share/phpmyadmin/;
# index index.php;
# }Für HTTP-Basisauthentifizierung auf Apache, use htpasswd; on NginxVerwenden Sie htpasswd und auth_basic/auth_basic_user_file.
4) Aktivieren Sie HTTPS mit Let's Encrypt.
Verschlüsseln Sie den Datenverkehr, um Anmeldedaten und Datenübertragungen zu schützen. Nutzen Sie Certbot für kostenlose TLS-Zertifikate.
# Apache (Ubuntu/Debian)
sudo apt -y install certbot python3-certbot-apache
sudo certbot --apache -d example.com -d www.example.com
# Nginx (Ubuntu/Debian)
sudo apt -y install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
# RHEL-based:
sudo dnf -y install certbot python3-certbot-apache # or python3-certbot-nginx
sudo certbot --apache -d example.com # or --nginx
# Auto-renewal is installed by default; verify with:
sudo systemctl status certbot.timer5) Härten MySQL/MariaDB
Sichern Sie den Datenbankserver und vermeiden Sie den Zugriff über das Root-Verzeichnis für das Web.
# Initial hardening
sudo mysql_secure_installation
# Create a least-privilege database user
sudo mysql -u root -p
# In the MySQL shell:
# CREATE DATABASE appdb;
# CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'StrongPassword!';
# GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
# FLUSH PRIVILEGES;
# EXIT;Häufige phpMyAdmin-Fehler beheben
- 404 Nicht gefunden: Möglicherweise ist Ihr Alias/Speicherort falsch. Überprüfen Sie den Pfad (/usr/share/phpMyAdmin) und die Webserver-Konfiguration; laden Sie den Dienst neu.
- Zugriff verweigert (403): Einblick in das Apache/Nginx Zulassungs-/Verweigerungsregeln und Verzeichnisberechtigungen. Ein Apache, bestätigen Sie die erforderlichen Anweisungen; auf Nginx, entfernen Sie eine zu weit gefasste Ablehnungsrichtlinie.
- PHP Fehler/Leere Seite: Gewährleisten PHP-FPM läuft und der Socket/Pfad stimmt mit Ihrer Konfiguration überein. Stellen Sie sicher, dass Erweiterungen wie mbstring und mysqli aktiviert sind.
- Anmeldeversuch fehlgeschlagen: Überprüfen Sie die MySQL Benutzer und Host, dann prüfen MySQL Kompatibilität des Authentifizierungs-Plugins. Überprüfen Sie gegebenenfalls das mysql_native_password für ältere Clients.
- Geheime Warnung vor Kugelfischen: Setzen Sie $cfg['blowfish_secret'] in config.inc.php und löschen Sie die Browser-Cookies.
Bewährte Verfahren und Leistungstipps
- phpMyAdmin sollte nur bei Bedarf freigegeben werden. Schützen Sie es durch ein VPN, eine IP-Whitelist oder HTTP-Authentifizierung.
- Ändern Sie den Standardalias und erzwingen Sie HTTPS für die gesamte Website mit HSTS.
- Fernsteuerung deaktivieren MySQL Root-Login; Verwendung benannter Benutzer pro Anwendung.
- Betriebssystem behalten PHPund phpMyAdmin ist auf dem neuesten Stand. Patches regelmäßig installieren.
- Begrenzen Sie Uploads und Ausführungszeit in PHP zur Gewährleistung der Stabilität beim Import großer Datenmengen.
- Vor größeren Änderungen sollten Konfigurationen und Datenbanken gesichert werden; die Wiederherstellung sollte regelmäßig getestet werden.
Einblicke aus der Hosting-Praxis
Im Produktivbetrieb setzen wir phpMyAdmin häufig auf einer abgesicherten Admin-Subdomain mit Firewall-Zulassungslisten und kurzen Zugriffsfenstern ein. Für große Importe sind CLI-Tools (mysql, mysqldump) deutlich zuverlässiger und schneller als Browser-Uploads – insbesondere bei großen Datenmengen. SSH.
Wann Managed Hosting hilft
Wenn Sie das lieber nicht möchten manage SSLFirewalls und Updates, ein manageEin VPS oder Cloud-Server spart Stunden und reduziert das Risiko. YouStableUnsere Ingenieure härten die Systeme im Voraus ab, richten auf Anfrage phpMyAdmin ein und überwachen Leistung und Sicherheit, damit Sie sich auf die Entwicklung Ihrer Anwendung konzentrieren können.
Häufig gestellte Fragen
Ist die Verwendung von phpMyAdmin auf einem öffentlichen Server sicher?
Ja – vorausgesetzt, die Sicherheitsvorkehrungen sind korrekt. Verwenden Sie HTTPS, ändern Sie den Standardalias, beschränken Sie den Zugriff per IP-Adresse oder fügen Sie HTTP-Authentifizierung hinzu und behalten Sie Folgendes bei: PHPphpMyAdmin wurde aktualisiert. Für den Produktivbetrieb sollten Sie ein VPN oder temporäre Zugriffsfenster in Betracht ziehen.
Wie installiere ich phpMyAdmin schnell auf Ubuntu?
Führe apt update aus, installiere Apache or Nginx erfahren PHPDann sudo apt install phpMyAdmin. Apache, a2enconf phpmyadmin; für NginxFügen Sie einen Location-Alias zu /usr/share/phpmyadmin hinzu und konfigurieren Sie PHP-FPM. Laden Sie den Webserver neu und aktivieren Sie HTTPS.
Wo wird phpMyAdmin unter Linux installiert?
Üblicherweise unter /usr/share/phpmyadmin. Apache enthält eine Konfigurationsdatei (z. B. /etc/apache2/conf-available/phpmyadmin.conf unter Ubuntu, /etc/httpd/conf.d/phpMyAdmin.conf unter RHEL). Für NginxSie müssen manuell einen Standortalias für dieses Verzeichnis erstellen.
Wie behebe ich den Fehler „mbstring-Erweiterung fehlt“ in phpMyAdmin?
Installieren Sie die Erweiterung und starten Sie den Computer neu. PHP/Webserver. Unter Ubuntu: sudo apt install php-mbstring && sudo phpenmod mbstring; anschließend systemctl restart apache2 oder reload Nginx und PHP-FPM. Auf RHEL: sudo dnf install php-mbstring und Dienste neu starten.
Kann ich phpMyAdmin ohne ausführen? Apache?
Selbstverständlich. Nginx und PHP-FPM funktioniert einwandfrei. Erstellen Sie einen Location-Alias, der auf /usr/share/phpmyadmin verweist, und stellen Sie sicher, dass fastcgi_pass auf den richtigen Pfad verweist. PHP-FPM-Sockel oder -Port, und neu laden Nginx. Gesichert durch HTTPS und IP-Beschränkungen.