Website-Suche

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

  1. Voraussetzungen
  2. Erste Schritte
  3. LAMP-Server installieren
  4. Installieren und Konfigurieren von phpMyAdmin
  5. Erstellen Sie einen phpMyAdmin-Adminbenutzer
  6. Konfigurieren Sie Apache für phpMyAdmin
  7. Zugriff auf phpMyAdmin
  8. Sichere phpMyAdmin
  9. phpMyAdmin überprüfen
  10. 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 -y

Sobald 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.zip

Sobald der Download abgeschlossen ist, entpacken Sie die heruntergeladene Datei mit dem folgenden Befehl:

unzip phpMyAdmin-5.2.1-all-languages.zip

Als nächstes verschieben Sie das extrahierte Verzeichnis mit dem folgenden Befehl nach /usr/share:

mv phpMyAdmin-5.2.1-all-languages /usr/share/phpmyadmin

Als nächstes erstellen Sie das erforderliche Verzeichnis mit dem folgenden Befehl:

mkdir -p /var/lib/phpmyadmin/tmp

Als Nächstes setzen Sie die richtigen Berechtigungen für das phpMyAdmin-Verzeichnis:

chown -R www-data:www-data /var/lib/phpmyadmin

Als Nächstes kopieren Sie die Beispielkonfigurationsdatei von phpMyAdmin:

cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Als nächstes installieren Sie pwgen und generieren mit dem folgenden Befehl einen geheimen Schlüssel:

apt-get install pwgen -y
pwgen -s 32 1

Ausgabe :

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.sql

Verbinden Sie sich als Nächstes mit der MariaDB-Shell mit dem folgenden Befehl:

mysql

Sobald 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.conf

Fü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.conf

Als nächstes laden Sie den Apache-Dienst neu, um die Änderungen anzuwenden:

systemctl reload apache2

Sie können den Status des Apache-Dienstes mit dem folgenden Befehl überprüfen:

systemctl status apache2

Sie 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.conf

Fü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 apache2

Erstellen Sie als Nächstes eine .htaccess-Datei und definieren Sie den Authentifizierungstyp von Apache:

nano /usr/share/phpmyadmin/.htaccess

Fü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 secureuser

Sie 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.