Warum Adminer verwenden, wenn es phpMyAdmin und schwere GUI-Clients gibt
Wer schon einmal eine Webanwendung auf einem bescheidenen VPS deployed hat, kennt diese Routine. Sie müssen dringend eine Tabelle in der Datenbank überprüfen oder eine einzelne Zeile korrigieren. Das Installieren eines Desktop-Clients wie DBeaver und das Einrichten eines SSH-Tunnels dauert zu lange. Das Hochladen von phpMyAdmin ist ebenfalls unerwünscht: Tausende kleine Dateien im Archiv, eine Reihe von Einstellungen, Megabytes an entpacktem Code.
In solchen Situationen kommt Adminer zur Rettung — ein Projekt des tschechischen Entwicklers Jakub Vrána, das seit über 15 Jahren auf GitHub zu finden ist. Das Konzept des Tools ist einfach: ein vollwertiges Web-Admin-Panel für Datenbanken, das in eine einzige PHP-Datei passt.

So funktioniert es
Sie laden eine einzelne Datei adminer.php mit etwa 400 Kilobyte Größe herunter. Laden Sie sie in den Website-Ordner Ihres Servers und öffnen Sie sie in Ihrem Browser. Das war's für die Installation. Ein Anmeldeformular erscheint mit Optionen zur Auswahl des DBMS, Hosts, Benutzernamens und Passworts.
Die kompilierte Version von Adminer läuft in praktisch jeder Umgebung. Sie benötigt nur PHP 5.3, das Ende der 2000er Jahre auf Servern noch weit verbreitet war. Wenn Sie mit dem Repository-Quellcode arbeiten und das Projekt selbst erstellen, benötigen Sie PHP 7.4 oder neuer.
Im Gegensatz zu phpMyAdmin, das historisch an MySQL gebunden ist, unterstützt Adminer mehrere DBMS von Haus aus:
- MySQL und MariaDB
- PostgreSQL
- SQLite (Versionen 2 und 3)
- MS SQL
- Oracle
- CockroachDB
Das Verbinden offizieller Plugins erweitert diese Liste. Unterstützung für ClickHouse, Redis, Elasticsearch und MongoDB wird verfügbar.
Warum das Format einer einzelnen Datei immer noch praktisch ist
Die gesamte Anwendung in ein einzelnes Skript zu packen, bringt in der Praxis greifbare Vorteile.
Erstens die Deployment-Geschwindigkeit. Die Datei wird in einer Sekunde über wget oder curl direkt in der Server-Konsole heruntergeladen. Keine Notwendigkeit, Archive zu entpacken, Hilfstabellen für Einstellungen zu erstellen oder Konfigurationsdateien zu ändern.
Zweitens die Ressourceneffizienz. Das Skript ist ohne Frameworks geschrieben. Seiten laden sofort, selbst auf den schwächsten virtuellen Servern mit 512 MB RAM.
Drittens geht das Tool sparsam mit dem Speicher um beim Importieren und Exportieren von Dumps. Wo phpMyAdmin wegen Speicherlimit- oder Timeout-Fehlern abstürzt, kommt Adminer in der Regel ohne Probleme zurecht.
Was sich im Repository befindet
Ein Blick in den Repository-Quellcode vrana/adminer zeigt, dass das Projekt weitaus interessanter organisiert ist, als es den Anschein macht. Es sind nicht nur 400 Kilobyte gemischter HTML- und PHP-Code.
Der Quellcode ist in Module aufgeteilt:
adminer/— Hauptcode der Oberflächeeditor/— leichte Adminer Editor-Versioncompile.php— Build-Skript, das alle Komponenten, Styles und Sprachdateien zur endgültigen monolithischen Datei zusammenfügtlang.php— Utility zur Aktualisierung von Lokalisierungentests/— End-to-End Playwright-Tests zur Browser-Verifizierung
Das Build-Skript entfernt Leerzeichen, löscht Kommentare und minimiert CSS. Das Ergebnis ist eine kompakte Datei, bereit für den Einsatz ohne externe Abhängigkeiten.
Eine separate Version für Endbenutzer
Das Repository enthält ein zweites Produkt — Adminer Editor.
Betrachten Sie ein typisches Szenario: Sie müssen einem Manager oder Content-Manager Zugriff gewähren, um Datenbankeinträge zu bearbeiten. Allerdings können Sie ihnen nicht die Tabellenstrukturen, Indizes zeigen oder beliebige SQL-Abfragen erlauben.
Adminer Editor löst genau dieses Problem. Er bietet eine vereinfachte Oberfläche über Ihrer Datenbank. Es fehlen DDL-Änderungsschaltflächen und administrative Einstellungen. Benutzer sehen nur vertraute Formulare zum Hinzufügen, Bearbeiten und Durchsuchen von Einträgen. Bei Bedarf lässt sich der Editor über eine kleine PHP-Klasse leicht an die Regeln Ihres Projekts anpassen.
Sicherheit und Fallstricke
Das Arbeiten mit dem Tool ist praktisch, aber adminer.php auf einem Produktionsserver öffentlich zugänglich zu lassen, ist riskant. Bots scannen ständig Websites nach Standard-Dateinamen wie adminer.php oder db.php und versuchen, Datenbankpasswörter zu brute-forcen.
Befolgen Sie diese einfachen Richtlinien, um Ihren Server zu sichern:
- Löschen Sie die Datei sofort nach Beendigung des Debuggings.
- Benennen Sie das Skript in eine zufällige Zeichenkette um (zum Beispiel
db_access_9281.php). - Beschränken Sie den Zugriff auf die Datei auf Webserver-Ebene mittels HTTP Basic Auth oder IP-Einschränkungen.
Ein weiterer Aspekt ist das Standard-Erscheinungsbild des Tools. Das Out-of-the-Box-Design sieht aus wie eine freundliche Reminiszenz an 2008. Dies lässt sich jedoch leicht beheben, indem Sie CSS-Themes von Drittanbietern aus dem offiziellen Katalog des Projekts einbinden.
Wem dieses Tool nützlich sein wird
Adminer nimmt eine ausgezeichnete Nische im Werkzeugkasten eines Entwicklers ein. Es ist unverzichtbar für schnelles Debugging auf Dev-Servern, für das Arbeiten mit SQLite-Dateien und für Situationen, in denen der Serverzugang auf eine reine Weboberfläche beschränkt ist.
Das Projekt hat über 7.500 Sterne auf GitHub gesammelt und wird weiterhin vom Autor gepflegt. Es ist ein gutes Beispiel dafür, wie eine einfache und minimalistische Architektur über Jahre hinweg relevant bleibt.
Ähnliche Projekte