So installierst und sicherst du phpMyAdmin auf Alma Linux
phpMyAdmin ist eine kostenlose und quelloffene Datenbankverwaltungsanwendung für MySQL und MariaDB. Sie ermöglicht es dir, verschiedene datenbankbezogene Aufgaben zu verwalten und Abfragen über eine webbasierte Oberfläche auszuführen. Sie ist in PHP geschrieben und bietet eine robuste und benutzerfreundliche Oberfläche für die Verwaltung von Datenbanken über einen Webbrowser. Sie ist plattformübergreifend und kann auf vielen Betriebssystemen laufen, darunter Windows, macOS, Linux und BSDs.
In diesem Lernprogramm lernst du, wie du phpMyAdmin auf Alma Linux 8 installierst.
Voraussetzungen
- Ein Server, auf dem Alma Linux 8 läuft.
- Ein gültiger Domainname, der auf die IP deines Servers zeigt.
- Ein Root-Passwort ist auf dem Server eingerichtet.
LEMP-Server installieren
Installiere zunächst den Nginx-Webserver und den MariaDB-Datenbankserver mit dem folgenden Befehl:
dnf install nginx mariadb -y
Als Nächstes installierst du das Remi PHP Repository mit dem folgenden Befehl:
dnf -y install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Deaktiviere das Standard-PHP-Modul und aktiviere das Remi-PHP-Modul mit dem folgenden Befehl:
dnf module -y reset php dnf module install php:remi-7.4 -y
Als Nächstes installierst du PHP mit den anderen benötigten Erweiterungen mit folgendem Befehl:
dnf install php php-cli php-common php-fpm php-curl php-gd php-mbstring php-process php-snmp php-xml php-zip php-memcached php-mysqlnd php-json php-mbstring php-pdo php-pdo-dblib php-xml unzip wget -y
Sobald alle Pakete installiert sind, bearbeitest du die PHP-FPM-Konfigurationsdatei:
nano /etc/php-fpm.d/www.conf
Ändere den Benutzer und die Gruppe von apache zu Nginx:
user = nginx group = nginx
Speichere und schließe die Datei und starte und aktiviere die Dienste Nginx, MariaDB und PHP-FPM mit dem folgenden Befehl:
systemctl start nginx php-fpm mariadb systemctl enable nginx php-fpm mariadb
Erstelle einen Benutzer für phpMyAdmin
Als Nächstes empfiehlt es sich, einen eigenen Benutzer für phpMyAdmin anzulegen, um alle Aufgaben der Datenbankverwaltung zu erledigen. Sichern Sie zunächst die MariaDB, indem Sie den folgenden Befehl ausführen:
mysql_secure_installation
Dieses Skript setzt ein Root-Passwort, entfernt anonyme Benutzer, verbietet den Root-Login aus der Ferne und entfernt die Testdatenbank wie unten gezeigt:
Set root password? [Y/n] n 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
Als Nächstes meldest du dich mit folgendem Befehl bei MariaDB an:
mysql
Sobald du eingeloggt bist, erstelle eine Datenbank und einen Benutzer mit dem folgenden Befehl:
MariaDB [(none)]> CREATE DATABASE phpmyadmin CHARACTER SET utf8 COLLATE utf8_unicode_ci; MariaDB [(none)]> CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'password';
Als Nächstes erteilst du dem Benutzer admin alle Berechtigungen:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'%';
Lösche die Berechtigungen und verlasse die MariaDB-Konsole mit folgendem Befehl:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Installiere phpMyAdmin auf Alma Linux 8
Als Nächstes lädst du die neueste Version von phpMyAdmin von der offiziellen Website herunter:
wget https://files.phpmyadmin.net/phpMyAdmin/5.1.3/phpMyAdmin-5.1.3-all-languages.zip
Sobald der Download abgeschlossen ist, entpackst du die heruntergeladene Datei mit dem folgenden Befehl:
unzip phpMyAdmin-5.1.3-all-languages.zip
Als Nächstes verschiebst du das entpackte Verzeichnis in das Nginx-Web-Root-Verzeichnis:
mv phpMyAdmin-5.1.3-all-languages /usr/share/nginx/phpmyadmin
Kopiere dann die Beispielkonfigurationsdatei mit folgendem Befehl:
cp /usr/share/nginx/phpmyadmin/config{.sample,}.inc.php
Als Nächstes bearbeitest du die Konfigurationsdatei mit dem folgenden Befehl:
nano /usr/share/nginx/phpmyadmin/config.inc.php
Definiere dein Geheimnis wie unten gezeigt:
$cfg['blowfish_secret'] = 'securekey';
Speichere und schließe die Datei und ändere dann den Eigentümer des phpMyAdmin-Verzeichnisses:
chown -R nginx:nginx /usr/share/nginx/phpmyadmin chown -R nginx:nginx /var/lib/php/session/
Nginx für phpMyAdmin konfigurieren
Als Nächstes musst du eine Konfigurationsdatei für den virtuellen Nginx-Host für phpMyAdmin erstellen. Du kannst sie mit dem folgenden Befehl erstellen:
nano /etc/nginx/conf.d/phpmyadmin.conf
Füge die folgenden Zeilen hinzu:
server { listen 80; server_name phpmyadmin.example.com; root /usr/share/nginx/phpmyadmin; access_log /var/log/nginx/phpmyadmin_access.log; error_log /var/log/nginx/phpmyadmin_error.log; index index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { try_files $uri =404; fastcgi_intercept_errors on; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/run/php-fpm/www.sock; } }
Speichere und schließe die Datei und überprüfe Nginx mit folgendem Befehl auf Syntaxfehler:
nginx -t
Du erhältst die folgende Ausgabe:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Starte anschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart nginx php-fpm
Du kannst nun den Nginx-Status mit folgendem Befehl überprüfen:
systemctl status nginx
Du solltest die folgende Ausgabe sehen:
? nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/nginx.service.d ??php-fpm.conf Active: active (running) since Fri 2022-04-15 10:06:39 UTC; 3s ago Process: 85445 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 85443 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 85442 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 85449 (nginx) Tasks: 2 (limit: 11412) Memory: 3.8M CGroup: /system.slice/nginx.service ??85449 nginx: master process /usr/sbin/nginx ??85450 nginx: worker process Apr 15 10:06:39 linux systemd[1]: nginx.service: Succeeded. Apr 15 10:06:39 linux systemd[1]: Stopped The nginx HTTP and reverse proxy server. Apr 15 10:06:39 linux systemd[1]: Starting The nginx HTTP and reverse proxy server... Apr 15 10:06:39 linux nginx[85443]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok Apr 15 10:06:39 linux nginx[85443]: nginx: configuration file /etc/nginx/nginx.conf test is successful Apr 15 10:06:39 linux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument Apr 15 10:06:39 linux systemd[1]: Started The nginx HTTP and reverse proxy server.
Firewall konfigurieren
Als Nächstes musst du den HTTP-Dienst über die Firewall zulassen. Du kannst ihn mit dem folgenden Befehl zulassen:
firewall-cmd --permanent --zone public --add-service http
Lade die Firewall neu, um die Änderungen zu übernehmen:
firewall-cmd --reload
Zugriff auf phpMyAdmin Web UI
Öffne nun deinen Webbrowser und rufe phpMyAdmin über die URL http://phpmyadmin.example.com auf. Du solltest die phpMyAdmin Anmeldeseite sehen:
Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche “ Go“. Sobald du eingeloggt bist, solltest du das phpMyAdmin Dashboard sehen:
Klicke auf die Schaltfläche Datenbanken. Du solltest die folgende Seite sehen:
Gib den Namen der Datenbank ein, die du erstellen möchtest, und klicke auf die Schaltfläche Erstellen.
Wähle die Datenbanken aus, die du löschen willst, und klicke auf die Schaltfläche Löschen, um eine Datenbank zu löschen. Du solltest die folgende Seite sehen:
Klicke auf die Schaltfläche OK, um das Löschen der ausgewählten Datenbanken zu bestätigen.
Fazit
Herzlichen Glückwunsch! Du hast phpMyAdmin mit Nginx erfolgreich auf Alma Linux 8 installiert. Du kannst jetzt deine MySQL- und MariaDB-Datenbanken über einen Webbrowser verwalten. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.