phpMyAdmin ist eine kostenlose, quelloffene und webbasierte Anwendung zur Verwaltung von MySQL- und MariaDB-Datenbanken über die Weboberfläche. Das Erstellen und Verwalten einer Datenbank über die Befehlszeilenschnittstelle ist für Anfänger sehr schwierig. phpMyAdmin bietet eine einfachere Möglichkeit, MySQL-Datenbanken, Benutzerkonten und Berechtigungen zu verwalten, SQL-Anweisungen auszuführen, Daten über den Webbrowser zu importieren und zu exportieren.
In diesem Beitrag zeigen wir Ihnen, wie Sie das Datenbankverwaltungstool phpMyAdmin unter Debian 11 installieren und sichern.
Voraussetzungen
- Ein Server mit Debian 11.
- Auf dem Server ist ein Root-Passwort konfiguriert.
Erste Schritte
Bevor Sie beginnen, ist es eine gute Idee, Ihre Systempakete auf die neueste Version zu aktualisieren. Sie können alle Pakete mit dem folgenden Befehl aktualisieren:
apt-get update -y
Sobald Ihr System aktualisiert ist, können Sie mit dem nächsten Schritt fortfahren.
LAMP-Server installieren
phpMyAdmin ist eine PHP-basierte Anwendung und läuft auf einem Webserver. Sie müssen also den LAMP-Server auf Ihrem Server installieren. Sie können es mit dem folgenden Befehl installieren:
apt-get install apache2 mariadb-server libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml php-mbstring php-zip php-gd unzip -y
Sobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.
Installieren und konfigurieren Sie phpMyAdmin
Laden Sie zunächst die neueste Version von phpMyAdmin von der offiziellen Website mit dem folgenden Befehl herunter:
wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip
Sobald der Download abgeschlossen ist, entpacken Sie die heruntergeladene Datei mit dem folgenden Befehl:
phpMyAdmin-5.1.1-all-languages.zip entpacken
Als nächstes verschieben Sie das extrahierte Verzeichnis mit dem folgenden Befehl nach /usr/share:
mv phpMyAdmin-5.1.1-all-languages /usr/share/phpmyadmin
Als nächstes erstellen Sie das erforderliche Verzeichnis mit dem folgenden Befehl:
mkdir -p /var/lib/phpmyadmin/tmp
Legen Sie als Nächstes den richtigen Besitz für das phpMyAdmin-Verzeichnis fest:
chown -R www-data:www-data /var/lib/phpmyadmin
Kopieren Sie als Nächstes die phpMyAdmin-Beispielkonfigurationsdatei:
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Installieren Sie als Nächstes pwgen und generieren Sie mit dem folgenden Befehl einen geheimen Schlüssel:
apt-get install pwgen -y
pwgen -s 32 1
Ausgabe:
pau9t1SG6lmaeCFxKqeeaY5N4erIa25K
Bearbeiten Sie als Nächstes die Datei config.inc.php und konfigurieren Sie sie:
nano /usr/share/phpmyadmin/config.inc.php
Definieren Sie Ihren geheimen Schlüssel und kommentieren Sie die folgenden Zeilen aus:
$cfg['blowfish_secret'] ='pau9t1SG6lmaeCFxKqeeaY5N4erIa25K'; /* SIE MÜSSEN DIES FÜR DIE COOKIE-AUTH AUSFÜLLEN! */$cfg['Servers'][$i]['controluser'] ='pma';$cfg['Servers'][$i]['controlpass'] ='password';$cfg['Servers' ][$i]['pmadb'] ='phpmyadmin';$cfg['Servers'][$i]['bookmarktable'] ='pma__bookmark';$cfg['Servers'][$i]['relation '] ='pma__relation';$cfg['Servers'][$i]['table_info'] ='pma__table_info';$cfg['Servers'][$i]['table_coords'] ='pma__table_coords';$ cfg['Servers'][$i]['pdf_pages'] ='pma__pdf_pages';$cfg['Servers'][$i]['column_info'] ='pma__column_info';$cfg['Servers'][$ i]['history'] ='pma__history';$cfg['Servers'][$i]['table_uiprefs'] ='pma__table_uiprefs';$cfg['Servers'][$i]['tracking'] ='pma__tracking';$cfg['Servers'][$i]['userconfig'] ='pma__userconfig';$cfg['Servers'][$i]['recent'] ='pma__recent';$cfg[' Servers'][$i]['favorite'] ='pma__favorite';$cfg['Servers'][$i]['users'] ='pma__users';$cfg['Servers'][$i][ 'usergroups'] ='pma__usergroups';$cfg['Servers'][$i]['navigationhiding'] ='pma__navigationhiding';$cfg['Servers'][$i]['savedsearches'] ='pma__savedsearches';$cfg[' Servers'][$i]['central_columns'] ='pma__central_columns';$cfg['Servers'][$i]['designer_settings'] ='pma__designer_settings';$cfg['Servers'][$i][ 'export_templates'] ='pma__export_templates';$cfg['TempDir'] ='/var/lib/phpmyadmin/tmp';
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Erstellen Sie einen phpMyAdmin-Admin-Benutzer
Es wird immer empfohlen, einen separaten Benutzer für die Verwaltung der Datenbank über phpMyAdmin anzulegen.
Importieren Sie zunächst die phpMyAdmin-Tabellen mit dem folgenden Befehl in die MariaDB-Datenbank:
mysqlVerbinden Sie sich als Nächstes mit dem folgenden Befehl mit der MariaDB-Shell:
mysqlSobald Sie verbunden sind, erteilen Sie der phpmyadmin-Datenbank mit dem folgenden Befehl alle erforderlichen Berechtigungen:
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'password';Als nächstes erstellen Sie einen Admin-Benutzer mit dem folgenden Befehl:
MariaDB [(keine)]> BENUTZER ERSTELLEN myadmin;Als nächstes erteilen Sie dem Admin-Benutzer mit dem folgenden Befehl alle Berechtigungen:
MariaDB [(keine)]> GEWÄHREN SIE ALLE PRIVILEGIEN AUF *.* AN „myadmin“@„localhost“, IDENTIFIZIERT DURCH „password“, MIT GRANT OPTION;Löschen Sie als Nächstes die Berechtigungen und verlassen Sie die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(keine)]> FLUSH PRIVILEGES;
MariaDB [(keine)]> EXIT;Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Apache für phpMyAdmin konfigurieren
Als Nächstes müssen Sie eine Konfigurationsdatei für den virtuellen Apache-Host für phpMyAdmin erstellen. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/apache2/conf-available/phpmyadmin.confFügen Sie die folgenden Zeilen hinzu:
Alias /phpmyadmin /usr/share/phpmyadminOptionen SymLinksIfOwnerMatch DirectoryIndex index.php AddType application/x-httpd-php .php SetHandler application/x-httpd-php php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share /php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/ php_admin_value mbstring. func_overload 0# Authorize for setup AddType application/x-httpd-php .php SetHandler application/x-httpd- php php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share /php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/ php_admin_value mbstring. func_overload 0# Verweigert den Webzugriff auf Verzeichnisse, die ihn nicht benötigen AuthType Basic AuthName "phpMyAdmin Setup" AuthUserFile /etc/phpmyadmin/ htpasswd.setup Require valid-userRequire all denied Alle verweigern erforderlich Alle verweigert erfordern Speichern und schließen Sie die Datei, wenn Sie fertig sind, und aktivieren Sie dann die phpMyAdmin-Konfigurationsdatei mit dem folgenden Befehl:
a2enconf phpmyadmin.confLaden Sie als Nächstes den Apache-Dienst neu, um die Änderungen zu übernehmen:
systemctl apache2 neu ladenSie können den Status des Apache-Dienstes mit dem folgenden Befehl überprüfen:
systemctl-Status apache2Sie sollten die folgende Ausgabe sehen:
? apache2.service – Der Apache HTTP-Server Geladen:geladen (/lib/systemd/system/apache2.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Di 2021-08-17 10:16:28 UTC; vor 2s Docs:https://httpd.apache.org/docs/2.4/ Process:45027 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID:45031 (apache2) Tasks:6 (Grenze:2341) Arbeitsspeicher:14,6 MB CPU:89 ms CGroup:/system.slice/apache2.service ??45031 /usr/sbin/apache2 -k start ??45032 /usr/sbin/apache2 -k start ??45033 /usr/sbin/apache2 -k start ??45034 /usr/sbin/apache2 -k start ??45035 /usr/sbin/apache2 -k start ??45036 /usr/sbin/apache2 -k startAug 17 10:16:28 debian systemd[1]:Den Apache HTTP Server starten...
Zugriff auf phpMyAdmin
An dieser Stelle ist phpMyAdmin installiert und konfiguriert. Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://your-server-ip/phpmyadmin auf phpMyAdmin zu . Sie sollten die Anmeldeseite von phpMyAdmin sehen:
Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf Los Taste. Sie sollten das phpMyAdmin-Dashboard auf der folgenden Seite sehen:
Sichern Sie phpMyAdmin
Es ist eine gute Idee, phpMyAdmin mit einer Zwei-Faktor-Authentifizierung zu sichern. Sie können dies mithilfe der .htaccess-Authentifizierungs- und Autorisierungsfunktionen tun.
Bearbeiten Sie zuerst die phpMyAdmin-Konfigurationsdatei:
nano /etc/apache2/conf-available/phpmyadmin.conf
Fügen Sie im folgenden Serverblock die Zeile „AllowOverride All“ hinzu:
Optionen FollowSymLinks DirectoryIndex index.php AllowOverride All
Speichern und schließen Sie die Datei, wenn Sie fertig sind, und starten Sie dann den Apache-Dienst neu:
systemctl startet Apache2 neu
Erstellen Sie als Nächstes eine .htaccess-Datei und definieren Sie den Apache-Authentifizierungstyp:
nano /usr/share/phpmyadmin/.htaccess
Fügen Sie die folgenden Zeilen hinzu:
AuthType BasicAuthName "Restricted Files"AuthUserFile /usr/share/phpmyadmin/.htpasswdRequire valid-user
Speichern und schließen Sie die Datei und erstellen Sie dann einen Benutzer mit dem folgenden Befehl:
htpasswd -c /usr/share/phpmyadmin/.htpasswd secureuser
Sie werden aufgefordert, ein Passwort festzulegen, wie unten gezeigt:
Neues Passwort:Neues Passwort erneut eingeben:Passwort für Benutzer secureuser wird hinzugefügt
phpMyAdmin verifizieren
An dieser Stelle ist phpMyAdmin mit einer zusätzlichen Authentifizierung gesichert. Um dies zu überprüfen, öffnen Sie Ihren Webbrowser und greifen Sie über die URL http://your-server-ip/phpmyadmin auf phpMyAdmin zu . Sie werden wie unten gezeigt nach dem zusätzlichen Benutzernamen und Passwort gefragt:
Nachdem Sie Ihren Benutzernamen und Ihr Passwort eingegeben haben, werden Sie zur regulären Anmeldeseite von phpMyAdmin weitergeleitet.
Schlussfolgerung
Herzliche Glückwünsche! Sie haben phpMyAdmin erfolgreich auf Debian 11 installiert und gesichert. Sie können jetzt phpMyAdmin erkunden und mit der Verwaltung Ihrer Datenbank über den Webbrowser beginnen.