GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Installieren Sie phpMyAdmin mit Apache (LAMP) auf Debian 10 Buster

Dieses Tutorial zeigt Ihnen, wie Sie phpMyAdmin mit Apache, MariaDB, PHP7.3 (LAMP-Stack) auf Debian 10 Buster installieren. phpMyAdmin ist ein kostenloses und quelloffenes webbasiertes Datenbankverwaltungstool, das in PHP geschrieben ist. Es bietet eine grafische Webschnittstelle für Benutzer zum Verwalten von MySQL- oder MariaDB-Datenbanken. Wir werden auch lernen, wie man die Zwei-Faktor-Authentifizierung auf phpMyAdmin aktiviert.

phpMyAdmin erlaubt Administratoren:

  • Durchsuchen Sie Datenbanken und Tabellen;
  • Datenbanken erstellen, kopieren, umbenennen, ändern und löschen;
  • Tabellen erstellen, kopieren, umbenennen, ändern und löschen;
  • Tabellenpflege durchführen;
  • Felder hinzufügen, bearbeiten und löschen;
  • alle SQL-Anweisungen ausführen, sogar mehrere Abfragen;
  • Indizes erstellen, ändern und löschen;
  • Textdateien in Tabellen laden;
  • Dumps von Tabellen oder Datenbanken erstellen und lesen;
  • Daten in die Formate SQL, CSV, XML, Word, Excel, PDF und LaTeX exportieren;
  • mehrere Server verwalten;
  • MySQL-Benutzer und -Privilegien verwalten;
  • Servereinstellungen und Laufzeitinformationen mit Konfigurationshinweisen überprüfen;
  • prüfen Sie die referenzielle Integrität in MyISAM-Tabellen;
  • Erstellen Sie automatisch komplexe Abfragen mit Query-by-Example (QBE)
  • Erforderliche Tabellen verbinden;
  • PDF-Grafiken des Datenbanklayouts erstellen;
  • global in einer Datenbank oder einer Teilmenge davon suchen;
  • gespeicherte Daten mithilfe vordefinierter Funktionen in ein beliebiges Format umwandeln, z. B. BLOB-Daten als Bild oder Download-Link anzeigen;
  • InnoDB-Tabellen und Fremdschlüssel verwalten;

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie ein Debian 10-Betriebssystem, das auf Ihrem lokalen Computer oder auf einem Remote-Server ausgeführt wird.

Wenn Sie nach einem VPS (Virtual Private Server) suchen, können Sie über meinen Empfehlungslink ein Konto bei Vultr erstellen, um 50 $ kostenloses Guthaben zu erhalten (nur für neue Benutzer). Und wenn Sie phpMyAdmin mit einem Domainnamen einrichten müssen, empfehle ich, Domainnamen von NameCheap zu kaufen, da der Preis niedrig ist und sie Whois-Datenschutz kostenlos bieten.

Es wird davon ausgegangen, dass Sie den LAMP-Stack bereits auf Debian 10 installiert haben. Wenn nicht, sehen Sie sich bitte das folgende Tutorial an.

  • So installieren Sie den LAMP-Stack (Apache, MariaDB, PHP7.3) auf Debian 10 Buster

Bitte beachten Sie, dass Sie Root-Rechte haben müssen, wenn Sie Software unter Debian installieren. Sie können sudo hinzufügen am Anfang eines Befehls oder verwenden Sie su - Befehl, um zum Root-Benutzer zu wechseln.

Lassen Sie uns damit beginnen, phpMyAdmin zu installieren.

Schritt 1:Laden Sie phpMyAdmin auf Debian 10 Server herunter

phpMyAdmin ist nicht im Debian 10-Software-Repository enthalten, daher müssen wir die Software manuell herunterladen. Gehen Sie zur Download-Seite von phpMyAdmin, um die neueste stabile Version zu überprüfen. Führen Sie dann den folgenden Befehl aus, um es herunterzuladen.

wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.zip

Hinweis:Sie können immer das obige URL-Format verwenden, um die neueste stabile Version von phpMyAdmin herunterzuladen. Ersetzen Sie einfach 4.9.0.1 durch die neueste Versionsnummer.

Dann extrahieren.

sudo apt install unzip

unzip phpMyAdmin-4.9.0.1-all-languages.zip

Verschieben Sie phpMyadmin 4.9 nach /usr/share/ Verzeichnis.

sudo mv phpMyAdmin-4.9.0.1-all-languages /usr/share/phpmyadmin

Machen Sie dann den Webserver-Benutzer (www-data ) als Eigentümer dieses Verzeichnisses.

sudo chown -R www-data:www-data /usr/share/phpmyadmin

