Anleitung: phpMyAdmin mit Apache (LAMP) auf Ubuntu 20.04 installieren

Dieses Tutorial zeigt dir, wie du phpMyAdmin mit Apache, MariaDB, PHP7.4 (LAMP-Stack) auf Ubuntu 20.04 LTS installierst. phpMyAdmin ist ein freies und Open-Source-webbasiertes Datenbank-Management-Tool, das in PHP geschrieben wurde. Es bietet eine grafische Web-Oberfläche für Benutzer zur Verwaltung von MySQL- oder MariaDB-Datenbanken.

Die Installation von phpMyAdmin erfolgt auf einem LAMP-Stack-Webserver mit Ubuntu 20.04 und läuft bei mir Zuhause auf einem Raspberry Pi. Die Installation dauert nur wenige Minuten und lässt sich Schritt für Schritt nachvollziehen.

Werbung

phpMyAdmin mit Apache (LAMP) auf Ubuntu 20.04 installieren

phpMyAdmin ermöglicht Administratoren:

  • Durchsuchen von Datenbanken und Tabellen;
  • Erstellen, Kopieren, Umbenennen, Ändern und Löschen von Datenbanken;
  • Erstellen, Kopieren, Umbenennen, Ändern und Löschen von Tabellen;
  • Durchführen von Tabellenwartung;
  • Felder hinzufügen, bearbeiten und löschen;
  • jede SQL-Anweisung ausführen, auch mehrere Abfragen;
  • Indizes erstellen, ändern und löschen;
  • Textdateien in Tabellen laden;
  • Dumps von Tabellen oder Datenbanken erstellen und lesen;
  • Daten in die Formate SQL, CSV, XML, Word, Excel, PDF und LaTeX exportieren;
  • mehrere Server zu verwalten;
  • MySQL-Benutzer und -Berechtigungen zu verwalten;
  • Servereinstellungen und Laufzeitinformationen mit Konfigurationshinweisen prüfen
  • Überprüfung der referentiellen Integrität in MyISAM-Tabellen;
  • Erstellen komplexer Abfragen mit Query-by-Example (QBE), automatische
  • Verbinden benötigter Tabellen;
  • PDF-Grafiken des Datenbank-Layouts erstellen;
  • globale Suche in einer Datenbank oder einer Teilmenge davon;
  • gespeicherte Daten mit Hilfe einer Reihe vordefinierter Funktionen in ein beliebiges Format umwandeln, z. B. BLOB-Daten als Bild oder Download-Link anzeigen;
  • Verwalten von InnoDB-Tabellen und Fremdschlüsseln;

Um dieser Anleitung zu folgen, benötigst du ein Ubuntu 20.04-Betriebssystem, das auf deinem lokalen Computer oder auf einem Remote-Server läuft.

Download and Install phpMyAdmin on Ubuntu 20.04

phpMyAdmin ist im Software-Repository von Ubuntu 20.04 enthalten. Wir können es also ganz einfach mit dem folgenden Befehl installieren:

sudo apt update
sudo apt install phpmyadmin

Mit dem obigen Befehl werden alle erforderlichen Abhängigkeiten einschließlich der PHP7-Erweiterungen installiert. Während der Installation wirst du aufgefordert, einen zu konfigurierenden Webserver auszuwählen. Drücken die Leertaste, um apache2 auszuwählen. Ein Sternchen zeigt an, dass das Element ausgewählt ist. Drücke dann die Tabulatortaste und die Eingabetaste, um deine Auswahl zu bestätigen.

phpMyAdmin Installation
phpMyAdmin Installation (Bild: Screenshot).

Wähle im nächsten Bildschirm YES, um eine Datenbank für phpMyAdmin mit dbconfig-common zu konfigurieren.

phpMyAdmin Installation
phpMyAdmin Installation (Bild: Screenshot).

Setze ein Passwort für den Benutzer phpmyadmin in MariaDB/MySQL.

phpMyAdmin Installation
phpMyAdmin Installation (Bild: Screenshot).

Sobald dieser Schritt erledigt ist, wird eine neue Datenbank mit dem Namen phpmyadmin erstellt und der Datenbankbenutzer phpmyadmin verfügt über die erforderlichen Berechtigungen, um diese Datenbank zu verwalten. Wenn du wie ich neugierig bist, kannst du dich bei MariaDB anmelden und überprüfen, welche Rechte dem Benutzer phpmyadmin gewährt wurden.

Du kannst den folgenden Befehl verwenden, um dich am MariaDB-Server anzumelden:

sudo mysql -u root

Überprüfe dann die Berechtigungen des Benutzers phpmyadmin.

show grants for phpmyadmin@localhost;

Ausgabe:

phpmyadmin Rechte
phpmyadmin Rechte (Bild: Screenshot).

Wie du sehen kannst, hat der Benutzer phpmyadmin alle Rechte auf der Datenbank phpmyadmin. Nun kannst du die Abfrage wie folgt beenden:

exit;

Führe nun den folgenden Befehl aus, um zu prüfen, ob die Datei /etc/apache2/conf-enabled/phpmyadmin.conf vorhanden ist.

file /etc/apache2/conf-enabled/phpmyadmin.conf

Wenn bei der Installation kein Fehler aufgetreten ist, solltest die folgende Befehlsausgabe sehen.

/etc/apache2/conf-enabled/phpmyadmin.conf: symbolic link to ../conf-available/phpmyadmin.conf

Wenn diese Datei auf deinem Server nicht existiert, hast du wahrscheinlich im phpMyAdmin-Einrichtungsassistenten nicht den Apache-Webserver ausgewählt. Du kannst das mit den folgenden Befehlen beheben:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf

