Ubuntu 18.04 Server / Wie man phpMyAdmin installiert
Um phpMyAdmin auf einem Ubuntu 18.04 Server zu installieren, bereiten Sie Apache, PHP und MySQL oder MariaDB vor, installieren Sie dann das phpmyadmin-Paket und melden Sie sich mit einem Datenbankkonto an. Beschränken Sie vor der Installation die Zugangspfade, damit das Admin-Tool nicht extern zugänglich ist, und ändern Sie nicht die Authentifizierungseinstellungen für den Datenbank-Root.
Dinge, die vor der Installation überprüft werden sollten
phpMyAdmin ist ein Werkzeug zur Verwaltung von MySQL- oder MariaDB-Datenbanken und -Tabellen über einen Webbrowser. Dieser Artikel beschreibt den Fall der Nutzung von Apache auf einem bestehenden Ubuntu 18.04 Server. Wenn Sie einen separaten Webserver und Datenbankserver verwenden oder Nginx nutzen, werden der Verbindungsweg und die Einstellungen anders sein.
Die standardmäßige Sicherheitswartung für Ubuntu 18.04 LTS endete im Mai 2023. Für bestehende Systeme wird empfohlen, auf eine unterstützte Ubuntu-Version zu aktualisieren. Wenn Sie nicht sofort aktualisieren können, prüfen Sie, ob die Sicherheitswartung von Ubuntu Pro angewendet wird und welchen Aktualisierungsumfang es für phpMyAdmin-, PHP- und Datenbankpakete gibt. Weitere Details finden Sie im Ubuntu-Sicherheitswartungsleitfaden.
Das folgende Beispiel geht davon aus, dass Sie sudo-Rechte haben, Apache, PHP und MySQL oder MariaDB bereits installiert sind und über SSH auf den Server zugreifen können. Sichern Sie Ihre Datenbank und überprüfen Sie die Paket-Repositorys sowie bestehende Website-Konfigurationen vor der Installation. Da Apache-Einstellungen während der Installation möglicherweise automatisch angewendet werden, beschränken Sie zuerst den Zugriff von externen Quellen mithilfe einer Firewall oder eines privaten Netzwerks.
Einschränkung des Administrationspfads in Apache
Das folgende Beispiel zeigt, wie man sich direkt mit Apache verbindet und nur lokale Verbindungen zum Server zulässt. Erstellen Sie zunächst die Datei /etc/apache2/conf-available/phpmyadmin-local.conf und speichern Sie den folgenden Inhalt.
<Location /phpmyadmin>
Require local
</Location>
Überprüfen Sie nach der Aktivierung der Einstellungen die Syntax und laden Sie Apache nur neu, wenn die Überprüfung erfolgreich ist.
sudo a2enconf phpmyadmin-local
sudo apache2ctl configtest
Wenn Syntax OK angezeigt wird, führen Sie den folgenden Befehl aus. Wenn Fehler auftreten, ändern Sie die Einstellungen und prüfen Sie erneut.
sudo systemctl reload apache2
Diese Konfiguration gilt für den Beispielpfad. Wenn Sie andere Aliasse oder virtuelle Hosts haben, prüfen Sie auch diese Pfade. Wenn ein Reverse-Proxy davor geschaltet ist, könnte Apache die Proxy-Adresse als Client-Adresse sehen, sodass Zugriffsbeschränkungen mit diesem Beispiel allein nicht garantiert werden können. Überprüfen Sie die Behandlung der tatsächlichen Client-Adressen durch vertrauenswürdige Proxies und die Firewall separat. Sie können die Require-Direktive in der Apache-Dokumentation zur Zugriffskontrolle prüfen.
Installation von phpMyAdmin
Aktualisieren Sie die Paketliste und installieren Sie es. Die Verfügbarkeit und Versionen der Pakete können je nach Repository- und Sicherheitswartungseinstellungen variieren.
sudo apt update
sudo apt install phpmyadmin
Wenn ein interaktiver Installationsbildschirm angezeigt wird, überprüfen Sie Folgendes:
- Auf dem Bildschirm zur Auswahl des Webservers wählen Sie Apache2 aus. Stellen Sie sicher, dass es ausgewählt ist, bevor Sie fortfahren. Einfaches Drücken der Eingabetaste wählt das Element möglicherweise nicht aus.
- Wenn Sie nach der
dbconfig-common-Konfiguration gefragt werden, wählen Sie Ja, wenn das Paket eine Datenbank für die zusätzlichen Funktionen von phpMyAdmin konfigurieren soll. Diese Datenbank unterscheidet sich von den Anwendungsdatenbanken, die Sie verwalten. Wenn Sie planen, bestehende Einstellungen selbst zu verwalten, können Sie Nein wählen. - Auf dem Bildschirm, der nach einem Passwort fragt, überprüfen Sie das angezeigte Konto und den Zweck und geben Sie ein sicheres Passwort ein. Die während des Installationsprozesses erforderliche Authentifizierung des Datenbankadministrators kann je nach Authentifizierungsmethode des vorhandenen Servers variieren.
Nach der Installation überprüfen Sie die Konfigurationsdateien und ob der Apache-Dienst läuft. Die Einstellungen für das Ubuntu-Paket befinden sich hauptsächlich in /etc/phpmyadmin und können je nach Paketkonfiguration variieren.
ls /etc/phpmyadmin
systemctl status apache2 --no-pager
Zugriff über SSH-Tunnel
Öffnen Sie den SSH-Client auf dem Administrator-PC und führen Sie den folgenden Befehl aus. Ersetzen Sie user und server durch das tatsächliche SSH-Konto und die Serveradresse. Es verbindet Port 8080 auf dem Administrator-PC mit dem lokalen Port 80 des Servers und kann verwendet werden, solange die SSH-Verbindung aufrechterhalten wird.
ssh -L 127.0.0.1:8080:127.0.0.1:80 user@server
Öffnen Sie http://127.0.0.1:8080/phpmyadmin im Browser auf demselben PC. Der Browser und der SSH-Client müssen auf demselben PC ausgeführt werden, und Apache auf dem Server muss den Pfad am lokalen Port 80 bereitstellen. Wenn der Anmeldebildschirm angezeigt wird, geben Sie den erlaubten Datenbankbenutzernamen und das Passwort ein. Das Beenden der SSH-Sitzung schließt auch den Tunnel.
Wenn Ihre Umgebung so konfiguriert ist, dass sie direkt über HTTPS zugreift, sind ein gültiges TLS-Zertifikat und separate Zugriffsrestriktionen erforderlich. Legen Sie die erlaubten IP-Adressen in Ihrer Firewall oder in Apache entsprechend der tatsächlichen Administratoradresse fest und überprüfen Sie die Zugriffsergebnisse sowohl von erlaubten als auch von nicht erlaubten Adressen. Es wird empfohlen, die Admin-Seite nicht im gesamten Internet freizugeben.
Anmeldekonten und Berechtigungen
Der phpMyAdmin-Login wird über ein MySQL- oder MariaDB-Konto authentifiziert. Verwenden Sie ein dediziertes Konto mit Berechtigungen nur für die Datenbanken und Operationen, die für Ihre Tätigkeiten erforderlich sind. Host und Berechtigungen des Kontos müssen mit den Einstellungen auf dem tatsächlichen Datenbankserver übereinstimmen. Überprüfen Sie Ziel und Backup sorgfältig, bevor Sie Dateien hochladen oder Datenänderungen vornehmen.
Das Linux-Root-Konto und das Root-Konto der Datenbank sind unterschiedlich. Wenn der Datenbank-Root für die lokale Socket-Authentifizierung konfiguriert ist, ist er möglicherweise nicht für die Webanmeldung verwendbar. Versuchen Sie nicht, dies durch direktes Ändern von Systemtabellen oder durch Leeren des Root-Authentifizierungs-Plugins zu lösen. Erstellen Sie ein separates Konto mit den erforderlichen Berechtigungen und befolgen Sie die Kontoverwaltungsdokumentation für dieses Datenbankprodukt.
Wenn keine Verbindung hergestellt werden kann
- 403 Verboten: Überprüfen Sie, ob Zugriffsbeschränkungen angewendet werden und ob Sie einen SSH-Tunnel verwenden. Überprüfen Sie auch die vom Proxy und Apache erkannte Client-Adresse.
- 404 Nicht gefunden: Stellen Sie sicher, dass Apache2 während der Installation ausgewählt wurde und dass die Apache-Konfiguration von phpMyAdmin aktiviert ist. Wenn Sie andere virtuelle Hosts oder Aliasse verwenden, überprüfen Sie auch diese Einstellungen.
- Anmeldung fehlgeschlagen: Überprüfen Sie den Datenbank-Benutzernamen, das Passwort, den Verbindungs-Host und die Berechtigungen. Das Webserver-Konto oder das SSH-Konto kann sich vom Datenbankkonto unterscheiden.
- PHP-Seitenfehler: Überprüfen Sie die Integration von Apache und PHP, die benötigten PHP-Erweiterungen und die Apache-Fehlerprotokolle. Installations- und Konfigurationspfade können je nach Distributionspaket variieren.
Wenn Sie Konfigurationsänderungen rückgängig machen müssen, stellen Sie sie aus einem vorhandenen Backup wieder her und überprüfen Sie die Syntax erneut. Das Deaktivieren der lokalen Einschränkungseinstellungen in diesem Artikel kann den Verwaltungspfad aufgrund anderer Konfigurationen für den externen Zugriff öffnen, daher sollten Sie zuerst sicherstellen, dass alternative Zugriffskontrollen angewendet werden. Für die Installation und Sicherheitseinstellungen von phpMyAdmin, verweisen Sie auf die offizielle Installationsdokumentation.




