Auf einem vServer bei Prepaid-Hoster installierst du phpMyAdmin am schnellsten per Klick über den App-Installer im Cloud Manager. Auf jedem anderen Debian- oder Ubuntu-Server geht es in rund 15 Minuten von Hand: entweder als Paket aus den Paketquellen oder als aktuelles Archiv von phpmyadmin.net, jeweils mit Apache oder nginx. Hier findest du alle Wege, dazu das Update und die wichtigsten Schritte zur Absicherung.
phpMyAdmin ist eine webbasierte Open-Source-Anwendung zur Verwaltung von MySQL- und MariaDB-Datenbanken. Tabellen anlegen, Daten bearbeiten, Benutzer verwalten, Datenbanken importieren und exportieren: alles im Browser statt auf der Kommandozeile. Die aktuelle stabile Version ist 5.2.3 (Stand Oktober 2026) und läuft ab PHP 7.2. phpMyAdmin 6 ist in Entwicklung und noch nicht für den Produktivbetrieb gedacht.
Welcher Weg passt zu dir?
- App-Installer: Du hast einen vServer bei uns mit Debian und willst nichts konfigurieren.
- Paket aus den Paketquellen: schnell eingerichtet, Updates kommen mit
apt. Die Version hinkt etwas hinterher, Debian 13 bringt zum Beispiel 5.2.2 mit. - Manuell aus dem offiziellen Archiv: immer die neueste Version, läuft mit Apache und nginx gleich. Updates machst du selbst.
Variante 1: Per Klick mit dem App-Installer
Du kannst in unserem Webinterface bei jedem debian-basierten Linux vollautomatisch phpMyAdmin mit root-Zugang installieren.
Gehe dazu in den Cloud-Manager deines Servers.
Scrolle runter zu den Aktionen und wähle „App-Installer“ aus. Dort klickst du auf die „Webserver Utilities“.

In diesem Dialog musst du alles auswählen. Denn für phpMyAdmin werden sowohl ein Webserver, die PHP Script-Engine und die Datenbank-Software MariaDB/MySQL-Server benötigt.
Klicke dann auf „Installation starten“.

Jetzt musst du nur noch kurz warten, bis deine Installation fertig ist. Dir werden dann alle Daten angezeigt, die du für den Zugriff auf deine Datenbank benötigst.

