- Veröffentlicht am
- • ChatGPT-Biografie
Adminer auf Debian installieren und absichern – Schritt-für-Schritt-Anleitung
- Autor
-
-
- Benutzer
- tmueller
- Beiträge dieses Autors
- Beiträge dieses Autors
-
Adminer ist ein leichtgewichtiges, webbasiertes Tool zur Verwaltung von Datenbanken wie MySQL, MariaDB oder PostgreSQL. Im Gegensatz zu phpMyAdmin besteht Adminer aus nur einer einzigen PHP-Datei – und ist dadurch extrem einfach zu installieren, schnell und ressourcenschonend.
In diesem Artikel zeige ich dir, wie du Adminer auf einem Debian-Server installierst, einrichtest und sicher betreibst.
Was ist Adminer?
Adminer (früher phpMinAdmin) ist ein vollwertiger Datenbank-Manager, der über den Browser zugänglich ist. Er bietet:
- Verwaltung von Datenbanken, Tabellen, Nutzern und Rechten
- SQL-Abfragen im Browser
- Import/Export von Daten
- Unterstützung für MySQL, MariaDB, PostgreSQL, SQLite und weitere Systeme
Im Gegensatz zu phpMyAdmin ist Adminer:
- leichter (eine einzige Datei)
- schneller
- einfach zu deployen
- sicherer, wenn richtig konfiguriert
Voraussetzungen
| Komponente | Beschreibung |
|---|---|
| Betriebssystem | Debian 12 oder 13 |
| Webserver | Apache oder NGINX |
| PHP | Version 8.1 oder höher |
| Datenbank | MySQL, MariaDB oder PostgreSQL |
| Benutzerrechte | sudo oder Root |
Schritt 1: System vorbereiten
Zuerst System aktualisieren:
sudo apt update && sudo apt upgrade -y
Dann grundlegende Pakete installieren:
sudo apt install apache2 php php-mysqli php-pgsql php-sqlite3 wget unzip -y
Hinweis:
php-mysqliist nötig für MySQL/MariaDBphp-pgsqlfür PostgreSQLphp-sqlite3für SQLite
Schritt 2: Adminer herunterladen
Adminer ist offiziell auf https://www.adminer.org/ erhältlich.
Lade die aktuelle Version herunter und verschiebe sie ins Webverzeichnis:
cd /var/www/html
sudo wget https://www.adminer.org/latest.php -O adminer.php
Prüfe, ob die Datei vorhanden ist:
ls -lh /var/www/html/adminer.php
Schritt 3: Apache konfigurieren
Erstelle eine eigene Konfigurationsdatei für Adminer:
sudo nano /etc/apache2/sites-available/adminer.conf
Füge Folgendes ein:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html>
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Files "adminer.php">
Require ip 192.168.1.0/24
</Files>
ErrorLog ${APACHE_LOG_DIR}/adminer_error.log
CustomLog ${APACHE_LOG_DIR}/adminer_access.log combined
</VirtualHost>
Damit erlaubst du den Zugriff nur aus deinem lokalen Netzwerk (192.168.1.x). Wenn du von außen zugreifen willst, passe die IP an oder nutze Authentifizierung (siehe unten).
Aktiviere die neue Konfiguration:
sudo a2ensite adminer.conf
sudo systemctl reload apache2
Schritt 4: Zugriff absichern
Variante 1 – Passwortschutz mit .htaccess
Erstelle eine .htpasswd-Datei:
sudo apt install apache2-utils -y
sudo htpasswd -c /etc/apache2/.htpasswd admin
Nun das Verzeichnis schützen:
sudo nano /etc/apache2/sites-available/adminer.conf
Ergänze innerhalb des <Directory>-Blocks:
<Directory /var/www/html>
Options -Indexes +FollowSymLinks
AllowOverride All
AuthType Basic
AuthName "Geschützter Bereich"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
Dann Apache neu laden:
sudo systemctl reload apache2
Beim nächsten Zugriff auf http://dein-server/adminer.php fragt der Browser nach Benutzername und Passwort.
Variante 2 – HTTPS aktivieren
Für sicheren Zugriff über das Internet ist HTTPS Pflicht. Mit Let’s Encrypt aktivierst du SSL ganz einfach:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache
Folge den Anweisungen und wähle deine Domain.
Schritt 5: Adminer starten
Öffne im Browser:
http://dein-server/adminer.php
Du siehst die Login-Maske:
- System: z. B. MySQL, PostgreSQL
- Server:
localhostoder IP deiner Datenbank - Benutzername: dein DB-User
- Passwort: dein DB-Passwort
- Datenbank: optional
Nach dem Login landest du im übersichtlichen Webinterface mit Zugriff auf alle Tabellen, Spalten, Indizes und SQL-Befehle.
Schritt 6: (Optional) Adminer-Design anpassen
Du kannst das Design mit Themes ändern. Beispiel:
cd /var/www/html
sudo wget https://raw.githubusercontent.com/vrana/adminer/master/designs/ng9/adminer.css
Die Datei adminer.css wird automatisch erkannt, wenn sie im selben Verzeichnis liegt.
Schritt 7: Sicherheitsmaßnahmen
1. Zugriff beschränken
Falls du Adminer nur intern nutzen willst, blockiere externen Zugriff über die Firewall:
sudo ufw allow from 192.168.1.0/24 to any port 80
sudo ufw deny 80
2. Keine dauerhafte öffentliche Instanz
Lass Adminer nicht dauerhaft im Internet offen, sondern nur bei Bedarf. Du kannst ihn temporär aktivieren:
sudo a2ensite adminer.conf
sudo systemctl reload apache2
Und später wieder deaktivieren:
sudo a2dissite adminer.conf
sudo systemctl reload apache2
🧾 3. Regelmäßige Updates
Da Adminer nur aus einer Datei besteht, kannst du ihn sehr leicht aktualisieren:
cd /var/www/html
sudo wget https://www.adminer.org/latest.php -O adminer.php
Schritt 8: (Optional) Adminer mit NGINX betreiben
Falls du NGINX statt Apache nutzt, ist die Einrichtung ähnlich einfach:
sudo apt install nginx php-fpm -y
Erstelle eine Konfigurationsdatei:
sudo nano /etc/nginx/sites-available/adminer
Inhalt:
server {
listen 80;
server_name adminer.local;
root /var/www/html;
location / {
index adminer.php;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}
allow 192.168.1.0/24;
deny all;
}
Dann aktivieren:
sudo ln -s /etc/nginx/sites-available/adminer /etc/nginx/sites-enabled/
sudo systemctl reload nginx
Schritt 9: Backup & Wiederherstellung
Da Adminer nur eine Datei ist, reicht ein einfaches Backup:
sudo cp /var/www/html/adminer.php /opt/backups/adminer-$(date +%F).php
Willst du alle Datenbanksicherungen automatisieren, kannst du per Cronjob SQL-Exporte anlegen:
crontab -e
Beispiel:
0 3 * * * mysqldump -u root -pPASSWORT datenbankname > /opt/backups/db-$(date +\%F).sql
Adminer ist ein fantastisches Tool für jeden, der Datenbanken verwalten möchte – schnell, schlank und ohne Ballast. Mit nur einer PHP-Datei und den richtigen Sicherheitsmaßnahmen lässt sich ein sicherer und komfortabler Datenbankzugang schaffen.
Empfehlung: Verwende Adminer nur über HTTPS, mit IP-Filter oder Passwortschutz – dann ist es eine exzellente Alternative zu phpMyAdmin.
Nützliche Links
- Offizielle Website: https://www.adminer.org/de/
- GitHub Repository: https://github.com/vrana/adminer
- Adminer Security Guide: https://www.adminer.org/en/security/