Categories: Anleitungen

Wie installiere ich phpMyAdmin auf Ubuntu 22.04

phpMyAdmin ist ein kostenloses und quelloffenes Tool zur Verwaltung und Administration von MySQL-Servern. Mit ihm können sogar mehrere MySQL-Server an verschiedenen Standorten verwaltet werden. phpMyAdmin ist eine webbasierte Anwendung, die in PHP geschrieben wurde und unter dem LAMP- (Linux, Apache2, MariaDB/MySQL, PHP) oder LEMP-Stack (Linux, Nginx, MariaDB/MySQL, PHP-FPM) ausgeführt werden kann. phpMyAdmin ist eine sehr leistungsfähige Anwendung, die zu einer weit verbreiteten Anwendung für die Verwaltung von MySQL-Servern geworden ist und über eine umfangreiche Dokumentation und Wikis verfügt.

Mit phpMyAdmin kannst du MySQL-Daten von einem Webbrowser aus verwalten. Du kannst Datenbanken, Tabellen, Spalten, Indizes, Relationen, Benutzer, Berechtigungen usw. über eine einzige Dashboard-Oberfläche in deinem Webbrowser verwalten. phpMyAdmin ermöglicht dir auch den Import und Export von Daten auf den MySQL-Server. Du kannst CSV- und SQL-Daten in deinen MySQL importieren und deine Daten in verschiedene Formate wie CSV, SQL, XML, Latex, XML, PDF, OpenDocument Text und Spreadsheet exportieren.

In diesem Tutorium zeigen wir dir, wie du phpMyAdmin auf dem aktuellen Ubuntu 22.04 Server installierst und konfigurierst. In dieser Anleitung werden auch einige zusätzliche Konfigurationen zur Sicherung der phpMyAdmin-Installation behandelt.

Voraussetzungen

  • Ein Ubuntu 22.04 Rechner – du kannst die Ubuntu Server- oder Desktop-Version verwenden.
  • Ein Nicht-Root-Benutzer mit Root-Administrator-Rechten.
  • Ein LAMP Stack ist auf dem Rechner installiert. Dieses Beispiel verwendet die Basisinstallation des LAMP-Stacks (Linux, Apache2, MariaDB und PHP).

Installation von phpMyAdmin

In der neuesten Ubuntu 22.04 Version ist das phpMyAdmin Paket im offiziellen Ubuntu Universe Repository verfügbar. Bevor du phpMyAdmin installierst, musst du also sicherstellen, dass das Ubuntu Universe Repository auf deinem System aktiviert ist.

Zum jetzigen Zeitpunkt bietet Ubuntu phpMyAdmin v5.x an, die letzte stabile Version von phpMyAdmin.

Bevor du mit der Installation der Pakete beginnst, führe den folgenden Befehl aus, um deine Ubuntu-Repositories zu aktualisieren und aufzufrischen.

sudo apt update

Vergewissere dich, dass das Ubuntu APT Universe Repository auf deinem System aktiviert ist.

Überprüfe nun das phpmyadmin-Paket mit dem folgenden Befehl.

sudo apt info phpmyadmin

Wie du auf dem folgenden Screenshot sehen kannst, bietet das Ubuntu APT Repository phpMyAdmin v5.x an, und es ist im Ubuntu Universe Repository verfügbar.

Als Nächstes kannst du das phpMyAdmin-Paket mit dem folgenden Befehl installieren.

sudo apt install phpmyadmin

Gib Y ein, um die Installation zu bestätigen und drücke ENTER, um zu starten. Die phpMyAdmin-Installation wird nun durchgeführt.

Während der phpMyAdmin-Installation wirst du nach den folgenden Konfigurationen gefragt:

Wähle den Webserver für phpMyAdmin. In diesem Beispiel ist der Webserver apache2, dann wähle OK.

Wähle nun Ja, um die Konfiguration von phpMyAdmin mit dbconfig-common zu starten. Dadurch werden automatisch alle Datenbankkonfigurationen für phpMyAdmin vorgenommen.

