Sparen Sie 15% bei allen Hosting-Diensten

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code: Skills Anfangen
Abschnitte
Linux Sicherheit Verwaltung

Wie man phpMyAdmin auf Ubuntu installiert und sichert (Vollständiger Leitfaden)

phpMyAdmin ist eines der am weitesten verbreiteten Open-Source-Tools zur Verwaltung von MySQL und MariaDB Datenbanken über eine browserbasierte grafische Benutzeroberfläche. Egal ob Sie ein Entwickler, Systemadministrator oder Website-Besitzer sind, es vereinfacht komplexe Datenbankoperationen erheblich — von der Ausführung von SQL-Abfragen bis zum Importieren/Exportieren von Daten — ohne dass Kenntnisse in der Befehlszeile erforderlich sind.

Da phpMyAdmin jedoch standardmäßig über eine öffentliche URL zugänglich ist, ist das Hinterlassen ohne Sicherung ein ernstes Risiko. Diese umfassende Anleitung führt Sie durch die Installation von phpMyAdmin auf Ubuntu 20.04/22.04, die Konfiguration mit Apache und die Härtung gegen unbefugten Zugriff mit mehreren Sicherheitsebenen.

Voraussetzungen

Stellen Sie vor Beginn sicher, dass die folgenden Anforderungen erfüllt sind:

  • Ein Server mit Ubuntu 20.04 oder 22.04 (physisch oder virtuell)
  • MySQL oder MariaDB installiert und aktiv ausgeführt
  • Apache2 Webserver installiert
  • Ein Benutzerkonto mit sudo-Privilegien
  • Ein Domänenname oder eine statische IP-Adresse, die auf Ihren Server verweist
  • (Empfohlen) Ein gültiges SSL-Zertifikat für verschlüsselten HTTPS-Zugriff

> Tipp: Wenn Sie noch keine Serverumgebung haben, erwägen Sie AlexHost VPS Hosting — vollständig verwaltete oder nicht verwaltete Linux VPS-Pläne mit sofortiger Bereitstellung, Root-Zugriff und SSD-Speicher, ideal für die sichere Ausführung von phpMyAdmin.

Schritt 1 — System und Paketindex aktualisieren

Beginnen Sie immer damit, Ihre Paketlisten zu aktualisieren und alle ausstehenden Systemupdates anzuwenden. Dies stellt sicher, dass Sie die neueste verfügbare Version von phpMyAdmin installieren und Abhängigkeitskonflikte vermeiden.

sudo apt update && sudo apt upgrade -y

Schritt 2 — phpMyAdmin installieren

Installieren Sie phpMyAdmin mit dem offiziellen Ubuntu APT-Repository:

sudo apt install phpmyadmin -y

Während der Installation wird ein interaktiver Konfigurationsassistent angezeigt. Folgen Sie diesen Schritten sorgfältig:

2.1 — Wählen Sie einen Webserver

Sie werden aufgefordert, einen Webserver zur automatischen Konfiguration auszuwählen:

Please choose the web server that should be automatically configured to run phpMyAdmin.

  [*] apache2
  [ ] lighttpd

Verwenden Sie die Leertaste, um apache2 auszuwählen, drücken Sie dann Tab, um <Ok> hervorzuheben, und drücken Sie Enter.

2.2 — Konfigurieren Sie die Datenbank mit dbconfig-common

Anschließend werden Sie gefragt, ob Sie eine Datenbank für phpMyAdmin mit dbconfig-common konfigurieren möchten:

Configure database for phpmyadmin with dbconfig-common?

Wählen Sie Ja. Sie werden dann aufgefordert, ein MySQL-Anwendungspasswort für den internen Datenbankbenutzer von phpMyAdmin einzugeben. Geben Sie entweder ein starkes Passwort ein oder lassen Sie es leer, um eines automatisch zu generieren.

2.3 — Überprüfen Sie die Installation

Bestätigen Sie nach Abschluss der Installation, dass phpMyAdmin installiert ist:

dpkg -l phpmyadmin