Den App-Installer gibt es nicht bei Smart Essential. Dort und auf allen anderen Servern nimmst du einen der folgenden Wege. Was der App-Installer sonst noch kann, steht in Was kann der App-Installer im Cloud Manager?
Vorbereitung für die Installation von Hand
Du brauchst einen Server mit Debian 12 oder 13 bzw. Ubuntu 22.04 oder 24.04 und Root-Zugang per SSH. Bring das System auf den aktuellen Stand und installiere MariaDB, falls noch keine Datenbank läuft:
apt update && apt upgrade -y
apt install mariadb-server
mariadb-secure-installation Mehr zur Datenbank selbst steht in Wie installiere ich eine Datenbank?
Datenbank-Benutzer für phpMyAdmin anlegen
Auf aktuellen Debian- und Ubuntu-Versionen meldet sich der MariaDB-Benutzer root über den Unix-Socket an, also ohne Passwort und nur direkt auf dem Server. Im Browser klappt das nicht. Lege deshalb einen eigenen Benutzer mit Passwort an:
mariadb
CREATE USER 'dbadmin'@'localhost' IDENTIFIED BY 'DEIN-STARKES-PASSWORT';
GRANT ALL PRIVILEGES ON *.* TO 'dbadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT; Mit diesem Benutzer meldest du dich später in phpMyAdmin an. Für einzelne Projekte legst du besser Benutzer an, die nur ihre eigene Datenbank sehen.
Variante 2: Paket aus den Paketquellen
Mit Apache
apt install apache2 php libapache2-mod-php php-mysql phpmyadmin Während der Installation fragt das Paket zwei Dinge ab:
- Webserver: „apache2“ mit der Leertaste markieren, dann mit Tab auf „Ok“.
- Datenbank mit dbconfig-common einrichten: „Ja“. Das Paket legt dann seine interne Konfigurationsdatenbank an. Lässt du das Passwort leer, wird ein zufälliges erzeugt.
Danach erreichst du phpMyAdmin unter http://62.68.75.69/phpmyadmin (statt der Beispiel-IP die deines Servers). Kommt eine 404-Seite, ist die Apache-Konfiguration nicht aktiv:
ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
a2enconf phpmyadmin
systemctl reload apache2 Mit nginx
Das Paket richtet nginx nicht selbst ein. Installiere zuerst nginx und PHP-FPM, dann phpMyAdmin. Bei der Frage nach dem Webserver markierst du nichts und gehst direkt auf „Ok“.
apt install nginx php-fpm php-mysql
apt install phpmyadmin Füge in den server-Block deiner Seite, zum Beispiel in /etc/nginx/sites-available/default, diesen Abschnitt ein:
location /phpmyadmin {
root /usr/share/;
index index.php;
try_files $uri $uri/ =404;
location ~ ^/phpmyadmin/(doc|sql|setup)/ {
deny all;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
} nginx -t && systemctl reload nginx Variante 3: Aktuelle Version von phpmyadmin.net
Dieser Weg funktioniert auf jeder Distribution gleich und bringt dir immer die neueste stabile Version. Nutze ihn nicht zusätzlich zum Paket aus Variante 2, sonst kommen sich beide Konfigurationen in die Quere.
Webserver und PHP installieren
Für Apache:
apt install apache2 libapache2-mod-php php-mysql php-mbstring php-zip php-gd php-curl php-xml php-bz2 php-intl Für nginx:
apt install nginx php-fpm php-mysql php-mbstring php-zip php-gd php-curl php-xml php-bz2 php-intl Herunterladen und prüfen
cd /tmp
wget -O pma.tar.gz https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
wget -O pma.tar.gz.sha256 https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz.sha256
sha256sum pma.tar.gz
cat pma.tar.gz.sha256 Die beiden Prüfsummen müssen übereinstimmen. Sonst ist der Download beschädigt, dann lade ihn neu.
Entpacken und konfigurieren
mkdir -p /var/www/phpmyadmin
tar xzf /tmp/pma.tar.gz --strip-components=1 -C /var/www/phpmyadmin
cd /var/www/phpmyadmin
cp config.sample.inc.php config.inc.php
sed -i "s|\$cfg\['blowfish_secret'\] = '';|\$cfg['blowfish_secret'] = '$(openssl rand -hex 16)';|" config.inc.php
echo "\$cfg['TempDir'] = '/var/www/phpmyadmin/tmp';" >> config.inc.php
mkdir -p tmp && chown www-data:www-data tmp
rm -rf setup Der sed-Befehl setzt einen zufälligen, 32 Zeichen langen Schlüssel für die Cookie-Anmeldung. Prüfen kannst du das mit grep blowfish config.inc.php. Den Ordner setup brauchst du nicht, er wäre nur eine unnötige Angriffsfläche.
Apache einrichten
cat > /etc/apache2/conf-available/pma.conf <<'EOF'
Alias /phpmyadmin /var/www/phpmyadmin
<Directory /var/www/phpmyadmin>
Options -Indexes +FollowSymLinks
DirectoryIndex index.php
Require all granted
</Directory>
<DirectoryMatch "^/var/www/phpmyadmin/(libraries|templates|tmp|vendor)/">
Require all denied
</DirectoryMatch>
EOF
a2enconf pma
systemctl reload apache2 nginx einrichten
Füge in den server-Block deiner Seite diesen Abschnitt ein:
location /phpmyadmin {
root /var/www;
index index.php;
try_files $uri $uri/ =404;
location ~ ^/phpmyadmin/(libraries|templates|tmp|vendor)/ {
deny all;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
} nginx -t && systemctl reload nginx Gibt es /run/php/php-fpm.sock bei dir nicht, zeigt ls /run/php/ den richtigen Namen, zum Beispiel php8.4-fpm.sock unter Debian 13.
Jetzt rufst du http://62.68.75.69/phpmyadmin auf (mit der IP deines Servers) und meldest dich mit dem Benutzer an, den du oben angelegt hast.
phpMyAdmin aktualisieren
Paket aus den Paketquellen: Updates kommen mit den normalen Systemupdates.
apt update && apt upgrade Manuelle Installation: Du ersetzt das Programm und behältst deine Konfiguration. Sichere vorher den Server. Bei einem vServer von uns legst du dafür im Cloud Manager einen Snapshot an, er wird nach 48 Stunden automatisch gelöscht.
cd /tmp
wget -O pma.tar.gz https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
wget -O pma.tar.gz.sha256 https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz.sha256
sha256sum pma.tar.gz && cat pma.tar.gz.sha256
mkdir -p /var/www/phpmyadmin-neu
tar xzf /tmp/pma.tar.gz --strip-components=1 -C /var/www/phpmyadmin-neu
cp /var/www/phpmyadmin/config.inc.php /var/www/phpmyadmin-neu/
mkdir -p /var/www/phpmyadmin-neu/tmp && chown www-data:www-data /var/www/phpmyadmin-neu/tmp
rm -rf /var/www/phpmyadmin-neu/setup
mv /var/www/phpmyadmin /var/www/phpmyadmin-alt
mv /var/www/phpmyadmin-neu /var/www/phpmyadmin Die installierte Version siehst du nach dem Login auf der Startseite rechts unter „phpMyAdmin“. Läuft alles, löschst du die alte Version mit rm -rf /var/www/phpmyadmin-alt. Neue Versionen und Sicherheitsmeldungen kündigt das Projekt auf phpmyadmin.net unter „News“ und „Security“ an.
phpMyAdmin absichern
Der Pfad /phpmyadmin wird ständig von Bots abgeklopft. Diese Punkte solltest du umsetzen, bevor echte Daten in der Datenbank liegen:
- HTTPS einrichten: Ohne Verschlüsselung gehen Benutzername und Passwort im Klartext durchs Netz. Für nginx zeigt es Wie richte ich HTTPS mit nginx und Let’s Encrypt ein? Bei Apache nimmst du das Paket
python3-certbot-apacheundcertbot --apache. - Zweite Passwortabfrage davor: Mit HTTP Basic Auth sehen Bots nicht einmal die Login-Seite. Datei anlegen mit
apt install apache2-utilsundhtpasswd -c /etc/phpmyadmin.htpasswd dbadmin. Bei nginx kommen in denlocation /phpmyadmin-Block die Zeilenauth_basic "Admin";undauth_basic_user_file /etc/phpmyadmin.htpasswd;, bei Apache in denDirectory-BlockAuthType Basic,AuthName "Admin",AuthUserFile /etc/phpmyadmin.htpasswdundRequire valid-userstattRequire all granted. - Nicht als root anmelden: Nutze eigene Benutzer wie oben beschrieben.
- Aktuell bleiben: phpMyAdmin hatte in der Vergangenheit immer wieder Sicherheitslücken. Updates zeitnah einspielen.
- Datenbank nicht unnötig öffnen: phpMyAdmin greift lokal auf die Datenbank zu. Den Port 3306 nach außen brauchst du dafür nicht. Wenn doch: MySQL von außen erreichbar machen
Häufige Stolpersteine
- „#1045 Access denied for user ‚root’@’localhost’“: root meldet sich per Unix-Socket an, nicht per Passwort. Lege einen eigenen Benutzer an (siehe oben). Passwort vergessen? Wie setze ich das MySQL Passwort zurück?
- Browser zeigt PHP-Code oder lädt eine Datei herunter: PHP ist nicht an den Webserver angebunden. Bei Apache fehlt
libapache2-mod-php, bei nginx prüfst du mitsystemctl status 'php*-fpm', ob PHP-FPM läuft. - 502 Bad Gateway (nginx): Der Socket-Pfad hinter
fastcgi_passstimmt nicht. Mitls /run/php/nachsehen und anpassen. - 404 unter /phpmyadmin: Bei Apache ist die Konfiguration nicht aktiviert (
a2enconf), bei nginx fehlt derlocation-Block oder nginx wurde nicht neu geladen. - Hinweis zur geheimen Passphrase (blowfish_secret): In der
config.inc.phpfehlt der Schlüssel oder er ist nicht genau 32 Zeichen lang. Densed-Befehl von oben erneut ausführen. - „The mysqli extension is missing“:
apt install php-mysql, danach Apache bzw. PHP-FPM neu starten. - Import bricht bei großen Dateien ab: Erhöhe
upload_max_filesizeundpost_max_sizein derphp.iniunter/etc/php/<Version>/apache2/bzw./etc/php/<Version>/fpm/. Bei nginx zusätzlichclient_max_body_size 64M;imserver-Block setzen. Danach Dienste neu starten.
Noch keinen Server?
Bei Prepaid-Hoster bekommst du einen vServer mit Debian oder Ubuntu ohne Vertragsbindung: aufladen statt abonnieren. AMD EPYC, NVMe und Rechenzentrum in Offenbach am Main bei Frankfurt. Mit dem App-Installer im Cloud Manager sparst du dir die Handarbeit oben komplett. vServer ansehen