sudo a2enconf phpmyadmin

sudo systemctl reload apache2

Zugriff auf phpMyAdmin aus einem Unterverzeichnis

Bei der Installation von phpMyAdmin wird eine Konfigurationsdatei unter /etc/apache2/conf-enabled/phpmyadmin.conf abgelegt, die uns den Zugriff auf phpMyAdmin über ein Unterverzeichnis ermöglicht. Wenn du andere Webanwendungen wie WordPress auf demselben Ubuntu 20.04-Server installiert hast, dann füge einfach /phpmyadmin hinter deinem Domainnamen in der Adresszeile des Browsers ein.

beispiel.de/phpmyadmin
phpMyAdmin starten
phpMyAdmin starten (Bild: Screenshot).

Wenn phpMyAdmin auf deinem lokalen Ubuntu-Computer installiert ist, kannst du die Web-Oberfläche von phpMyAdmin aufrufen, indem du den folgenden Text in die Adressleiste des Browsers eintippst:

localhost/phpmyadmin

Wenn die Verbindung abgelehnt wird oder nicht zustande kommt, verhindert möglicherweise eine Firewall HTTP-Anfragen. Wenn du eine iptables-Firewall verwendest, musst du die folgenden Befehle ausführen, um die TCP-Ports 80 und 443 zu öffnen.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT

Wenn du die UFW-Firewall verwendest, dann führe diesen Befehl aus, um die TCP-Ports 80 und 443 zu öffnen:

sudo ufw allow 80,443/tcp

Jetzt kannst du dich mit MariaDB/MySQL-Benutzername und -Passwort bei phpMyAdmin anmelden.

Zugriff auf phpMyAdmin von einer Sub-Domain aus

Wenn dein Ubuntu 20.04-Server keinen anderen virtuellen Apache-Host hat, dann möchtest du vielleicht eine Subdomain für den Zugriff auf die phpMyAdmin-Web-Oberfläche verwenden. Auf diese Weise kannst du HTTPS aktivieren, um den Datenverkehr zu verschlüsseln.

Zuerst müssen wir einen virtuellen Apache-Host für phpMyAdmin erstellen. Das bestehende phpMyAdmin-Konfigurations-Snippet kann als Vorlage verwendet werden. Kopieren wir dieses in eine neue Datei:

sudo cp /etc/apache2/conf-enabled/phpmyadmin.conf /etc/apache2/sites-available/phpmyadmin.conf

Bearbeite dann die neue Datei mit einem Kommandozeilen-Texteditor, z. B. Nano:

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

In dieser Datei fehlen die -Tags, daher müssen wir die folgenden Zeilen am Anfang dieser Datei hinzufügen. Ersetzee pma.beispiel.de durch deine bevorzugte Sub-Domain für phpMyAdmin. Vergesse nicht, einen DNS-A Eintrag für diese Sub-Domain zu erstellen.

<VirtualHost *:80>
    ServerName pma.beispiel.de
    DocumentRoot /usr/share/phpmyadmin

    ErrorLog ${APACHE_LOG_DIR}/pma.error.log
    CustomLog ${APACHE_LOG_DIR}/pma.access.log combined
</VirtualHost>

Wichtig ist, dass die Datei am Ende mit </VirtualHost> endet.

Speichere und schließe die Datei. Um eine Datei im Nano-Texteditor zu speichern, drücke Strg+O und dann zur Bestätigung die Eingabetaste. Zum Beenden drücke Strg+X. Aktiviere dann diesen virtuellen Host.

sudo a2ensite phpmyadmin.conf

Starte den Apache-Webserver neu, damit diese Änderung wirksam wird:

sudo systemctl reload apache2

Nun sollten Sie auf die phpMyAdmin-Web-Oberfläche zugreifen können über

pma.beispiel.de

Bevor du die Anmeldedaten in das Anmeldeformular eintippst, solltest du HTTPS aktivieren.

Aktivieren von HTTPS auf phpMyAdmin mit Apache

Um die phpMyadmin-Weboberfläche zu sichern, können wir ein kostenloses Let’s Encrypt TLS-Zertifikat installieren. Führe den folgenden Befehl aus, um den Let’s Encrypt-Client (certbot) aus dem Software-Repository von Ubuntu 20.04 zu installieren.

sudo apt install certbot python3-certbot-apache

Python3-certbot-apache ist das Apache-Plugin für Certbot. Führe nun den folgenden Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple -d pma.beispiel.de --email du@beispie.de

Achte auf die korrekte URL und E-Mail Adresse im Befehl oben!

  • -apache: Verwendet den Apache-Authentifikator und das Installationsprogramm.
  • -agree-tos: Zustimmen zu den Let’s Encrypt-Servicebedingungen.
  • -redirect: Erzwingt HTTPS durch Hinzufügen einer permanenten 301-Weiterleitung.
  • -hsts: Fügt den Strict-Transport-Security-Header zu jeder HTTP-Antwort hinzu.
  • -staple-ocsp: Aktiviert OCSP-Stapling.
  • -must-staple: Fügt dem Zertifikat die OCSP-Must-Staple-Erweiterung hinzu.
  • -d Flag wird von einer Liste von Domainnamen gefolgt, die durch Komma getrennt sind. Du kannst bis zu 100 Domänennamen hinzufügen.
  • -email: Die für die Registrierung und den Wiederherstellungskontakt verwendete E-Mail.

Du wirst gefragt, ob du E-Mails von der EFF(Electronic Frontier Foundation) erhalten möchtest. Nachdem du Y oder N gewählt hast, wird dein TLS-Zertifikat automatisch für dich eingeholt und konfiguriert und durch eine Meldung bestätigt.

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.