Sie sollten eine Zeile sehen, die die installierte Paketversion anzeigt.

Schritt 3 — Apache für phpMyAdmin konfigurieren

In einigen Ubuntu-Konfigurationen wird die phpMyAdmin Apache-Konfigurationsdatei nicht automatisch aktiviert. Überprüfen und aktivieren Sie sie manuell.

3.1 — Aktivieren Sie die phpMyAdmin-Konfiguration

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin

3.2 — Überprüfen Sie die Konfigurationsdatei

Öffnen Sie die Konfigurationsdatei, um ihren Inhalt zu überprüfen:

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Die Datei sollte die folgenden Direktiven (oder ähnliche) enthalten:

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options Indexes FollowSymLinks
    DirectoryIndex index.php

    <IfModule mod_authz_core.c>
        # Apache 2.4
        <RequireAny>
            Require all granted
        </RequireAny>
    </IfModule>
</Directory>

<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        # Apache 2.4
        <RequireAny>
            Require all granted
        </RequireAny>
    </IfModule>
</Directory>

Speichern und schließen Sie die Datei mit STRG+X, dann Y, dann Enter.

3.3 — Starten Sie Apache neu

Wenden Sie die Konfigurationsänderungen an:

sudo systemctl restart apache2

Überprüfen Sie, ob Apache ohne Fehler ausgeführt wird:

sudo systemctl status apache2

Schritt 4 — Sichern Sie phpMyAdmin mit HTTP Basic Authentication

Standardmäßig kann jeder, der die IP-Adresse Ihres Servers kennt, die phpMyAdmin-Anmeldeseite erreichen. Das Hinzufügen einer HTTP Basic Authentication-Schicht erstellt ein zweites Passwort-Gate, bevor Benutzer überhaupt das phpMyAdmin-Anmeldeformular sehen.

4.1 — Installieren Sie apache2-utils

sudo apt install apache2-utils -y

4.2 — Erstellen Sie die Passwortdatei und den Benutzer

Erstellen Sie eine .htpasswd Datei und fügen Sie Ihren ersten administrativen Benutzer hinzu. Ersetzen Sie your_admin_user durch Ihren gewählten Benutzernamen:

sudo mkdir -p /etc/phpmyadmin
sudo htpasswd -c /etc/phpmyadmin/.htpasswd your_admin_user

Sie werden aufgefordert, ein Passwort einzugeben und zu bestätigen. Um später zusätzliche Benutzer hinzuzufügen (ohne das -c Flag, das die Datei überschreiben würde):

sudo htpasswd /etc/phpmyadmin/.htpasswd another_user

4.3 — Aktualisieren Sie die phpMyAdmin Apache-Konfiguration

Bearbeiten Sie die phpMyAdmin-Konfigurationsdatei, um die Authentifizierung zu erzwingen:

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Suchen Sie den <Directory /usr/share/phpmyadmin> Block und fügen Sie die folgenden Zeilen darin ein:

<Directory /usr/share/phpmyadmin>
    Options Indexes FollowSymLinks
    DirectoryIndex index.php

    # HTTP Basic Authentication
    AuthType Basic
    AuthName "Restricted Access — Authorized Personnel Only"
    AuthUserFile /etc/phpmyadmin/.htpasswd
    Require valid-user

    <IfModule mod_authz_core.c>
        <RequireAny>
            Require valid-user
        </RequireAny>
    </IfModule>
</Directory>

Speichern und schließen Sie die Datei.

4.4 — Starten Sie Apache neu

sudo systemctl restart apache2

Wenn Sie nun zu /phpmyadmin navigieren, werden Sie zunächst zur Eingabe der HTTP-Authentifizierungsdaten aufgefordert, bevor die phpMyAdmin-Anmeldeseite angezeigt wird.

Schritt 5 — Zugriff nach IP-Adresse einschränken (Optional, aber empfohlen)

Für noch stärkeren Schutz beschränken Sie den phpMyAdmin-Zugriff auf bestimmte vertrauenswürdige IP-Adressen. Dies ist besonders nützlich, wenn Sie Ihren Server immer von einer festen IP aus aufrufen (z. B. aus einem Büronetzwerk oder über ein VPN).