Das Passwort für die phpMyAdmin-Datenbank kannst du entweder leer lassen oder du gibst einfach dein eigenes Passwort ein und wählst dann OK. Wenn du es leer lässt, wird dbconfig-common das Passwort für phpMyAdmin automatisch generieren.

Zum Schluss öffnest du deinen Webbrowser und rufst die Server-IP-Adresse mit dem URL-Pfad /phpmyadmin auf (z.B.: http://192.168.10.15/phpmyadmin). Daraufhin wird die Login-Seite von phpMyAdmin angezeigt.

Gib deinen MariaDB-Server-Benutzer und dein Passwort ein und klicke dann auf „Go“, um dich anzumelden.

Sobald du dich eingeloggt hast, siehst du das phpMyAdmin Dashboard unten. Wie du sehen kannst, ist phpMyAdmin 5.x auf dem Ubuntu 22.04 Rechner mit Apache2, MariaDB 10.x und PHP 8.1 installiert.

Sichern der phpMyAdmin-Installation

Nachdem du phpMyAdmin installiert hast, erfährst du als Nächstes, wie du die phpMyAdmin-Installation sichern kannst.

Im Folgenden lernst du drei Methoden kennen, um die phpMyAdmin-Installation auf deinem Ubuntu-System zu sichern:

  • Ändere die Pfad-URL der phpMyAdmin-Installation: Die Standardinstallation von phpMyAdmin ist unter dem URL-Pfad /phpmyadmin verfügbar, der für Angreifer leicht zu erraten ist. Du kannst den Standardpfad in deine eigene Pfad-URL ändern.
  • Zusätzliche Authentifizierung mit Apache2 Basic Auth: In diesem Szenario wird den Nutzern die Apache2 Basic Authentication angezeigt, bevor die phpMyAdmin Anmeldeseite erscheint. Dadurch wird eine zusätzliche Authentifizierung vorgenommen, so dass nur die Nutzer, die auf der Apache2 Basic Auth-Liste stehen, die phpMyAdmin-Anmeldeseite angezeigt bekommen und sich in phpMyAdmin anmelden können.
  • Blockieren von phpMyAdmin-Anmeldeversuchen mit Fail2ban Jail: Du musst fail2ban auf deinem Ubuntu-Rechner installieren und konfigurieren. Damit wird die IP-Adresse von böswilligen Login-Versuchen in phpMyAdmin gesperrt. Außerdem kannst du im Fail2ban-Gefängnis die maximale Anzahl der Anmeldeversuche festlegen.

Beginnen wir nun damit, phpMyAdmin mit drei verschiedenen Methoden zu sichern.

Pfad-URL der phpMyAdmin-Installation ändern

Die Standardinstallation von phpMyAdmin enthält eine zusätzliche Konfiguration für den Apache2-Webserver, die in der Datei /etc/phpmyadmin/apache.conf gespeichert ist. Um den Standard-URL-Installationspfad von phpMyAdmin zu ändern, musst du die Konfiguration /etc/phpmyadmin/apache2.conf bearbeiten und den Apache2-Dienst neu starten.

Bearbeite die Konfigurationsdatei /etc/phpmyadmin/apache.conf mit dem Editor nano.

sudo nano /etc/phpmyadmin/apache.conf

Ändere die Option„Alias /phpmyadmin“ in deinen neuen Pfad zu ULR. Im folgenden Beispiel wird phpMyAdmin unter der Pfad-URL /padm verfügbar sein.

Alias /padm /usr/share/phpmyadmin

Speichere und schließe die Datei, wenn du fertig bist.

Als Nächstes überprüfst du die Apache2-Konfiguration mit dem unten stehenden Befehl. Wenn deine Konfiguration korrekt ist, bekommst du die Meldung„Syntax OK„.

sudo apchectl configtest

Starte nun den Apache2-Dienst neu, um die Änderungen in der Datei /etc/phpmyadmin/apache.conf zu übernehmen.

sudo systemctl restart apache2

Gehe zurück zu deinem Webbrowser und besuche phpMyAdmin mit der neuen Pfad-URL /padm (z.B. http://192. 168.10.15/padm). Du erhältst das phpMyAdmin Dashboard im folgenden Screenshot.

Du hast nun erfolgreich die Standard-URL von phpMyAdmin in die neue Pfad-URL /padm geändert.

Absicherung von phpMyAdmin mit Apache2 Basic Auth

Apache2 Basic Auth ist eine Authentifizierungsmethode, die durch das Apache-Modul mod_basic_auth bereitgestellt wird. Um Apache2 Basic Auth einzurichten, musst du die Passwortdatei erstellen und die .htaccess-Datei im Stammverzeichnis des phpMyAdmin-Dokuments einrichten.

Führe nun den folgenden Befehl aus, um eine neue Apache2 basic auth-Datei /etc/phpmyadmin/.htpasswd mit dem neuen Benutzer padm zu erstellen. Wenn du nicht über den Befehl htpasswd verfügst, musst du das Paket apache2-utils auf deinem System installieren.

sudo htpasswd -c /etc/phpmyadmin/.htpasswd padm

Gib nun das Passwort für den Apache2 basic auth Benutzer padm ein und wiederhole das Passwort. Dadurch wird eine neue Passwortdatei /etc/phpmyadmin/.htpasswd erstellt .

Als nächstes bearbeitest du die Konfiguration /etc/phpmyadmin/apache.conf mit dem Editor nano.

sudo nano /etc/phpmyadmin/apache.conf

Füge die Konfiguration in das„<Verzeichnis /usr/share/phpmyadmin>“ wie unten beschrieben ein.

<Directory /usr/share/phpmyadmin>
...
...
AllowOverride All

Speichere und schließe die Datei, wenn du fertig bist.

Als nächstes führst du den folgenden Befehl aus, um das Apache2-Modul mod_rewrite zu aktivieren.

sudo a2enmod rewrite

Erstelle eine neue Datei /usr/share/phpmyadmin/.htaccess mit dem Editor nano.

sudo nano /usr/share/phpmyadmin/.htaccess

Füge die folgende Konfiguration in die Datei ein.

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Speichere und schließe die Datei, wenn du fertig bist.

Starte nun den Apache2-Dienst neu, um die Änderungen zu übernehmen.

sudo systemctl restart apache2

Gehe schließlich zurück zu deinem Webbrowser und aktualisiere die phpMyAdmin URL (z.B. http://192. 168.10.15/padm). Jetzt wirst du zur Apache2-Basisauthentifizierung aufgefordert.

Gib den Benutzer padm und dein Passwort ein und klicke auf Sign in. Wenn dein Benutzer und dein Passwort mit der Konfigurationsdatei /etc/phpmyadmin/.htpasswd übereinstimmen, kannst du das phpMyAdmin-Dashboard aufrufen, andernfalls erhältst du die Fehlermeldung„421 Unauthorized„.

Jetzt hast du phpMyAdmin mit der Apache2-Basisauthentifizierung gesichert. Es wird empfohlen, diese Methode zusammen mit SSL-Zertifikaten auf deinem Apache2-Webserver zu verwenden.

Blockieren von phpMyAdmin-Anmeldeversuchen mit Fail2ban Jail

In diesem Szenario musst du Fail2ban auf deinem Ubuntu-Rechner installieren und konfigurieren. Mit dem Fail2ban Jail kannst du die Authentifizierungsversuche von phpMyAdmin einschränken und den Brute-Force-Angriff begrenzen. Fail2ban blockiert alle erkannten böswilligen Anmeldeversuche bei phpMyAdmin.

Failban prüft die Logdatei der Anwendung, daher musst du die Logdatei für phpMyAdmin aktivieren.

Bearbeite die phpMyAdmin Konfiguration /etc/phpmyadmin/config.inc.php mit dem nano Editor.

sudo nano /etc/phpmyadmin/config.inc.php

Füge die folgende Konfiguration am Ende der Zeile ein. Damit werden alle Authentifizierungen von phpMyAdmin in der Syslog-Datei /var/log/auth.logprotokolliert.

...
...
...
$cfg['AuthLog'] = 'syslog';

Speichere und schließe die Datei, wenn du fertig bist.

Als nächstes bearbeitest du die Fail2ban-Jail-Konfiguration /etc/fail2ban/jail.local mit dem Editor nano.

sudo nano /etc/fail2ban/jail.local

Suche die Jail namens„phpmyadmin-syslog“ und füge die Option„enabled = true“ hinzu, um die Jail zu aktivieren.

[phpmyadmin-syslog]
enabled = true
port    = http,https
logpath = %(syslog_authpriv)s
backend = %(syslog_backend)s

Speichere und schließe die Datei, wenn du fertig bist.

Starte nun den Fail2ban-Dienst mit dem unten stehenden Befehl neu, um die neue Jail-Konfiguration zu übernehmen.

sudo systemctl restart fail2ban

Um die Jail„phpmyadmin-syslog“ zu überprüfen, führe die folgenden fail2ban-client-Befehle aus.

Überprüfen der Liste der aktivierten Fail2ban-Jail.

sudo fail2ban-client status

Prüfen der Details der Fail2ban-Jail phpmyadmin-syslog.

sudo fail2ban-client status phpmyadmin-syslog

Unten siehst du den detaillierten Status der phpmyadmin-syslog-Jail. Auf dem Screenshot unten siehst du, dass eine IP-Adresse „192.168.10.1“ von Fail2ban blockiert wird.

Wenn du die Logdatei /var/log/auth.log mit dem unten stehenden Befehl überprüfst.

cat /var/log/auth.log

Du wirst die Logs der phpMyAdmin-Authentifizierung unten sehen. Du kannst sehen, dass die IP-Adresse„192.168.10.1“ als böswillige Anmeldung erkannt wurde, weil der falsche Benutzer und das falsche Passwort verwendet wurden.

An diesem Punkt hast du phpMyAdmin mit mehreren verschiedenen Methoden gesichert. Eine weitere Möglichkeit ist die Verwendung von SSL auf jedem virtuellen Host auf deinem Server. Dadurch wird dein phpMyAdmin noch sicherer, denn SSL verschlüsselt die Verbindungen zwischen deinem Webbrowser und dem Server.

Fazit

Herzlichen Glückwunsch! Du hast jetzt gelernt, wie du phpMyAdmin auf dem neuesten Ubuntu 22.04 installierst und konfigurierst. Außerdem hast du mehrere Methoden kennengelernt, um die phpMyAdmin-Installation abzusichern. Dazu gehören das Ändern der Standard-URL, das Hinzufügen einer Authentifizierung mit Apache2 basic auth und das Blockieren bösartiger Anmeldeversuche mit Fail2ban Jail.

howtoforge

Recent Posts

So installierst du Apache Tomcat unter Ubuntu 22.04

Apache Tomcat oder "Tomcat" ist ein freier und quelloffener Java-Servlet-Container für Java-Code und -Anwendungen. In…

53 Jahren ago

So richtest du die MariaDB Master-Master-Replikation unter Debian 11 ein

In diesem Tutorial wird erklärt, wie man die MariaDB Master-Master-Replikation auf Debian 11-Servern einrichtet. Außerdem…

53 Jahren ago

So installierst du Joomla mit Apache und kostenlosem Let’s Encrypt SSL auf Alma Linux 8

Joomla ist ein kostenloses, quelloffenes und eines der beliebtesten Content Management Systeme. In diesem Lernprogramm…

53 Jahren ago

Wie man eine Website in ISPConfig hinzufügt

ISPConfig ist ein Hosting-Kontrollpanel für Linux-Server, das Funktionen zur Verwaltung von Websites, Datenbanken, FTP- und…

53 Jahren ago

Wie man lokale Dateien mit Terraform auf eine Amazon EC2-Instanz hochlädt

In diesem Lernprogramm sehen wir uns an, wie man eine Datei von einem lokalen Rechner,…

53 Jahren ago

So installierst du das Mattermost Team Messaging System auf Ubuntu 22.04

Mattermost ist eine Open-Source-Messaging-Plattform, die für Chats, Dateiaustausch, Projektmanagement und Workflow-Orchestrierung verwendet wird. In diesem…

53 Jahren ago