Tutorial: phpMyAdmin auf Ubuntu 18.04 & Apache installieren

Dieses Tutorial erklärt, wie ihr phpMyAdmin für die Administration eurer MySQL-Datenbank auf Ubuntu 18.04 LTS (Bionic Beaver) installieren könnt.

Dieses Tutorial setzt voraus, dass Apache, MySQL sowie PHP bereist installiert ist. Ein Tutorial dafür findet ihr hier: Tutorial: Apache, MySQL, PHP (LAMP) auf Ubuntu 18.04 installieren

In diesem Tutorial werden wir die neueste phpMyAdmin-Version herunterladen und in den Webspace-Ordner /var/www/phpmyadmin entpacken.

Auf Ubuntu 18.04 gibt es zwar ein Systempackage für phpMyAdmin, ich würde aber davon abraten dieses zu installieren. Es ist eine sehr veraltete Version von phpMyAdmin, die leider mit aktuellen PHP-Versionen nicht lauffähig ist.

 

Voraussetzung: MySQL Benutzer mit Passwort vorhanden

Damit ihr euch per phpMyAdmin mit dem MySQL-Datenbankserver verbinden könnt, muss ein MySQL-Benutzer mit Passwort erstellt werden.

Standardmäßig ist der MySQL root-User unter Ubuntu 18.04 so konfiguriert, dass sich nur der Unix root-User mit der Datenbank verbinden kann. phpMyAdmin wird aber aus Sicherheitsgründen nicht als root-User ausgeführt. Damit wir uns per phpMyAdmin mit der Datenbank verbinden können, ist deswegen nötig einen neuen Benutzer mit Passwort zu erstellen.

Ein neuer Benutzer kann wie folgt erstellt werden:

Ihr müsst newuser und password entsprechend mit eurem Benutzernamen und einem sicheren Passwort ersetzen.

Danach könnt ihr testen, ob ihr euch mit dem MySQL-Server wie folgt verbinden könnt:

Wenn der Login mit Benutzername und Passwort funktioniert hat könnt ihr anfangen phpMyAdmin zu installieren.

Express-Setup: Alle Befehle im Überblick

Nachfolgend die Befehle im Überblick zur Installation von phpMyAdmin auf Ubuntu 18.04.

In den nächsten Abschnitten sind die einzelnen Schritte noch mal im Detail erklärt.

Schritt 1 – Notwendige Abhängigkeiten installieren

Damit phpMyAdmin läuft, werden die PHP-Erweiterungen mysqli, mbstring sowie zip benötigt. Ebenso benötigen wird unzip zum Entpacken der zip-Datei:

Als nächstes müssen wir die mysqli und mbstring-Erweiterung noch aktivieren:

 

Schritt 2 – phpMyAdmin herunterladen & entpacken

Ihr könnt entweder auf www.phpmyadmin.net die letzte Version von phpMyAdmin herunterladen und in euren Webspace-Ordner entpacken nach /var/www/phpmyadmin. Oder ihr könnt folgende Shell-Befehle verwenden:

 

Dies lädt die neueste phpMyAdmin-Version herunter, entpackt diese, erstellt einen Ordner /var/www/phpmyadmin und kopiert die entpackten die Dateien in dieses Verzeichnis.

Schritt 3 – Rechte anpassen

Damit phpMyAdmin optimal laufen kann, sollten die Dateien den Besitzer und die Gruppe www-data haben. Ebenso sollten die Zugriffsrechte auf 755 gesetzt werden.

 

Schritt 4 – Apache-Konfiguration anpassen

Wir werden die Apache-Konfiguration so anpassen, dass sobald jemand http://domain.de/phpmyadmin aufruft, entsprechend phpMyAdmin  angezeigt wird.

Dafür erstellen wir eine neue Datei:

Diese Datei erhält folgenden Inhalt:

Zum Abschluss müssen wird diese Konfiguration noch aktivieren und Apache die Konfiguration neu laden lassen:

 

phpMyAdmin Aufrufen

Sofern ihr bei der Installation die automatische Konfiguration für Apache2 ausgewählt habt, könnt ihr phpMyAdmin unter folgender URL aufrufen:

http://domain_oder_ip/phpmyadmin

Als Benutzername und Passwort müsst ihr die Login-Daten von einem MySQL-Datenbankbenutzer eingeben. Weiter oben im Artikel, im Abschnitt Voraussetzung: MySQL Benutzer mit Passwort vorhanden wurde erklärt, wie man per Kommandozeile einen MySQL-Benutzer mit Passwort erstellen kann.

phpMyAdmin per .htaccess absichern

phpMyAdmin ist ein beliebtes Ziel von Angreifer. Als zusätzlichen Schutz empfiehlt es sich, phpMyAdmin komplett per Passwort abzusichern. Dies geht über eine entsprechende .htaccess-Datei.

Im phpMyAdmin-Verzeichnis erstellen wir eine neue .htacces-Datei:

Diese erhält folgenden Inhalt:

Diese Zeilen bedeuten dabei:

  • AuthType: Die Art der Passwort-Authentifizierung. Basic bedeutet eine einfache Eingabe von Benutzername und Passwort.
  • AuthName: Eine Nachricht, die der Benutzer vor dem Login erhält.
  • AuthUserFile: Der Pfad für die Passwortdatei, die wir im nächsten Schritt erstellen.
  • Require valid-user: Nur korrekt authentifizierte Benutzer können phpMyAdmin nutzen.

 

Zum Schluss müssen wir noch die .htpasswd-Datei erstellen:

Tauscht dabei USERNAME mit dem gewünschten Benutzernamen aus.

Wenn ihr nun phpMyAdmin aufruft, sollte der folgende Dialog auftauchen:

 

Dort müsst ihr den per htpasswd definierten Benutzernamen und Passwort eingeben. Erst dann erscheint das eigentliche phpMyAdmin-Formular, um euch an der MySQL-Datenbank anzumelden.

Dieser doppelte Passwort-Schutz hat den Vorteil, dass phpMyAdmin komplett von außen vor Angriffen abgeschirmt ist.