Website-Suche

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.