Bearbeiten Sie die phpMyAdmin Apache-Konfiguration:

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Ändern Sie den <Directory> Block, um IP-basierte Einschränkungen einzubeziehen:

<Directory /usr/share/phpmyadmin>
    Options Indexes FollowSymLinks
    DirectoryIndex index.php

    AuthType Basic
    AuthName "Restricted Access"
    AuthUserFile /etc/phpmyadmin/.htpasswd

    <RequireAll>
        Require valid-user
        Require ip 203.0.113.50
        # Add more trusted IPs below:
        # Require ip 198.51.100.0/24
    </RequireAll>
</Directory>

Ersetzen Sie 203.0.113.50 durch Ihre tatsächliche vertrauenswürdige IP-Adresse oder Ihr Subnetz. Speichern Sie die Datei und starten Sie Apache neu:

sudo systemctl restart apache2

> Hinweis: Wenn sich Ihre IP-Adresse häufig ändert, erwägen Sie die Verwendung eines VPN mit einer statischen IP oder verlassen Sie sich auf HTTP Basic Authentication allein in Kombination mit SSL.

Schritt 6 — SSL aktivieren, um den Datenverkehr zu verschlüsseln

Das Versenden von Datenbankzugangsdaten über einfaches HTTP ist ein kritisches Sicherheitsrisiko. Sie sollten immer über HTTPS auf phpMyAdmin zugreifen. Es gibt zwei Hauptansätze:

Option A — Let’s Encrypt SSL-Zertifikat verwenden (kostenlos)

Wenn Sie einen Domainnamen haben, der auf Ihren Server verweist, installieren Sie Certbot:

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d yourdomain.com

Certbot konfiguriert Apache automatisch so, dass HTTP zu HTTPS umgeleitet wird, und installiert ein kostenloses, automatisch erneuerbares Zertifikat.

Option B — Kommerzielles SSL-Zertifikat verwenden

Für Produktionsumgebungen, die sensible Daten verarbeiten, bietet ein kommerziell ausgestelltes SSL-Zertifikat stärkere Vertrauenssignale und Gewährleistungsschutz. Sie können vertrauenswürdige SSL-Zertifikate direkt von AlexHost SSL-Zertifikate erhalten, mit Optionen von Domain Validation (DV) bis Extended Validation (EV) Zertifikaten.

Nachdem Sie Ihr SSL-Zertifikat installiert haben, stellen Sie sicher, dass Ihre phpMyAdmin-URL https:// verwendet:

https://yourdomain.com/phpmyadmin

Schritt 7 — Zugriff auf phpMyAdmin

Öffnen Sie nach der Installation und Sicherheitsmaßnahmen Ihren Browser und navigieren Sie zu:

https://your_server_ip_or_domain/phpmyadmin

Sie werden nacheinander mit zwei Authentifizierungsaufforderungen konfrontiert:

  1. HTTP Basic Authentication-Aufforderung — Geben Sie den Benutzernamen und das Passwort ein, die Sie mit htpasswd erstellt haben
  2. phpMyAdmin-Anmeldeseite — Geben Sie Ihren MySQL/MariaDB-Benutzernamen (z. B. root) und dessen Passwort ein

Nach erfolgreichem Anmelden haben Sie vollständigen Zugriff auf Ihre MySQL-Datenbanken über die phpMyAdmin-Benutzeroberfläche.

Fehlerbehebung bei häufigen Problemen

phpMyAdmin gibt einen 404-Fehler zurück

Die Apache-Konfiguration ist möglicherweise nicht verlinkt oder aktiviert. Führen Sie aus:

sudo a2enconf phpmyadmin
sudo systemctl reload apache2

Überprüfen Sie auch, ob der Symlink vorhanden ist:

ls -la /etc/apache2/conf-available/phpmyadmin.conf

Fehler „Verbindung zum MySQL-Server nicht möglich”

