So installieren und sichern Sie die neueste phpMyAdmin-Version auf Debian 12
So installieren und sichern Sie die neueste phpMyAdmin-Version auf Debian 12
Dieses Tutorial existiert für diese Betriebssystemversionen.
- Debian 12 (Bookworm)
- Debian 11 (Bullseye)
Auf dieser Seite
- Voraussetzungen
- Erste Schritte
- LAMP-Server installieren
- Installieren und Konfigurieren von phpMyAdmin
- Erstellen Sie einen phpMyAdmin-Adminbenutzer
- Konfigurieren Sie Apache für phpMyAdmin
- Zugriff auf phpMyAdmin
- Sichere phpMyAdmin
- phpMyAdmin überprüfen
- Schlussfolgerung
phpMyAdmin ist ein kostenloses, webbasiertes Verwaltungstool, das zur Verwaltung von MySQL- und MariaDB-Datenbanken verwendet wird und in Debian-Linux-Systemen weit verbreitet ist. Es bietet eine benutzerfreundliche Oberfläche zur Interaktion mit Datenbanken, die es den Benutzern ermöglicht, SQL-Abfragen auszuführen, Datenbanktabellen zu verwalten, Daten zu importieren und zu exportieren sowie verschiedene Datenbankeinstellungen zu konfigurieren, ohne die Befehlszeile verwenden zu müssen. Auf Debian-Linux wird phpMyAdmin häufig zusammen mit einem LAMP-Stack (Linux, Apache, MySQL/MariaDB, PHP) installiert, was es Administratoren und Entwicklern erleichtert, Datenbankoperationen auf eine visuellere und organisierte Weise zu handhaben.
In diesem Tutorial zeige ich Ihnen, wie Sie das Datenbankverwaltungstool phpMyAdmin auf Debian 12 installieren und sichern.
Voraussetzungen
- Ein Server mit Debian 12.
- Ein Root-Passwort ist auf dem Server 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 update -ySobald Ihr System aktualisiert ist, können Sie mit dem nächsten Schritt fortfahren.
LAMP-Server installieren
phpMyAdmin ist eine auf PHP basierende Anwendung, die auf einem Webserver läuft. Daher müssen Sie den LAMP-Server auf Ihrem Server installieren. Sie können ihn mit dem folgenden Befehl installieren:
apt 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 von phpMyAdmin
Zuerst laden Sie die neueste Version von phpMyAdmin von ihrer offiziellen Website mit dem folgenden Befehl herunter:
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zipSobald der Download abgeschlossen ist, entpacken Sie die heruntergeladene Datei mit dem folgenden Befehl:
unzip phpMyAdmin-5.2.1-all-languages.zipAls nächstes verschieben Sie das extrahierte Verzeichnis mit dem folgenden Befehl nach /usr/share:
mv phpMyAdmin-5.2.1-all-languages /usr/share/phpmyadminAls nächstes erstellen Sie das erforderliche Verzeichnis mit dem folgenden Befehl:
mkdir -p /var/lib/phpmyadmin/tmpAls Nächstes setzen Sie die richtigen Berechtigungen für das phpMyAdmin-Verzeichnis:
chown -R www-data:www-data /var/lib/phpmyadminAls Nächstes kopieren Sie die Beispielkonfigurationsdatei von phpMyAdmin:
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.phpAls nächstes installieren Sie pwgen und generieren mit dem folgenden Befehl einen geheimen Schlüssel:
apt-get install pwgen -y
pwgen -s 32 1Ausgabe :
pau9t1SG6lmaeCFxKqeeaY5N4erIa25K
Als Nächstes bearbeiten Sie die config.inc.php-Datei und konfigurieren 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'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
$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 Sie die Datei und schließen Sie sie, wenn Sie fertig sind.
Erstellen Sie einen phpMyAdmin-Adminbenutzer
Es wird immer empfohlen, einen separaten Benutzer zu erstellen, um die Datenbank über phpMyAdmin zu verwalten.
Zuerst importieren Sie die phpMyAdmin-Tabellen in die MariaDB-Datenbank mit dem folgenden Befehl:
mysql < /usr/share/phpmyadmin/sql/create_tables.sqlVerbinden Sie sich als Nächstes mit der MariaDB-Shell mit dem folgenden Befehl:
mysqlSobald Sie verbunden sind, gewähren Sie der phpmyadmin-Datenbank mit dem folgenden Befehl alle notwendigen Berechtigungen:
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'password';Als nächstes erstellen Sie einen Administrationsbenutzer mit dem folgenden Befehl:
MariaDB [(none)]> CREATE USER myadmin;Als nächstes gewähren Sie dem Admin-Benutzer alle Berechtigungen mit dem folgenden Befehl:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'myadmin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;Als nächstes die Berechtigungen neu laden und die MariaDB-Shell mit dem folgenden Befehl beenden:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Konfigurieren Sie Apache für phpMyAdmin
Als nächstes müssen Sie eine Apache-Virtual-Host-Konfigurationsdatei für phpMyAdmin erstellen. Sie können dies mit dem folgenden Befehl tun:
nano /etc/apache2/conf-available/phpmyadmin.confFügen Sie die folgenden Zeilen hinzu:
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
<IfModule mod_php5.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
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
</IfModule>
<IfModule mod_php.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
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
</IfModule>
</Directory>
Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
<IfModule mod_authz_core.c>
<IfModule mod_authn_file.c>
AuthType Basic
AuthName "phpMyAdmin Setup"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
</IfModule>
Require valid-user
</IfModule>
</Directory>
Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Require all denied
</Directory>
Speichern Sie die Datei und schließen Sie sie, wenn Sie fertig sind, und aktivieren Sie dann die phpMyAdmin-Konfigurationsdatei mit dem folgenden Befehl:
a2enconf phpmyadmin.confAls nächstes laden Sie den Apache-Dienst neu, um die Änderungen anzuwenden:
systemctl reload apache2Sie können den Status des Apache-Dienstes mit dem folgenden Befehl überprüfen:
systemctl status apache2Sie sollten die folgende Ausgabe sehen:
? apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2024-08-25 11:28:21 UTC; 5s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 23021 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 23031 (apache2)
Tasks: 6 (limit: 2341)
Memory: 14.6M
CPU: 89ms
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 start
Sun 25 11:28:21 debian systemd[1]: Starting The Apache HTTP Server...
Zugriff auf phpMyAdmin
An diesem Punkt ist phpMyAdmin installiert und konfiguriert. Öffnen Sie jetzt Ihren Webbrowser und greifen Sie auf phpMyAdmin über die URL http://deine-server-ip/phpmyadmin zu. Sie sollten die Anmeldeseite von phpMyAdmin sehen:
Geben Sie Ihren Admin-Benutzernamen, Ihr Passwort ein und klicken Sie auf die Go Schaltfläche. Sie sollten auf der folgenden Seite das phpMyAdmin-Dashboard sehen:
Sichere phpMyAdmin
Es ist eine gute Idee, phpMyAdmin mit einer Zwei-Faktor-Authentifizierung abzusichern. Dies können Sie mithilfe der .htaccess-Authentifizierungs- und Autorisierungsfunktionen tun.
Zuerst bearbeiten Sie die phpMyAdmin-Konfigurationsdatei:
nano /etc/apache2/conf-available/phpmyadmin.confFügen Sie die Zeile "AllowOverride All" in den folgenden Serverblock ein:
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
<IfModule mod_php5.c>
Speichern Sie die Datei und schließen Sie sie, wenn Sie fertig sind, und starten Sie dann den Apache-Dienst neu:
systemctl restart apache2Erstellen Sie als Nächstes eine .htaccess-Datei und definieren Sie den Authentifizierungstyp von Apache:
nano /usr/share/phpmyadmin/.htaccessFügen Sie die folgenden Zeilen hinzu:
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/share/phpmyadmin/.htpasswd
Require valid-user
Speichern Sie die Datei und schließen Sie sie, und erstellen Sie dann einen Benutzer mit dem folgenden Befehl:
htpasswd -c /usr/share/phpmyadmin/.htpasswd secureuserSie werden aufgefordert, ein Passwort festzulegen, wie unten gezeigt:
New password:
Re-type new password:
Adding password for user secureuser
phpMyAdmin überprüfen
An diesem Punkt ist phpMyAdmin durch zusätzliche Authentifizierung gesichert. Um dies zu überprüfen, öffnen Sie Ihren Webbrowser und greifen Sie auf phpMyAdmin über die URL http://your-server-ip/phpmyadmin zu. Sie werden nach dem zusätzlichen Benutzernamen und Passwort gefragt, wie unten gezeigt:
Nachdem Sie Ihren Benutzernamen und Ihr Passwort eingegeben haben, werden Sie zur regulären phpMyAdmin-Anmeldeseite weitergeleitet.
Schlussfolgerung
Herzlichen Glückwunsch! Sie haben phpMyAdmin erfolgreich auf Debian 12 installiert und gesichert. Sie können jetzt phpMyAdmin erkunden und Ihre Datenbank über den Webbrowser verwalten.


