In dieser Anleitung lernt Ihr, wie Ihr phpMyAdmin und deren Abhängigkeiten installieren könnt. Vorraussetzung: Bereits konfigurierter MariaDB und Apache2 Server mit PHP Grundinstallation
Benötigte PHP Extensions
Mit diesem Befehl installieren wir alle nötigen PHP Extensions, um danach phpMyAdmin zu installieren:
sudo apt install php-mbstring php-zip php-json php-gd php-curl php-gd
phpMyAdmin installieren
Mit diesem Befehl startet Ihr die Installation von phpMyAdmin:
sudo apt install phpmyadmin
Da ich den Apache2 installiert und konfiguriert habe, wähle ich den Apache mit „LEER“ aus und navigiere mit den Pfeiltasten auf OK und klicke erneu auf „LEER“. WICHTIG! Ihr müsst eine Auswahl treffen, sonst werden nötige Dateien nicht erstellt!

Mit der „dbconfig-common“ erstellen wir uns eine Datenbank für phpMyAdmin mit Standardberechtigungen, usw. Also bestätigen wir mit Yes:

Nun werden wir nach einem swort für die Benutzeroberfläche gefragt. Wenn Ihr kein Passwort eingebt, wird ein zufälliges Passwort generiert. In meinem Fall setze ich ein Passwort:

Nach der Konfiguration müssen wir mbstring einmal explizit ausführen und unseren Apache2 Service neustarten:
sudo phpenmod mbstring
sudo systemctl restart apache2
Benutzer für MySQL / MariaDB anlegen
In meinem Fall benutze ich MariaDB, daher geben wir den folg. Befehl ein, um unseren Benutzer zu erstellen:
CREATE USER '<NAME>'@'localhost' IDENTIFIED BY '<SICHERESPW>';
Sollte bei diesem Befehl:
SELECT user, authentication_string, plugin, host FROM mysql.user;
unter „plugin“ nichts stehen, müssen wir noch eins auswählen. Ab PHP7.4 empfehle ich „caching_sha2_password“, sollte es damit nicht gehen (Wie in meinem Beispiel, Keine Ahnung warum) – könnt Ihr auch „mysql_native_password“ nehmen. Der Befehl für die Benutzer ist:
UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = '<NAME>';
Wichtig: Dieser Befehl geht nur mit MariaDB! Wenn Ihr das mit MySQL machen wollt, lautet der Befehl so:
ALTER USER '<NAME>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<SICHERESPW>';
Zum Schluss geben wir unserem Nutzer Vollzugriff auf die Datenbank:
GRANT ALL PRIVILEGES ON *.* TO '<NAME>'@'localhost' WITH GRANT OPTION;
Mit „exit;“ kommen wir aus der SQL Befehlszeile raus.
phpMyAdmin Zugang testen
Wenn Ihr alles richtig gemacht habt, könnt Ihr euer phpMyAdmin testen, indem Ihr https://seite.tld/phpmyadmin/ aufruft. Es sollte euch nun dieses Login Fenster entgegen kommen:

Nun ist phpMyAdmin eigentlich einsatzbereit. Wir wollen aber auf Nummer Sicher gehen und den Login mit einem htaccess Passwortschutz ausstatten.
Dadurch gehen wir sicher, dass man nicht direkt die Login-Form sieht, sondern sich erst auf dem Webserver authentifizieren muss.
Leider hatte PMA immer mal wieder Sicherheitsprobleme, vor Allem wenn es um den Zugang ging. Daher gehe ich diese Extra-Meile und sichere PMA doppelt ab.
PMA mit htpasswd absichern
Wir müssen folg. Datei bearbeiten:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
In dieser Datei fügen wir zwischen dem ersten <Directory> Tag folg. ein:
AllowOverride All
Dadurch sollte die Datei ungefähr so aussehen:

Nun die Datei abspeichern und den Apache2 Dienst neustarten:
sudo systemctl restart apache2
In der Datei:
sudo nano /usr/share/phpmyadmin/.htaccess
können wir nun die Authentifizierung via .htpasswd aktivieren, indem wir folg. in die Datei schreiben:
AuthType Basic
AuthName "Bitte Authentifizieren"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Jetzt legen wir mit diesem Befehl unsere .htpasswd an:
nano /etc/phpmyadmin/.htpasswd
In meinem letzten Tutorial, habe ich bereits gezeigt, wie das geht – daher hier nur die Kurzfassung. Generiert euch über z.B. diesen Link einen Benutzer und das Passworthash und fügt beides dort ein. Also so:
username:passwordhash
Wenn wir also jetzt die phpMyAdmin Seite nochmal aufrufen, werden wir nach einem Passwort gefragt:

Wichtiger Hinweis zur Sicherheit
Natürlich ist eure Seite nur so sicher, wie Ihr es selbst festlegt. Erstellt Ihr kurze und unsichere Passwörter, werdet ihr einfacher gehacked, als wenn Ihr sichere und öfter gewechselte Passwörter nutzt. Passt also gut auf!