So installieren und sichern Sie phpMyAdmin auf Ubuntu 18.04 LTS
phpMyAdmin ist ein kostenloses und quelloffenes Administrationstool für MySQL und MariaDB. phpMyAdmin ist ein webbasiertes Tool, mit dem Sie MySQL- oder MariaDB-Datenbanken einfach verwalten können. Mit phpMyAdmin können Sie Verwaltungsaufgaben wie das Erstellen, Bearbeiten oder Löschen von Datenbanken, das Importieren und Exportieren von Datenbank-Backups, das Ausführen von Suchen und das Verwalten von Benutzern und Berechtigungen durchführen.
Über phpMyAdmin
- Mehrsprachige Unterstützung.
- Importieren Sie Daten aus CSV und SQL.
- Bereitstellung von Live-Charts zur Überwachung der MySQL-Serveraktivität wie Verbindungen, Prozesse, CPU-/Speicherauslastung usw.
- Globale Suche in einer Datenbank oder einer Teilmenge davon.
- Einfache und leicht zu bedienende Weboberfläche.
- Exportieren Sie Daten in verschiedene Formate wie CSV, SQL, XML, PDF, Word, Excel, LaTeX und andere.
In diesem Tutorial werden wir erklären, wie man phpMyAdmin auf dem Ubuntu 18.04 Server installiert und sichert.
Anforderungen
-
- Ein Server mit Ubuntu 18.04.
- Ein Nicht-Root-Benutzer mit sudo-Rechten.
phpMyAdmin installieren
Vor dem Start müssen Sie Apache und MySQL auf Ihrem Server installieren. Du kannst es mit dem folgenden Befehl installieren:
sudo apt-get install apache2 mysql-server -y
Standardmäßig ist phpMyAdmin im Standard-Repository von Ubuntu 18.04 nicht verfügbar. Sie müssen also das PHP-Repository eines Drittanbieters zu Ihrem System hinzufügen.
Sie können es hinzufügen, indem Sie einfach den folgenden Befehl ausführen:
sudo apt-get install software-properties-common -y sudo add-apt-repository ppa:ondrej/php
Sobald das Repository hinzugefügt wurde, installieren Sie phpMyAdmin, indem Sie den folgenden Befehl ausführen:
sudo apt-get install phpmyadmin php-mbstring php-gettext -y
Während der Installation werden Sie aufgefordert, den Webserver wie unten gezeigt auszuwählen:
Wählen Sie Apache und klicken Sie auf die Schaltfläche OK. Sie werden auf die folgende Seite weitergeleitet:
Klicken Sie nun auf die Schaltfläche Ja. Du solltest die folgende Seite sehen:
Geben Sie hier Ihr MySQL-Anwendungspasswort für phpMyAdmin ein und klicken Sie auf die Schaltfläche OK.
Nachdem der phpMyAdmin installiert wurde, aktivieren Sie die mbstring PHP-Erweiterung mit dem folgenden Befehl:
sudo phpenmod mbstring
Als nächstes starten Sie den Apache-Dienst neu, um die Änderungen zu übernehmen:
sudo systemctl restart apache2
Benutzerauthentifizierung konfigurieren
phpMyAdmin hat automatisch einen Datenbankbenutzer namens phpmyadmin mit dem Administrator-Passwort angelegt, das Sie bei der Installation festgelegt haben. Es wird jedoch empfohlen, einen separaten Benutzer für die Verwaltung von Datenbanken über die Weboberfläche phpMyAdmin zu erstellen. In der neuesten Version von MariaDB ist der MySQL-Root-Benutzer so eingestellt, dass er sich standardmäßig mit dem auth_socket-Plugin authentifiziert. Wenn Sie sich also bei phpMyAdmin als Ihr MySQL-Root-Benutzer anmelden möchten, müssen Sie seine Authentifizierungsmethode von auth_socket auf mysql_native_password umstellen.
Melden Sie sich zunächst mit dem folgenden Befehl in der MySQL-Shell an:
sudo mysql
Als nächstes überprüfen Sie die Authentifizierungsmethode des MySQL-Benutzers mit dem folgenden Befehl:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Output:
+------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | | auth_socket | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.01 sec)
In der obigen Ausgabe sollten Sie sehen, dass der Root-Benutzer auth_socket Plugin verwendet.
Sie können das Root-Konto so konfigurieren, dass es sich mit einem Passwort authentifiziert, indem Sie den folgenden Befehl ausführen:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Als nächstes leeren Sie die Berechtigungen mit dem folgenden Befehl:
mysql> FLUSH PRIVILEGES;
Überprüfen Sie nun die Authentifizierungsmethoden, indem Sie den folgenden Befehl ausführen:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Output:
+------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | mysql_native_password | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.01 sec)
Erstellen Sie anschließend einen separaten Benutzer mit dem Namen phpmyadminuser, um eine Verbindung zu phpMyAdmin herzustellen.
Melden Sie sich zunächst in der MySQL-Shell an:
mysql -u root -p
Geben Sie Ihr Root-Passwort ein und erstellen Sie dann einen Benutzer mit dem folgenden Befehl:
MariaDB [(none)]> CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'password';
Als nächstes erteile phpmyadminuser mit dem folgenden Befehl die entsprechenden Berechtigungen:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;
Schließlich beenden Sie die MySQL-Shell mit dem folgenden Befehl:
MariaDB [(none)]> exit;
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://your-server-ip/phpmyadmin. ein. Sie werden auf die folgende Seite weitergeleitet:
Geben Sie hier Ihren Benutzernamen und Ihr Passwort ein. Klicken Sie dann auf die Schaltfläche Go. Sie sollten das PhpMyAdmin Dashboard auf der folgenden Seite sehen:
Sichern Sie PhpMyAdmin
phpMyAdmin ist nun installiert und konfiguriert. Es wird jedoch empfohlen, Ihre phpMyAdmin-Instanz zu sichern, um unbefugten Zugriff zu verhindern. Sie können phpMyAdmin mit den integrierten.htaccess-Authentifizierungs- und Autorisierungsfunktionen des Apache schützen.
Aktivieren Sie dazu zunächst die Verwendung von .htaccess-Dateiüberschreibungen, indem Sie die Datei phpmyadmin.conf bearbeiten:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Nehmen Sie die folgenden Änderungen vor:
<Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php AllowOverride All
Speichern und schließen Sie die Datei. Starten Sie dann den Apache-Dienst neu, um die chnages anzuwenden:
sudo systemctl restart apache2
Als nächstes erstellen Sie eine.htaccess-Datei im phpmyadmin-Verzeichnis:
sudo nano /usr/share/phpmyadmin/.htaccess
Füge die folgenden Zeilen hinzu:
AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user
Speichern und schließen Sie die Datei. Erstellen Sie dann einen Benutzer namens admin mit dem Dienstprogramm htpasswd:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd admin
Output:
New password: Re-type new password: Adding password for user admin
Ihre phpMyAdmin-Instanz ist nun mit einer zusätzlichen Authentifizierungsschicht gesichert.
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://your-server-ip/phpmyadmin. ein. Sie werden zu dem zusätzlichen Kontonamen und Passwort umgeleitet, den Sie gerade wie unten gezeigt konfiguriert haben:
Geben Sie nun Ihren Benutzernamen und das Passwort ein und klicken Sie auf die Schaltfläche Anmelden. Du solltest auf die reguläre phpMyAdmin-Authentifizierungsseite weitergeleitet werden.