So installierst du das Datenbankverwaltungstool Adminer unter Ubuntu 22.04

Adminer (ehemals phpMinAdmin) ist ein voll funktionsfähiges Datenbankverwaltungstool, das sowohl RDBMS (Relational Database Management System) wie MySQL/MariaDB, PostgreSQL, SQLite, MS SQL und Oracle als auch NoSQL wie MongoDB und andere (per Plugin) unterstützt. Es ist ein leichtgewichtiges, benutzerfreundliches und leistungsstarkes Datenbankmanagement-Tool, mit dem du deine Datenbanken einfach verwalten kannst.

Adminer wurde als Alternative zu phpMyAdmin entwickelt, ist in PHP geschrieben, besteht aus einer einzigen kleinen PHP-Datei und wird unter der Apache-Lizenz (oder GPL v2) vertrieben.

In diesem Lernprogramm zeigen wir dir Schritt für Schritt, wie du das Datenbankverwaltungstool „Adminer“ auf dem Ubuntu 22.04 Server installierst.

Voraussetzungen

Bevor du mit der folgenden Anleitung beginnst, musst du einige Voraussetzungen erfüllen:

  • Einen Ubuntu 22.04 Server.
  • Einen Nicht-Root-Benutzer mit Root-/Administrator-Rechten.
  • Ein Datenbankserver ist auf deinem Rechner installiert. Die Adminer Tools unterstützen mehrere RDBMS (Relational Database Management System) wie MySQL/MariaDB, PostgreSQL, SQLite3 und OracleDB.

Adminer-Installation auf Ubuntu Server

Auf den neueren Ubuntu-Systemen (einschließlich Ubuntu 22.04) ist das Datenbank-Tool Adminer standardmäßig im Ubuntu Universe Repository verfügbar. Das macht es für Administratoren einfacher, Adminer zu installieren, ohne ein Repository eines Drittanbieters oder zusätzliche Schritte für die Grundinstallation zu benötigen.

Bevor du mit der Installation von Adminer beginnst, führe den folgenden apt-Befehl aus, um den Paketindex deines Ubuntu-Repositorys zu aktualisieren und aufzufrischen.

sudo apt update

Jetzt kannst du das Paket„adminer“ mit folgendem Befehl überprüfen. Zum Zeitpunkt der Erstellung dieses Artikels enthält das Ubuntu-Repository die neueste Version von Admuiner v4.8, die im Ubuntu-Repository„universe/web“ verfügbar ist. Außerdem kannst du sehen, dass es einige Paketabhängigkeiten für Adminer gibt, die PHP-Treiber für mehrere RDBMS wie MySQL/MariaDB, PostgreSQL und SQLite3 enthalten.

sudo apt info adminer

Verwalterpaket prüfen

Jetzt kannst du das Datenbankverwaltungstool „Adminer“ mit dem unten stehenden apt-Befehl installieren. Gib Y ein, um die Installation zu bestätigen, und drücke ENTER, um fortzufahren, damit die Installation von „Adminer“ beginnt.

sudo apt install adminer

Administrator installieren

Nachdem die „Adminer“-Installation abgeschlossen ist, musst du die Standard-Apache2-Konfiguration für den Adminer„/etc/apache2/conf-available/adminer.conf“ aktivieren.

Führe den folgenden Befehl aus, um die Adminer-Konfiguration für den Apache2-Webserver zu aktivieren.

sudo ln -s /etc/apache2/conf-available/adminer.conf /etc/apache2/conf-enabled/

Überprüfe und verifiziere die Apache2-Konfiguration mit dem folgenden Befehl. Starte dann den Apache2-Dienst neu, um die neuen Änderungen zu übernehmen.

sudo apachectl configtest
sudo systemctl restart apache2

Verwaltereinrichtung

