phpMyAdmin ist ein Open-Source-Softwaretool zur Verwaltung von MySQL/MariaDB-Datenbanken. Es bietet eine einfache Möglichkeit, über einen Webbrowser mit MySQL zu interagieren. phpMyAdmin ist sehr nützlich für Benutzer, die ihre Daten nicht gerne über die Befehlszeile verwalten, daher ist es für jeden Systemadministrator unerlässlich, phpMyAdmin vor verschiedenen Arten von Angriffen zu schützen.
In diesem Tutorial zeigen wir Ihnen, wie Sie phpMyAdmin unter CentOS 8 installieren und sichern.
Voraussetzungen
- Ein frischer CentOS 8 VPS auf der Atlantic.net Cloud Platform.
- Ein auf Ihrem Server konfiguriertes Root-Passwort.
Schritt 1 – Atlantic.Net Cloud-Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie CentOS 8 als Betriebssystem mit mindestens 1 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem CentOS 8-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
dnf update -y
Schritt 2 – Apache, MariaDB und PHP installieren
Bevor Sie beginnen, installieren Sie Apache, MariaDB, PHP und andere erforderliche PHP-Erweiterungen mit dem folgenden Befehl:
dnf install httpd mariadb-server php php-cli php-json php-mbstring php-pdo php-pecl-zip php-mysqlnd -y
Nachdem Sie alle Pakete installiert haben, können Sie mit dem nächsten Schritt fortfahren.
Schritt 3 – MariaDB-Root-Passwort festlegen
Starten Sie zuerst den MariaDB-Dienst und ermöglichen Sie ihm, beim Booten mit dem folgenden Befehl zu starten:
systemctl start mariadb systemctl enable mariadb
Legen Sie als Nächstes das MySQL-Root-Passwort mit dem folgenden Skript fest:
mysql_secure_installation
Dieses Skript setzt das MySQL-Root-Passwort, entfernt anonyme Benutzer, verbietet die Root-Anmeldung aus der Ferne und entfernt die Testdatenbank und den Zugriff darauf, wie unten gezeigt:
Geben Sie das aktuelle Passwort für root ein (geben Sie es für none ein):
Set root password? [Y/n] Y New password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Schritt 4 – Installieren Sie phpMyAdmin
Laden Sie zunächst die neueste Version von phpMyAdmin mit dem folgenden Befehl in das Apache-Web-Root-Verzeichnis herunter:
cd /var/www/html wget https://files.phpmyadmin.net/phpMyAdmin/4.9.4/phpMyAdmin-4.9.4-all-languages.zip
Entpacken Sie die heruntergeladene Datei nach dem Herunterladen mit dem folgenden Befehl:
unzip phpMyAdmin-4.9.4-all-languages.zip
Als nächstes benennen Sie das extrahierte Verzeichnis wie unten gezeigt in phpmyadmin um:
mv phpMyAdmin-4.9.4-all-languages phpmyadmin
Als nächstes ändern Sie den Besitz des phpmyadmin-Verzeichnisses auf den Apache-Benutzer:
chown -R apache:apache /var/www/html/phpmyadmin
Als nächstes benennen Sie die Datei config.sample.inc.php um:
cd /var/www/html/phpmyadmin mv config.sample.inc.php config.inc.php
Als nächstes bearbeiten Sie die Datei und definieren Ihr sicheres Passwort:
nano config.inc.php
Suchen Sie die folgende Zeile und aktualisieren Sie sie mit Ihrem sicheren Passwort, wie unten gezeigt:
$cfg['blowfish_secret'] = 'your-secure-password';
Speichern und schließen Sie die Datei. Importieren Sie dann die Tabellen für phpMyAdmin mit dem folgenden Befehl:
mysql < sql/create_tables.sql -u root -p
Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Schritt 5 – Apache für phpMyAdmin konfigurieren
Erstellen Sie als Nächstes eine Konfigurationsdatei für den virtuellen Apache-Host für phpMyAdmin:
nano /etc/httpd/conf.d/phpmyadmin.conf
Fügen Sie die folgenden Zeilen hinzu:
Alias /phpmyadmin /var/www/html/phpmyadmin <Directory /var/www/html/phpmyadmin/> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require all granted </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory> <Directory /var/www/html/phpmyadmin/setup/> <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require all granted </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory>
Speichern und schließen Sie die Datei. Starten Sie dann den Apache-Dienst und aktivieren Sie ihn nach dem Systemneustart mit dem folgenden Befehl:
systemctl start httpd systemctl enable httpd
Öffnen Sie nun Ihren Webbrowser und besuchen Sie die URL http://your-server-ip/phpmyadmin. Sie sollten die phpMyAdmin-Weboberfläche auf dem folgenden Bildschirm sehen:
Melden Sie sich mit Ihren zuvor erstellten MySQL-Anmeldeinformationen an.
Schritt 6 – phpMyAdmin sichern
In diesem Abschnitt zeigen wir verschiedene Möglichkeiten, Ihre phpMyAdmin-Weboberfläche zu sichern.
Ändern Sie den phpMyAdmin-Zugriffsort
Es ist eine gute Idee, die Zugriffs-URL Ihrer phpMyAdmin-Oberfläche zu ändern. Sie können es ändern, indem Sie die Datei phpmyadmin.conf bearbeiten:
nano /etc/httpd/conf.d/phpmyadmin.conf
Suchen Sie die folgende Zeile:
Alias /phpmyadmin /var/www/html/phpmyadmin
Ersetzen Sie es durch die folgende Zeile:
Alias /securelocation /var/www/html/phpmyadmin
Speichern und schließen Sie die Datei und starten Sie dann den Apache-Dienst neu, um die Änderungen zu implementieren:
systemctl restart httpd
Sie können jetzt über die URL http://your-server-ip/securelocation.
auf die phpMyAdmin-Oberfläche zugreifenErlaube phpMyAdmin von einer bestimmten IP
Es ist immer eine gute Idee, phpMyAdmin nur von einer bestimmten IP-Adresse zugänglich zu machen.
Öffnen Sie dazu die Datei phpmyadmin.conf:
nano /etc/httpd/conf.d/phpmyadmin.conf
Suchen Sie die folgenden Zeilen:
<RequireAny> Require all granted </RequireAny>
Ersetzen Sie es durch Folgendes:
<RequireAny> Require ip your-client-ip-address Require ip ::1 </RequireAny>
Speichern und schließen Sie die Datei und starten Sie dann den Apache-Dienst neu, um die Änderungen zu implementieren:
systemctl restart httpd
Ihre phpMyAdmin-Oberfläche ist jetzt nur noch von einer bestimmten IP-Adresse aus zugänglich.
Passwortgeschützte phpMyAdmin-Oberfläche
Sie können phpMyAdmin auch eine zusätzliche Ebene des Passwortschutzes hinzufügen, indem Sie die Basisauthentifizierung einrichten.
Erstellen Sie zuerst eine Authentifizierungsdatei mit dem folgenden Befehl:
htpasswd -c /etc/httpd/.htpasswd phpadmin
Geben Sie ein sicheres Passwort wie unten gezeigt ein:
New password: Re-type new password: Adding password for user phpadmin
Erstellen Sie als Nächstes die .htaccess-Datei im Verzeichnis phpmyadmin:
nano /var/www/html/phpmyadmin/.htaccess
Fügen Sie die folgenden Zeilen hinzu:
AuthType basic AuthName "Authentication Required" AuthUserFile /etc/httpd/.htpasswd Require valid-user
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Bearbeiten Sie als Nächstes die Datei phpmyadmin.conf und konfigurieren Sie Apache für die Verwendung der Datei .htpasswd.
nano /etc/httpd/conf.d/phpmyadmin.conf
Fügen Sie die folgenden Zeilen unterhalb der Zeile „AddDefaultCharset UTF-8“ hinzu:
AllowOverride All
Speichern Sie die Datei und starten Sie dann den Apache-Dienst neu, um die Änderungen zu implementieren:
systemctl restart httpd
Schritt 7 – Testen Sie phpMyAdmin
An dieser Stelle ist die phpMyAdmin-Oberfläche mit einer zusätzlichen Passwortschutzebene gesichert. Öffnen Sie zum Testen Ihren Webbrowser und geben Sie die URL http://your-server-ip/securelocation ein. Sie werden aufgefordert, die Anmeldedaten einzugeben, die wir zuvor erstellt haben:
Geben Sie Ihren Benutzernamen und Ihr Passwort ein und klicken Sie auf OK Taste. Sie werden zur Anmeldeseite von phpMyAdmin weitergeleitet:
Geben Sie Ihren MySQL-Benutzernamen und Ihr Passwort ein und klicken Sie dann auf Los Taste. Sie sollten Ihre phpMyAdmin-Weboberfläche auf dem folgenden Bildschirm sehen:
Schlussfolgerung
In der obigen Anleitung haben wir gelernt, wie man phpMyAdmin unter CentOS 8 installiert und sichert. Ihre phpMyAdmin-Oberfläche ist jetzt mit zusätzlichem Passwortschutz gesichert. Sie können diese Methode verwenden, um einen Server unter einem Atlantic.Net VPS-Hostingplan zu sichern.
Erfahren Sie mehr über unsere VPS-Hosting-Services und Virtual Private Server.