Schritt 2:Erstellen Sie eine MariaDB-Datenbank und einen Benutzer für phpMyAdmin

Jetzt müssen wir uns bei der MariaDB-Konsole anmelden und eine Datenbank und einen Benutzer für phpMyAdmin erstellen. Standardmäßig verwendet das MaraiDB-Paket unter Debian unix_socket um die Benutzeranmeldung zu authentifizieren, was im Grunde bedeutet, dass Sie den Benutzernamen und das Passwort des Betriebssystems verwenden können, um sich bei der MariaDB-Konsole anzumelden. Sie können also den folgenden Befehl ausführen, um sich anzumelden, ohne das MariaDB-Root-Passwort anzugeben.

sudo mysql -u root

Als nächstes erstellen Sie eine neue Datenbank für phpMyAdmin mit dem folgenden SQL-Befehl. Dieses Tutorial nennt es phpmyadmin , können Sie einen beliebigen Namen für die Datenbank verwenden.

CREATE DATABASE phpmyadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Der folgende SQL-Befehl erstellt den phpmyadmin Datenbankbenutzer und legen Sie ein Passwort fest und erteilen Sie gleichzeitig dem neuen Benutzer alle Berechtigungen für die neue Datenbank, damit phpMyAdmin später in die Datenbank schreiben kann. Ersetzen Sie rote Texte durch Ihr bevorzugtes Passwort.

GRANT ALL ON phpmyadmin.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY 'your_preferred_password';

Berechtigungstabelle leeren und MariaDB-Konsole verlassen.

FLUSH PRIVILEGES;

EXIT;

Schritt 3:Erforderliche und empfohlene PHP-Module installieren.

Führen Sie den folgenden Befehl aus, um PHP-Module zu installieren, die von phpMyAdmin benötigt oder empfohlen werden.

sudo apt install php-imagick php-phpseclib php-php-gettext php7.3-common php7.3-mysql php7.3-gd php7.3-imap php7.3-json php7.3-curl php7.3-zip php7.3-xml php7.3-mbstring php7.3-bz2 php7.3-intl php7.3-gmp

Starten Sie dann Apache neu.

sudo systemctl restart apache2

Schritt 4:Apache-Konfiguration für phpMyAdmin erstellen

Wenn Sie von einem Unterverzeichnis aus auf die phpMyAdmin-Weboberfläche zugreifen möchten, erstellen Sie mit dem folgenden Befehl ein Konfigurations-Snippet.

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Fügen Sie den folgenden Text in die Datei ein.

# phpMyAdmin default Apache configuration

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>

# 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 und schließen Sie die Datei. Aktivieren Sie dann dieses Konfigurations-Snippet.

sudo a2enconf phpmyadmin.conf

Wir müssen auch den temporären Ordner phpMyAdmin erstellen.

sudo mkdir -p /var/lib/phpmyadmin/tmp
sudo chown www-data:www-data /var/lib/phpmyadmin/tmp

Laden Sie Apache neu, damit die Änderungen wirksam werden.

sudo systemctl reload apache2

Jetzt können Sie unter

auf die phpMyAdmin-Weboberfläche zugreifen
your-server-ip/phpmyadmin

Wenn phpMyAdmin auf Ihrem lokalen Debian-Computer installiert ist, können Sie auf die phpMyAdmin-Weboberfläche zugreifen, indem Sie den folgenden Text in die Adressleiste des Browsers eingeben.

localhost/phpmyadmin

Wenn die Verbindung abgelehnt wird oder nicht hergestellt werden kann, verhindert möglicherweise eine Firewall HTTP-Anforderungen. Wenn Sie die iptables-Firewall verwenden, müssen Sie den folgenden Befehl ausführen, um die TCP-Ports 80 und 443 zu öffnen.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT

Wenn Sie eine UFW-Firewall verwenden, führen Sie diesen Befehl aus, um die TCP-Ports 80 und 443 zu öffnen.

sudo ufw allow http
sudo ufw allow https

Schritt 5:Greifen Sie von einer Subdomain auf phpMyAdmin zu

Manchmal möchten Sie vielleicht eine Subdomain verwenden, um auf die phpMyAdmin-Weboberfläche zuzugreifen. Auf diese Weise können Sie HTTPS aktivieren, um den Datenverkehr zu verschlüsseln.

Zuerst müssen wir einen virtuellen Apache-Host für phpMyAdmin erstellen. Das vorhandene phpMyAdmin-Konfigurations-Snippet kann als Vorlage verwendet werden. Kopieren wir es in eine neue Datei.

sudo cp /etc/apache2/conf-enabled/phpmyadmin.conf /etc/apache2/sites-available/phpmyadmin.conf

Bearbeiten Sie dann die neue Datei mit einem Befehlszeilen-Texteditor wie Nano.

