open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Host

phpMyAdmin unter Debian 12 installieren und absichern

Autor
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

sudo apt update && sudo apt upgrade -y

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

Falls du noch keinen LAMP-Stack hast:

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

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

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

5. Konfigurationsdatei vorbereiten

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:

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

Füge bzw. aktiviere folgende Zeilen:

$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'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
// ... (alle weiteren optionalen Tabellen aktivieren)

6. Datenbanktabellen für phpMyAdmin erstellen

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

Dann in die MySQL-Konsole:

sudo mysql

Und folgende Befehle ausführen:

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:

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

Mit folgendem Inhalt:

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
    AllowOverride All
</Directory>

<Directory /usr/share/phpmyadmin/templates>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>

Konfiguration aktivieren und Apache neustarten:

sudo a2enconf phpmyadmin
sudo systemctl reload apache2

8. Zugriff absichern mit Basic Auth (.htaccess)

Erstelle .htaccess:

sudo nano /usr/share/phpmyadmin/.htaccess

Inhalt:

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

Dann Benutzer anlegen:

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

Passwort eingeben (zweimal).

9. phpMyAdmin aufrufen

Rufe im Browser auf:

http://<deine-server-ip>/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.