Überprüfen Sie, ob MySQL/MariaDB ausgeführt wird:

sudo systemctl status mysql
# or for MariaDB:
sudo systemctl status mariadb

Falls es gestoppt ist, starten Sie es:

sudo systemctl start mysql

HTTP 500 Interner Serverfehler

Dies deutet häufig darauf hin, dass ein PHP-Modul fehlt. Installieren Sie erforderliche PHP-Erweiterungen:

sudo apt install php-mbstring php-zip php-gd php-json php-curl -y
sudo systemctl restart apache2

Leere Seite nach der Anmeldung

Leeren Sie Ihren Browser-Cache, oder überprüfen Sie die Apache-Fehlerprotokolle auf Details:

sudo tail -f /var/log/apache2/error.log

Sicherheits-Best-Practices-Zusammenfassung

Überprüfen Sie vor dem Live-Schalten diese Sicherheitscheckliste:

SicherheitsmaßnahmeStatus
HTTP Basic Authentication aktiviert
SSL/HTTPS konfiguriert
IP-Beschränkung angewendet (falls zutreffend)
MySQL Root-Login remote deaktiviert
phpMyAdmin URL von Standard /phpmyadmin geändertEmpfohlen
Regelmäßige Systemupdates geplant
Firewall (UFW) konfiguriertEmpfohlen

phpMyAdmin URL umbenennen (Bonus-Härtungsschritt)

Das Ändern des Standard-/phpmyadmin URL-Pfads zu etwas weniger Vorhersehbarem reduziert automatisierte Bot-Angriffe erheblich. Bearbeiten Sie die Apache-Konfiguration:

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Ändern Sie:

Alias /phpmyadmin /usr/share/phpmyadmin

Zu etwas weniger Offensichtlichem:

Alias /db-manager-2024 /usr/share/phpmyadmin

Starten Sie Apache neu und aktualisieren Sie Ihre Lesezeichen entsprechend.

Fazit

Die Installation von phpMyAdmin auf Ubuntu ist ein unkomplizierter Prozess, aber die ordnungsgemäße Sicherung ist nicht verhandelbar. Durch die Kombination von HTTP Basic Authentication, IP-basierten Zugriffsbeschränkungen, SSL-Verschlüsselung und einem benutzerdefinierten URL-Alias schaffen Sie mehrere überlappende Verteidigungsschichten, die Ihre Datenbanken vor unbefugtem Zugriff und automatisierten Angriffen schützen.

Zusammenfassung der behandelten Themen:

  • ✅ phpMyAdmin via APT auf Ubuntu 20.04/22.04 installiert
  • ✅ Apache für die korrekte Bereitstellung von phpMyAdmin konfiguriert
  • ✅ HTTP Basic Authentication als zweite Sicherheitsebene hinzugefügt
  • ✅ Zugriff auf vertrauenswürdige IP-Adressen beschränkt
  • ✅ SSL/HTTPS aktiviert, um den gesamten Datenverkehr zu verschlüsseln
  • ✅ Zusätzliche Härtung durch Umbenennung der Standard-URL angewendet

Eine sichere phpMyAdmin-Einrichtung ist nur so stark wie der Server, auf dem sie läuft. Für eine zuverlässige, leistungsstarke Grundlage erkunden Sie AlexHost Dedicated Servers für vollständige Hardwarekontrolle oder AlexHost Shared Web Hosting für leichte Projekte, die eine verwaltete Umgebung benötigen. Wenn Sie ein Kontrollpanel zur Verwaltung Ihres Servers neben phpMyAdmin benötigen, schauen Sie sich AlexHost VPS mit cPanel für ein All-in-One-Verwaltungserlebnis an.

Halten Sie Ihr System aktualisiert, überwachen Sie regelmäßig Ihre Zugriffsprotokolle und überprüfen Sie Ihre Sicherheitskonfiguration jedes Mal, wenn Sie phpMyAdmin oder Ihre Ubuntu-Version aktualisieren. Ein paar Minuten proaktive Härtung heute können morgen einen katastrophalen Datenverlust verhindern.