How2-Host

phpMyAdmin unter Debian 12 installieren und absichern

Schritt-für-Schritt-Anleitung zur Installation und sicheren Konfiguration von phpMyAdmin unter Debian 12 mit Apache, MariaDB und PHP. Ideal für Admins und Einsteiger.

1 min Lesezeit
phpMyAdmin unter Debian 12 installieren und absichern

phpMyAdmin ist ein beliebtes, webbasiertes Tool zur Verwaltung von MySQL- oder MariaDB-Datenbanken. Es bietet eine benutzerfreundliche Oberfläche, mit der man Datenbanken, Tabellen, Benutzer, Berechtigungen, Backups und vieles mehr ohne Kommandozeile verwalten kann.

In dieser Anleitung zeigen wir Schritt für Schritt, wie du phpMyAdmin auf einem Debian 12 Server installierst, konfigurierst und absicherst.

Voraussetzungen

  • Ein Debian-12-Server mit Root-Zugriff
  • Ein eingerichteter LAMP-Stack (Linux, Apache, MariaDB, PHP)
  • Internetverbindung für Paketdownloads

1. System aktualisieren

``bash sudo apt update && sudo apt upgrade -y ``

2. LAMP-Stack und benötigte PHP-Module installieren

Falls du noch keinen LAMP-Stack hast:

``bash sudo apt install apache2 mariadb-server libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml php-mbstring php-gd unzip -y ``

3. Neueste phpMyAdmin-Version herunterladen

``bash wget https://files.phpmyadmin.net/phpMyAdmin/5.2.2/phpMyAdmin-5.2.1-all-languages.zip unzip phpMyAdmin-5.2.2-all-languages.zip sudo mv phpMyAdmin-5.2.2-all-languages /usr/share/phpmyadmin ``

4. Temporärverzeichnis erstellen und Rechte setzen

``bash sudo mkdir -p /var/lib/phpmyadmin/tmp sudo chown -R www-data:www-data /var/lib/phpmyadmin ``

5. Konfigurationsdatei vorbereiten

``bash sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php sudo apt install pwgen -y pwgen -s 32 1 # → z. B. pau9t1SG6lmaeCFxKqeeaY5N4erIa25K ``

Öffne die Datei:

``bash sudo nano /usr/share/phpmyadmin/config.inc.php ``

Füge bzw. aktiviere folgende Zeilen:

```php $cfg['blowfish_secret'] = 'HIER_DEIN_GEHEIMNIS'; // muss 32 Zeichen haben $cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';

$cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = 'password';

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; // Weitere Tabellen: $cfg['Servers'][$i]['bookmarktable'] = 'pmabookmark'; $cfg['Servers'][$i]['relation'] = 'pmarelation'; // ... (alle weiteren optionalen Tabellen aktivieren) ```

6. Datenbanktabellen für phpMyAdmin erstellen

``bash sudo mysql < /usr/share/phpmyadmin/sql/create_tables.sql ``

Dann in die MySQL-Konsole:

``bash sudo mysql ``

Und folgende Befehle ausführen:

``sql GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin. TO 'pma'@'localhost' IDENTIFIED BY 'password'; CREATE USER 'myadmin'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON .* TO 'myadmin'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT; ``

7. Apache-Konfiguration für phpMyAdmin

Datei anlegen:

``bash sudo nano /etc/apache2/conf-available/phpmyadmin.conf ``

Mit folgendem Inhalt:

```apache Alias /phpmyadmin /usr/share/phpmyadmin

Options SymLinksIfOwnerMatch DirectoryIndex index.php AllowOverride All

Require all denied Require all denied Require all denied ```

Konfiguration aktivieren und Apache neustarten:

``bash sudo a2enconf phpmyadmin sudo systemctl reload apache2 ``

8. Zugriff absichern mit Basic Auth (.htaccess)

Erstelle .htaccess:

``bash sudo nano /usr/share/phpmyadmin/.htaccess ``

Inhalt:

``apache AuthType Basic AuthName "Restricted Access" AuthUserFile /usr/share/phpmyadmin/.htpasswd Require valid-user ``

Dann Benutzer anlegen:

``bash sudo htpasswd -c /usr/share/phpmyadmin/.htpasswd secureuser ``

Passwort eingeben (zweimal).

9. phpMyAdmin aufrufen

Rufe im Browser auf:

`` http:///phpmyadmin ``

  1. Zuerst erscheint die Basic-Auth (htpasswd) – „zusätzlicher Login-Schutz“
  2. Danach: phpMyAdmin-Loginmaske

→ Logge dich mit dem MySQL-Benutzer myadmin ein.

Bonus: phpMyAdmin zusätzlich absichern

  • Verwende UFW-Firewall, um nur bestimmten IPs den Webzugriff auf /phpmyadmin zu erlauben.
  • Aktiviere HTTPS (z. B. mit Let’s Encrypt)
  • Ändere ggf. den Standardpfad /phpmyadmin auf etwas Ungewöhnlicheres.

Fazit

Mit dieser Anleitung hast du nicht nur phpMyAdmin unter Debian 12 installiert, sondern auch professionell abgesichert. Ob du Datenbanken verwaltest, Backups erstellst oder Benutzer pflegst – mit phpMyAdmin geht das komfortabel über den Browser.