sudo nano /etc/apache2/sites-available/phpmyadmin.conf

Fügen Sie am Anfang dieser Datei die folgenden Zeilen hinzu. Ersetzen Sie pma.example.com durch Ihre bevorzugte Subdomain für phpMyAdmin. Vergessen Sie nicht, einen DNS-A-Eintrag für diese Subdomain zu erstellen.

<VirtualHost *:80>
    ServerName pma.example.com
    DocumentRoot /usr/share/phpmyadmin

    ErrorLog ${APACHE_LOG_DIR}/pma.error.log
    CustomLog ${APACHE_LOG_DIR}/pma.access.log combined

Fügen Sie am Ende dieser Datei die folgende Zeile hinzu.

</VirtualHost>

Speichern und schließen Sie die Datei. (Um eine Datei im Nano-Texteditor zu speichern, drücken Sie Ctrl+O , und drücken Sie dann zur Bestätigung die Eingabetaste. Drücken Sie zum Beenden Ctrl+X .) Aktivieren Sie dann diesen virtuellen Host.

sudo a2ensite phpmyadmin.conf

Laden Sie den Apache-Webserver neu, damit diese Änderung wirksam wird.

sudo systemctl reload apache2

Jetzt sollten Sie über

auf die phpMyAdmin-Weboberfläche zugreifen können
pma.example.com

Bevor Sie Benutzeranmeldeinformationen in das Anmeldeformular eingeben, aktivieren wir HTTPS.

Schritt 6:HTTPS auf phpMyAdmin mit Apache aktivieren

Um die phpMyadmin-Weboberfläche zu sichern, können wir ein kostenloses TLS-Zertifikat von Let’s Encrypt installieren. Führen Sie den folgenden Befehl aus, um den Let’s Encrypt-Client (certbot) aus dem Debian 10-Software-Repository zu installieren.

sudo apt install certbot python3-certbot-apache

Python3-certbot-apache ist das Apache-Plugin für Certbot. Führen Sie nun den folgenden Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple -d pma.example.com --email [email protected]

Erklärung:

  • –apache: Verwenden Sie den Apache-Authentifikator und das Installationsprogramm
  • –stimme zu :Nutzungsbedingungen von Let’s Encrypt akzeptieren
  • –Weiterleitung :301-Weiterleitung hinzufügen.
  • –hsts :Strict-Transport-Security-Header zu jeder HTTP-Antwort hinzufügen.
  • –staple-ocsp :Aktiviert OCSP-Heften.
  • – muss geheftet werden :Fügt dem Zertifikat die Erweiterung OCSP Must Staple hinzu.
  • -d Flag folgt eine durch Kommas getrennte Liste von Domänennamen. Sie können bis zu 100 Domainnamen hinzufügen.
  • –E-Mail :E-Mail, die für die Registrierung und den Wiederherstellungskontakt verwendet wird.

Sie werden gefragt, ob Sie E-Mails von EFF (Electronic Frontier Foundation) erhalten möchten. Nachdem Sie J oder N ausgewählt haben, wird Ihr TLS-Zertifikat automatisch bezogen und für Sie konfiguriert, was durch die folgende Meldung angezeigt wird.

Schritt 7:Führen Sie das phpMyAdmin-Setup-Skript aus

Geben Sie Folgendes in die Adressleiste Ihres Browsers ein.

your-server-ip/phpmyadmin/setup

oder

pma.example.com/setup

Klicken Sie auf New Server Schaltfläche, um einen Server zu konfigurieren.

Klicken Sie dann einfach auf Apply Schaltfläche.

Klicken Sie anschließend auf die Schaltfläche Anzeigen, um die Konfigurationsdatei anzuzeigen.

In /usr/share/phpmyadmin/ erstellen Sie die Datei config.inc.php.

sudo nano /usr/share/phpmyadmin/config.inc.php

Kopieren Sie den Inhalt von config.inc.php von der phpMyAdmin-Setup-Seite und fügen Sie sie in /usr/share/phpmyadmin/config.inc.php ein Datei.

Schritt 8:phpMyAdmin-Anmeldefehler beheben

Wenn Sie nun versuchen, sich mit dem MariaDB-Root-Konto bei phpMyAdmin anzumelden, wird möglicherweise der folgende Fehler angezeigt.

#1698 - Access denied for user 'root '@'localhost'

und

mysqli_real_connect(): (HY000/1698): Access denied for user 'root '@'localhost'