Jetzt kannst du ihn über deinen Webbrowser mit dem Standard-URL-Pfad „/adminer“ (d.h. http://192. 168.5.75/adminer) aufrufen. Du solltest nun die Anmeldeseite des Datenbankverwaltungstools „Adminer“ sehen.

admin login page

Adminer ist ein Multi-Datenbank-Verwaltungstool, das sich deutlich von Datenbank-Verwaltungstools wie phpMyAdmin, das nur MySQL/MariaDB unterstützt, oder pgAdmin für PostgreSQL unterscheidet.

Mit „Adminer“ kannst du dich mit mehreren RDBMS wie MySQL/MariaDB, PostgreSQL, SQLite und OracleDB verbinden. Um dich mit „Adminer“ mit deiner Datenbank zu verbinden, gibst du einfach den Datenbankbenutzer, das Passwort und die Datenbank auf der „Adminer“-Anmeldeseite ein.

adminer unterstützte Datenbanken

Sichern der Adminer-Installation

Nachdem du den Adminer installiert hast, musst du die Installation mit verschiedenen Methoden sichern.

Im Folgenden wirst du die „Adminer“-Installation mit zwei Methoden sichern:

  • Änderndes Standard-URL-Pfads: Die Standardinstallation von Adminer ist unter dem URL-Pfad „/adminer“ verfügbar, der für Angreifer leicht zu erraten ist. Wenn du den Standard-URL-Pfad änderst, wird dein Adminer sicherer, denn nur du kennst den Zugriff auf den URL-Pfad für deine Adminer-Installation.
  • Hinzufügen der Basis-Authentifizierung: Damit fügst du eine Authentifizierung hinzu, bevor du die Anmeldeseite von Adminer erhältst. Die Basisauthentifizierung kann mit dem Apache2-Modul basic_auth erstellt werden.

Ändern des Standard-URL-Pfads

Die Standardinstallation von Adminer enthält die Apache2-Konfigurationsdatei „/etc/apache2/conf-available/adminer.conf“, die du für die Einrichtung des Adminer-Datenbankverwaltungstools auf deinem Server verwenden kannst.

Bearbeite die Datei„/etc/apache2/conf-available/adminer.conf“ mit dem folgenden Befehl.

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

Am Anfang der Zeile siehst du die Option„Alias ... „, die den Standard-URL-Pfad von Adminer festlegt. In der Demo werden wir den Standard-URL-Pfad von„/adminer“ in den benutzerdefinierten Pfad„/mydbadmin“ ändern, indem wir die folgende Konfiguration verwenden.

Alias /mydbadmin /etc/adminer

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

Als Nächstes führst du den folgenden Befehl aus, um die Apache2-Konfiguration zu prüfen und zu verifizieren. Wenn du eine Meldung wie„Syntax OK“ erhältst, bedeutet das, dass deine Apache2-Konfiguration korrekt ist.

sudo apachectl configtest

Starte nun den Apache2-Dienst neu, um die neuen Änderungen mit dem unten stehenden Befehl zu übernehmen.

sudo systemctl restart apache2

Abschließend kannst du deine Adminer-Installation unter dem neuen URL-Pfad„/mydbadmin“ (d.h.: http://192.168.5.75/mydbadmin) aufrufen. Du solltest dann die Anmeldeseite des Adminer-Datenbankverwaltungstools erhalten.

Pfad ändern url adminer

Hinzufügen der Apache Basic Authentication

Nachdem du den Standard-URL-Installationspfad geändert hast, ist es an der Zeit, die Basisauthentifizierung für den Adminer mithilfe des Apache2-Moduls„basic_auth“ hinzuzufügen.

Führe den folgenden Befehl aus, um eine neue Benutzerdatei „/etc/adminer/.htpasswd“ für die Apache-Basisauthentifizierung zu erstellen. In diesem Beispiel definierst du den neuen Benutzer für die Apache-Basisauthentifizierung als„dbadmin„.

Gib nun das Passwort für den Benutzer„dbadmin“ ein und wiederhole das Passwort. Damit wird die neue Benutzerdatei für die Apache-Basisauthentifizierung erstellt.

sudo htpasswd -B -c /etc/adminer/.htpasswd dbadmin

Wenn du nur einen neuen Benutzer hinzufügen willst, kannst du die Option „-c“ entfernen, was bedeutet, dass eine neue Datenbankbenutzerdatei erstellt wird. Der Befehl zum Hinzufügen eines neuen Benutzers sieht also wie folgt aus.

sudo htpasswd -B /etc/adminer/.htpasswd newuser

Als nächstes bearbeitest du die Konfiguration„/etc/apache2/conf-available/adminer.conf“ mit dem folgenden Befehl.

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

Füge die folgende Konfiguration in die Datei ein. Mit dieser Konfiguration können sich nur gültige Benutzer in der Benutzerdatei„/etc/adminer/.htpasswd“ anmelden und auf das Adminer-Datenbankverwaltungstool unter dem URL-Pfad„/mydbadmin“ zugreifen.

<Location /mydbadmin>
  AuthType Basic
  AuthName "Restricted Resource"
  AuthBasicProvider file
  AuthUserFile /etc/adminer/.htpasswd
  Require valid-user
</Location>

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

Führe nun den folgenden Befehl aus, um die Apache-Konfigurationsdatei zu prüfen und zu verifizieren. Starte dann den Apache2-Dienst neu, um die neuen Änderungen zu übernehmen.

sudo apachectl configtest
sudo systemctl restart apache2

apache basic auth adminer einrichten

Gehe schließlich zurück zu deinem Webbrowser und rufe deine Adminer-URL-Installation auf (d.h.: http://192.168.5.75/mydbadmin). Jetzt solltest du zur Apache-Basisauthentifizierung aufgefordert werden, bevor du die Adminer-Anmeldeseite erhältst.

Gib den Benutzer„dbadmin“ und das Passwort ein und klicke dann auf„Anmelden„. Du solltest nun die Anmeldeseite für den Adminer erhalten.

apache basic auth adminer

Einrichten des Datenbankbenutzers (MySQL/MariaDB)

In diesem Beispiel werden wir die MariaDB-Datenbank auf einem anderen Server verwenden. Daher musst du die Datenbankdetails wie Benutzername und Passwort für den Nicht-Localhost einrichten.

Bevor du einen neuen MariaDB-Benutzer anlegst, musst du MariaDB so einrichten, dass sie auf der privaten IP-Adresse läuft. Das kannst du über die MariaDB-Konfiguration„/etc/mysql/mariadb.conf.d/50-server.cnf“ einrichten.

Bearbeite die MariaDB-Konfigurationsdatei „/etc/mysql/mariadb.conf.d/50-server.cnf“ mit dem folgenden Befehl.

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Ändere die standardmäßige „listen“-Adresse auf die private IP des MariaDB-Servers. In diesem Beispiel lautet die IP-Adresse des MariaDB-Servers„192.168.5.20„.

listen   = 192.168.5.20

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

Führe nun den folgenden Befehl aus, um den MariaDB-Dienst neu zu starten und die neuen Änderungen anzuwenden.

sudo systemctl restart mariadb

Als Nächstes loggst du dich in deinen MySQL/MariaDB-Server ein und führst den folgenden mysql-Befehl aus.

sudo mysql -u root -p

Führe nun die folgenden MariaDB-Abfragen aus, um einen neuen Benutzer und ein neues Passwort für deinen MariaDB-Server zu erstellen. In diesem Beispiel kann sich der MariaDB-Benutzer„dbadmin@192.168.5.75“ vom Adminer-Server aus mit dem MariaDB-Server verbinden, der die IP-Adresse„192.168.5.75“ hat.

CREATE USER 'dbadmin'@'192.168.5.75' IDENTIFIED BY 'dbpassword';
GRANT ALL PRIVILEGES ON *.* TO 'dbadmin'@'192.168.5.75' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Benutzer für adminer erstellen

Als Nächstes führst du die folgenden Abfragen aus, um die Berechtigungen des Benutzers„dbadmin@192.168.5.75“ zu überprüfen. Gib dann„quit“ ein, um die MariaDB-Shell zu verlassen. Wie du sehen kannst, kann der MariaDB-Benutzer„dbadmin@192.168.5.75“ auf alle Datenbanken auf dem MariaDB-Server zugreifen.

SHOW GRANTS FOR dbadmin@192.168.5.75;
quit

Prüfen der Mariadb-Benutzerberechtigungen

Wenn du die UFW-Firewall auf deinem MariaDB-Server laufen hast, kannst du jetzt auch neue UFW-Regeln hinzufügen, um den MariaDB-Zugriff zu sichern. Führe den folgenden Befehl aus, um den Zugriff auf den MySQL/MariaDB-Port nur von der IP-Adresse„192.168.5.75“ des Adminer-Servers aus zu erlauben.

sudo ufw allow from 192.168.5.75 to 192.168.5.20 port 3306 proto tcp comment 'allow mysql access for Adminer'
sudo ufw reload

Überprüfe danach die Liste der UFW-Regeln mit dem unten stehenden Befehl. Du solltest sehen, dass die neue Regel für den MySQL/MariaDB-Zugriff auf Port „3360/tcp“ in der UFW-Firewall verfügbar ist.

sudo ufw status

mariadb mit ufw sichern

Anmeldung beim MariaDB Server vom Adminer aus

Nachdem du den Datenbankbenutzer auf deinem System eingerichtet hast, ist es an der Zeit, dich über das Datenbankverwaltungstool Adminer mit dem Datenbankserver zu verbinden.

Auf der Anmeldeseite von Adminer gibst du den Datenbank-Host, den Benutzernamen und das Passwort ein. Klicke dann auf die Schaltfläche „Anmelden“, um dich einzuloggen.

Verbinden mit mariadb mit adminer

Nach der Anmeldung kannst du deine Datenbank über das Adminer Dashboard verwalten. Außerdem siehst du die Datenbankversion und den Benutzer, mit dem du dich gerade mit dem Server verbindest.

Anmeldung am Mariadb-Server mit adminer

Fazit

Herzlichen Glückwunsch! Du hast nun erfolgreich das Datenbankverwaltungstool Adminer auf Ubuntu 22.04 installiert. Außerdem hast du die Adminer-Installation gesichert, indem du den Standard-URL-Pfad geändert und die grundlegende Authentifizierung mit dem Apache-Modul basic_auth hinzugefügt hast. Und schließlich hast du auch den Datenbankbenutzer (MySQL/MariaDB) konfiguriert, mit dem du dich über den Adminer anmelden kannst.

Das könnte dich auch interessieren …