Installieren Sie LEMP – Nginx, PHP, MariaDB und PhpMyAdmin in OpenSUSE
LEMP oder Linux, Engine-x, MySQL und PHP Stack ist eine Software Paket bestehend aus Open-Source-Software, die auf dem Linux-Betriebssystem installiert ist, um PHP-basierte Webanwendungen auszuführen, die auf dem Nginx HTTP-Server und dem MySQL/MariaDB-Datenbankverwaltungssystem basieren.
Lesen Sie auch: Installieren Sie LAMP – Apache, PHP, MariaDB und PhpMyAdmin in OpenSUSE
Dieses Tutorial führt Sie durch die Installation eines LEMP-Stacks mit Nginx, MariaDB, PHP, PHP-FPM und PhpMyAdmin auf OpenSuse Server-/Desktop-Editionen.
Installieren des Nginx-HTTP-Servers
Nginx ist ein schneller und zuverlässiger HTTP- und Proxyserver, der eine höhere Last an HTTP-Anfragen verarbeiten kann. Es verwendet einen asynchronen ereignisgesteuerten Ansatz zur Bearbeitung von Anforderungen und seine modulare ereignisgesteuerte Architektur kann bei hoher Last eine vorhersehbarere Leistung bieten.
Um Nginx auf OpenSuse zu installieren, führen Sie den folgenden Befehl aus.
sudo zypper install nginx
Sobald Nginx installiert ist, können Sie den Dienst zunächst starten, ihn dann für den automatischen Start beim Booten aktivieren und den Status von Nginx überprüfen, indem Sie die folgenden Befehle ausführen.
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx
Lesen Sie auch: Die 10 am häufigsten verwendeten Nginx-Befehle, die jeder Linux-Benutzer kennen muss
Zu diesem Zeitpunkt sollte der Nginx-Webserver betriebsbereit sein. Sie können den Status auch wie gezeigt mit dem Befehl „netstat“ überprüfen.
sudo netstat -tlpn | grep nginx
Jetzt müssen wir testen, ob die Nginx-Installation einwandfrei funktioniert. Anders als bei anderen Linux-Distributionen verfügt Nginx unter openSUSE nicht über ein Standarddokument index.html
im Web-Stammordner. Wir müssen eine neue Datei index.html
im Stammwebverzeichnis "/srv/www/htdocs"
erstellen, wie gezeigt.
echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html
Wenn Sie Firewalld installiert haben, müssen Sie die Ports 80 und 443 öffnen, um Webverkehr auf der Firewall zuzulassen.
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload
Öffnen Sie als Nächstes einen Webbrowser, navigieren Sie zur Adresse http://localhost
und überprüfen Sie die Nginx-Seite.
Installieren des MariaDB-Datenbankservers
MariaDB ist ein kostenloser und Open-Source-Zweig des relationalen Datenbankverwaltungssystems MySQL. Es wurde von den ursprünglichen Entwicklern von MySQL entwickelt und soll Open Source bleiben. MariaDB ist schnell, skalierbar und robust und mit einem umfangreichen Ökosystem an Speicher-Engines, Plugins und vielen anderen Tools sehr vielseitig für eine Vielzahl von Anwendungsfällen.
Um MariaDB auf OpenSuse zu installieren, führen Sie den folgenden Befehl aus.
sudo zypper install mariadb mariadb-client
Starten Sie als Nächstes zunächst den MariaDB-Dienst, aktivieren Sie dann den automatischen Start beim Booten und überprüfen Sie seinen Status.
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl status mariadb
Der nächste wichtige Schritt in diesem Abschnitt ist die Sicherung der MariaDB-Serverinstallation. Führen Sie daher wie gezeigt das Sicherheitsskript aus, das im MariaDB-Paket enthalten ist.
Hinweis: Die Ausführung des MariaDB-Sicherheitsskripts und aller seiner Teile wird für alle MariaDB-Server in der Produktion dringend empfohlen.
sudo mysql_secure_installation
Nachdem Sie das Skript ausgeführt haben, lesen Sie die Beschreibung jedes Schritts sorgfältig durch. Sie sollten ein Root-Benutzerkennwort festlegen, anonyme Benutzer entfernen, den Remote-Root-Zugriff deaktivieren, die Testdatenbank und den Zugriff darauf entfernen und schließlich die Berechtigungstabelle neu laden.
Installation und Konfiguration von PHP und PHP-FPM
PHP-FPM (kurz für PHP FastCGI Process Manager) ist ein alternativer FastCGI-Daemon für PHP mit einigen zusätzlichen Funktionen und für hohe Belastungen ausgelegt. Um dies zu erreichen, werden Pools (Worker, die auf PHP-Anfragen antworten können) verwaltet. Wichtig ist, dass es für Mehrbenutzer-PHP-Umgebungen schneller ist als herkömmliche CGI-basierte Methoden wie SUPHP.
Um PHP und PHP-FPM zusammen mit den erforderlichen Modulen zu installieren, führen Sie den folgenden Befehl aus.
sudo zypper install php php-mysql php-fpm php-gd php-mbstring
Bevor wir den PHP-FPM-Dienst starten, müssen wir die erforderlichen Konfigurationsdateien aus den bei der Installation bereitgestellten Standarddateien erstellen und den Dienst betriebsbereit konfigurieren.
sudo cp /etc/php7/fpm/php-fpm.conf.default /etc/php7/fpm/php-fpm.conf
sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf
Öffnen Sie dann die Hauptkonfigurationsdatei php-fpm.conf
zur Bearbeitung.
sudo vim /etc/php7/fpm/php-fpm.conf
Kommentieren Sie die folgende Zeile wie gezeigt bei Zeilennummer 24 aus.
error_log = log/php-fpm.log
Speichern und schließen Sie die Datei.
Als nächstes müssen wir die richtigen Einstellungen für die konfigurierten Pools in der Konfigurationsdatei www.conf
definieren.
sudo vim /etc/php7/fpm/php-fpm.d/www.conf
Konfigurieren Sie zunächst den Unix-Eigentümer und Gruppeneigentümer von Prozessen für den Nginx-Benutzer und die Nginx-Gruppe. Ändern Sie dazu die Werte der Benutzer- und Gruppenparameter von nobody
in nginx
.
user = nginx
group = nginx
Speichern Sie nun die Änderungen an der Datei und beenden Sie sie.
Darüber hinaus muss noch eine weitere wichtige Konfiguration durchgeführt werden, die PHP-FPM in der Datei /etc/php/cli/php.ini
sichert.
sudo vim /etc/php7/cli/php.ini
Suchen Sie nach der Zeile ;cgi.fix_pathinfo=1
und ändern Sie sie in.
cgi.fix_pathinfo=0
Speichern Sie die Änderungen in der Datei und beenden Sie den Vorgang.
Starten Sie als Nächstes zunächst den Dienst PHP-FPM, aktivieren Sie ihn dann für den automatischen Start beim Booten und überprüfen Sie seinen Status.
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl status php-fpm
Konfigurieren von Nginx für die Arbeit mit PHP-FPM
An diesem Punkt müssen wir Nginx für die Arbeit mit PHP-FPM in der Standard-Nginx-Konfigurationsdatei konfigurieren.
sudo vim /etc/nginx/nginx.conf
Suchen Sie dann nach dem folgenden Abschnitt und fügen Sie die Datei index.php
zur Liste der erwarteten Indexdateien hinzu.
location / {
root /srv/www/htdocs/;
index index.php index.html index.htm ;
}
Suchen Sie auch den folgenden Abschnitt (der auskommentiert werden sollte) und kommentieren Sie ihn aus. Dieser Abschnitt wird verwendet, um die PHP-Skripte an den FastCGI-Server zu übergeben, der 127.0.0.1:9000 überwacht.
location ~ \.php$ {
root /srv/www/htdocs/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Speichern Sie die Änderungen in der Datei und beenden Sie den Vorgang.
Testen von Nginx und PHP-FPM
Der nächste Schritt besteht darin, zu testen, ob Nginx gut in Verbindung mit PHP-FPM funktioniert, indem Sie eine neue PHP-Testdatei im DocumentRoot-Verzeichnis erstellen gezeigt.
echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php
Jetzt müssen wir wie folgt überprüfen, ob die Nginx-Konfiguration korrekt ist, bevor wir mit dem Neustart des Dienstes fortfahren.
sudo nginx -t
Wenn die Nginx-Konfigurationssyntax in Ordnung ist, starten Sie die Dienste Nginx und PHP-FPM neu, damit die letzten Änderungen wirksam werden.
sudo systemctl restart nginx php-fpm
Öffnen Sie nun einen Webbrowser und navigieren Sie zur Adresse http://localhost/info.php
, um die PHP-Konfiguration zu überprüfen, wie im folgenden Screenshot gezeigt.
PHPMyAdmin installieren und konfigurieren
phpMyAdmin ist ein kostenloses, einfaches, benutzerfreundliches und beliebtes, in PHP geschriebenes Tool, das für die Verwaltung von MySQL-Servern über das Web entwickelt wurde. Es unterstützt eine breite Palette von Operationen auf MySQL und MariaDB.
Um phpMyAdmin auf OpenSuse zu installieren, führen Sie den folgenden Befehl aus.
sudo zypper install phpMyAdmin
Sobald die Installation abgeschlossen ist, erstellen Sie wie gezeigt eine neue vhost-Konfigurationsdatei für den Zugriff auf phpMyAdmin.
sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf
Fügen Sie die folgende Konfiguration zur Datei hinzu.
server {
listen 80;
server_name localhost/phpMyAdmin;
root /srv/www/htdocs/phpMyAdmin;
location / {
try_files $uri /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
Speichern Sie die Änderungen und schließen Sie die Datei. Starten Sie dann den Nginx-Dienst mit dem folgenden Befehl neu.
sudo systemctl restart nginx
Gehen Sie nun zu Ihrem Webbrowser und geben Sie die Adresse http://localhost/phpMyAdmin ein. Eine phpMyAdmin-Anmeldeseite sollte wie im folgenden Screenshot gezeigt angezeigt werden. Geben Sie die Anmeldedaten Ihres Datenbank-Root-Benutzers ein und klicken Sie auf Los.
Das ist alles! In diesem Tutorial haben wir Ihnen erklärt, wie Sie einen LEMP-Stack mit Nginx, MariaDB, PHP, < installierenPHP-FPM und PhpMyAdmin auf OpenSuse Server-/Desktop-Editionen. Wenn Sie während der Einrichtung auf Probleme stoßen, stellen Sie Ihre Fragen über das Kommentarformular unten.