phpMyAdmin ist eine Open-Source-PHP-Anwendung, die für die Verwaltung von MySQL- und MariaDB-Servern über eine webbasierte Schnittstelle entwickelt wurde.
Mit phpMyAdmin können Sie MySQL-Datenbanken, Benutzerkonten und Berechtigungen verwalten, SQL-Anweisungen ausführen, Daten in einer Vielzahl von Datenformaten importieren und exportieren und vieles mehr.
Dieses Tutorial behandelt die Schritte, die zum Installieren und Sichern von phpMyAdmin mit Apache unter Ubuntu 18.04 erforderlich sind.
Voraussetzungen #
Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben, bevor Sie mit diesem Lernprogramm fortfahren:
- Lass LAMP (Linux, Apache, MySQL und PHP) auf deinem Ubuntu-Server installieren.
- Als Benutzer mit sudo-Berechtigungen angemeldet.
Obwohl es nicht notwendig ist, wird empfohlen, über HTTPS auf Ihre phpMyAdmin-Installation zuzugreifen. Wenn Ihre Domain nicht bereits durch SSL geschützt ist, können Sie dieser Anleitung folgen und Ihren Apache mit Let’s Encrypt auf Ubuntu 18.04 sichern.
Installation von phpMyAdmin #
Gehen Sie folgendermaßen vor, um phpMyAdmin auf Ihrem Ubuntu 18.04-Server zu installieren:
-
Aktualisieren Sie den Paketindex und aktualisieren Sie die Systempakete auf die neuesten Versionen:
sudo apt update && sudo apt upgrade
-
Installieren Sie das phpMyAdmin-Paket aus den standardmäßigen Ubuntu-Repositories mit dem folgenden Befehl:
sudo apt install phpmyadmin
Das Installationsprogramm fordert Sie auf, den Webserver auszuwählen, der automatisch zum Ausführen von phpMyAdmin konfiguriert werden soll, wählen Sie Apache, indem Sie
Space
drücken und dannEnter
.Als nächstes werden Sie gefragt, ob Sie
dbconfig-common
verwenden möchten Um die Datenbank einzurichten, wählen SieYes
und drücken SieEnter
.Geben Sie ein Passwort für phpMyAdmin ein, um sich bei der Datenbank zu registrieren, und wählen Sie
OK
und drücken SieEnter
.Sie werden aufgefordert, das Passwort zu bestätigen, dasselbe Passwort einzugeben und
OK
auszuwählen und drücken SieEnter
. -
Sobald der Installationsvorgang abgeschlossen ist, starten Sie Apache neu, damit die Änderungen wirksam werden:
sudo systemctl restart apache2
Erstellen Sie einen administrativen MySQL-Benutzer #
In Ubuntu-Systemen mit MySQL 5.7 (und höher) ist der Root-Benutzer so eingestellt, dass er auth_socket
verwendet Authentifizierungsmethode standardmäßig.
Der auth_socket
plugin authentifiziert Benutzer, die sich vom localhost über die Unix-Socket-Datei verbinden. Das bedeutet, dass Sie sich nicht als Root authentifizieren können, indem Sie ein Passwort eingeben.
Anstatt die Authentifizierungsmethode für den MySQL-Benutzer root zu ändern, erstellen wir einen neuen administrativen MySQL-Benutzer. Dieser Benutzer hat die gleichen Rechte wie der Root-Benutzer und wird so eingestellt, dass er das mysql_native_password
verwendet Authentifizierungsmethode.
Wir werden diesen Benutzer verwenden, um uns beim phpMyAdmin-Dashboard anzumelden und Verwaltungsaufgaben auf unserem MySQL- oder MariaDB-Server auszuführen.
Melden Sie sich zunächst als Root-Benutzer beim MySQL-Server an:
sudo mysql
Führen Sie in der MySQL-Shell die folgenden Befehle aus, die einen neuen Administratorbenutzer erstellen und entsprechende Berechtigungen erteilen:
CREATE USER 'padmin'@'localhost' IDENTIFIED BY 'super-strong-password';
GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;
In unserem Beispiel haben wir den administrativen Benutzer padmin
genannt . Sie können einen beliebigen Namen verwenden, stellen Sie nur sicher, dass Sie ein sicheres Passwort festlegen.
Zugriff auf phpMyAdmin #
Um auf die phpMyAdmin-Oberfläche zuzugreifen, öffnen Sie Ihren bevorzugten Browser und geben Sie den Domänennamen oder die öffentliche IP-Adresse Ihres Servers ein, gefolgt von /phpmyadmin
:
https://your_domain_or_ip_address/phpmyadmin
Geben Sie die zuvor erstellten Anmeldeinformationen für den administrativen Benutzer ein und klicken Sie auf Go
.
Sobald Sie sich angemeldet haben, sehen Sie das phpMyAdmin-Dashboard, das in etwa so aussieht:
Sicherung von phpMyAdmin #
Um eine zusätzliche Sicherheitsebene hinzuzufügen, werden wir das phpMyAdmin-Verzeichnis mit einem Passwort schützen, indem wir eine einfache Authentifizierung einrichten.
Zuerst erstellen wir eine Passwortdatei mit Benutzern, die den htpasswd
verwenden Tool, das mit dem Apache-Paket geliefert wird. Wir speichern die .htpasswd
Datei in /etc/phpmyadmin
Verzeichnis:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd padmin
In diesem Beispiel erstellen wir einen Benutzer namens padmin
. Sie können einen beliebigen Benutzernamen wählen, er muss nicht mit dem administrativen MySQL-Benutzer identisch sein.
Der obige Befehl fordert Sie auf, das Passwort des Benutzers einzugeben und zu bestätigen.
New password:
Re-type new password:
Adding password for user padmin
Wenn Sie einen weiteren Benutzer hinzufügen möchten, können Sie denselben Befehl ohne -c
verwenden Flagge:
sudo htpasswd /etc/phpmyadmin/.htpasswd padmin2
Der nächste Schritt besteht darin, Apache so zu konfigurieren, dass er das phpMyAdmin-Verzeichnis mit einem Passwort schützt und die .htpasswd
verwendet Datei.
Öffnen Sie dazu die phpmyadmin.conf
Datei, die während der Installation von phpMyAdmin automatisch erstellt wurde:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Und bearbeiten / fügen Sie die folgenden gelb markierten Zeilen ein:
/etc/apache2/conf-available/phpmyadmin.conf<Directory /usr/share/phpmyadmin>
Options +FollowSymLinks +Multiviews +Indexes # edit this line
DirectoryIndex index.php
AllowOverride None
AuthType basic
AuthName "Authentication Required"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
<IfModule mod_php5.c>
...
Speichern und schließen Sie die Datei und starten Sie Apache neu, damit die Änderungen wirksam werden:
sudo systemctl restart apache2
Wenn Sie jetzt auf Ihr phpMyAdmin zugreifen, werden Sie aufgefordert, die Anmeldeinformationen des Benutzers einzugeben, den Sie zuvor erstellt haben:
https://your_domain_or_ip_address/phpmyadmin
Nachdem Sie die Basisauthentifizierung eingegeben haben, werden Sie zur phpMyAdmin-Anmeldeseite weitergeleitet, wo Sie Ihre Anmeldeinformationen für den MySQL-Administrator eingeben müssen.
Es ist auch eine gute Idee,/phpmyadmin
zu ändern Alias für etwas Einzigartigeres und Sichereres.