open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
ChatGPT-Biografie

Adminer auf Debian installieren und absichern – Schritt-für-Schritt-Anleitung

Autor
Adminer auf Debian installieren und absichern – Schritt-für-Schritt-Anleitung

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-mysqli ist nötig für MySQL/MariaDB
  • php-pgsql für PostgreSQL
  • php-sqlite3 fü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: localhost oder 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