phpMyAdmin ist eine kostenlose Open-Source-Anwendung auf PHP-Basis, die entwickelt wurde, um die Verwaltung von MySQL- und MariaDB-Servern über eine webbasierte Schnittstelle zu vereinfachen.
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 beschreibt die Schritte, die zum Installieren und Sichern von phpMyAdmin unter Debian 9 mit Apache-Webserver erforderlich sind.
Voraussetzungen #
Stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllt haben, bevor Sie mit diesem Lernprogramm fortfahren:
- Lass LAMP (Linux, Apache, MySQL und PHP) auf deinem Debian-Server installieren.
- Als Benutzer mit sudo-Berechtigungen angemeldet.
Obwohl optional, 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 unter Debian 9 sichern.
Installation von phpMyAdmin #
Führen Sie die folgenden Schritte aus, um phpMyAdmin unter Debian 9 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 Debian-Repositories, indem Sie Folgendes eingeben:
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 aus, 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
.Bestätigen Sie das Passwort, wählen Sie
OK
und drücken SieEnter
. -
Sobald der Installationsvorgang abgeschlossen ist, starten Sie Apache neu, damit die Änderungen wirksam werden:
sudo systemctl restart apache2
Erstellen des administrativen MySQL-Benutzers #
In Debian-Systemen, auf denen MariaDB 10.1 (und höher) ausgeführt wird, ist der Root-Benutzer so eingestellt, dass er den 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:
Wir haben den administrativen BenutzerCREATE USER 'padmin'@'localhost' IDENTIFIED BY 'super-strong-password';
GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;
padmin
genannt . Sie können einen beliebigen Namen verwenden, stellen Sie jedoch 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 nun 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.