Wenn Sie sich mit dem Benutzer phpmyadmin anmelden , wird der obige Fehler nicht angezeigt. Allerdings Benutzer phpmyadmin kann nur zur Verwaltung von phpmyadmin verwendet werden Datenbank. Die Ursache des Fehlers liegt darin, dass der MariDB-Root-Benutzer standardmäßig über das unix_socket-Plugin authentifiziert wird, anstatt das mysql_native_password zu verwenden Plugin. Um dieses Problem zu lösen, können wir einen weiteren Admin-Benutzer erstellen und dem neuen Admin-Benutzer alle Berechtigungen gewähren.

Melden Sie sich über die Befehlszeile beim MariaDB-Server an.

sudo mysql -u root

Erstellen Sie einen Admin-Benutzer mit Passwortauthentifizierung.

create user [email protected] identified by 'your-preferred-password';

Gewähren Sie alle Berechtigungen für alle Datenbanken.

grant all privileges on *.* to [email protected] with grant option;

Berechtigungen leeren und beenden;

flush privileges;

exit;

Nun können Sie sich mit dem admin bei phpMyAmin anmelden Konto erstellen und alle Datenbanken verwalten.

Schritt 9:phpMyAdmin-Konfigurationsspeicher einrichten

Jetzt können Sie im phpMyAdmin-Kontrollfeld eine Warnmeldung sehen.

The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. Find out why. 
Or alternately go to 'Operations' tab of any database to set it up there.

Klicken Sie auf den Link Finden Sie heraus, warum. Klicken Sie dann auf den Link Erstellen, um Tabellen in phpmyadmin zu erstellen Datenbank.

Schritt 10:Zugriff auf das /setup-Verzeichnis beschränken

Um den Zugriff auf das /setup-Verzeichnis einzuschränken, können wir die grundlegende Passwortauthentifizierung mit dem Apache-Webserver aktivieren. Führen Sie den folgenden Befehl aus, um ein Passwort für den Benutzer admin festzulegen . /etc/apache2/htpasswd Datei wird verwendet, um Benutzernamen und Passwort zu speichern.

sudo htpasswd -c /etc/apache2/htpasswd admin

Bearbeiten Sie dann die Apache-Konfigurationsdatei für phpMyAdmin

sudo nano /etc/apache2/sites-available/phpmyadmin-le-ssl.conf

oder

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Fügen Sie die folgenden Zeilen hinzu.

# 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/apache2/htpasswd
        </IfModule>
        Require valid-user
    </IfModule>
</Directory>

Speichern und schließen Sie die Datei. Laden Sie dann Apache neu, damit die Änderungen wirksam werden.

sudo systemctl reload apache2

Wenn Sie erneut auf das phpMyAdmin-Setup-Skript zugreifen, werden Sie aufgefordert, Benutzername und Passwort einzugeben.

Zwei-Faktor-Authentifizierung aktivieren

Sie können phpMyAdmin auch absichern, indem Sie die Zwei-Faktor-Authentifizierung aktivieren, eine Funktion, die in Version 4.8 hinzugefügt wurde. Um es zu aktivieren, melden Sie sich bei phpMyAdmin an. Gehen Sie dann zu Settings -> Two-factor authentication und wählen Sie Authentifizierungsanwendung (2FA) aus .

Nachdem Sie auf Zwei-Faktor-Authentifizierung konfigurieren geklickt haben klicken, wird Ihnen ein QR-Code angezeigt, den Sie mit einer Zwei-Faktor-Authentifizierungs-App auf Ihrem Telefon scannen müssen.

Google Authenticator ist eine beliebte 2FA-App, aber ich empfehle FreeOTP, eine von Red Hat entwickelte Open-Source-2FA-App. Sobald Sie den von Ihrer 2FA-App generierten Authentifizierungscode eingeben, wird die Zwei-Faktor-Authentifizierung aktiviert. Wenn Sie sich jetzt ab- und wieder anmelden, müssen Sie neben Benutzername und Passwort auch den Authentifizierungscode eingeben.


Debian
  1. So installieren Sie phpMyAdmin unter Debian 10 (Buster)

  2. phpMyAdmin mit Apache auf Debian 9 installieren – Schritt-für-Schritt-Prozess?

  3. Installieren Sie phpMyAdmin auf Ubuntu 20.04 mit Apache

  4. Installieren Sie phpMyAdmin auf Debian 11 mit Apache

  5. Installieren Sie phpMyAdmin auf Ubuntu 22.04 mit Apache

So installieren Sie phpMyAdmin mit Apache (LAMP) unter Ubuntu 20.04

So installieren Sie phpMyAdmin unter Debian 11 Bullseye (Apache)

So installieren Sie phpMyAdmin auf Debian 10 Buster

So installieren Sie PostgreSQL unter Debian 10 Buster

So installieren Sie phpMyAdmin mit Nginx unter Debian 11

So installieren Sie WordPress mit LAMP unter Debian 10