Website-Suche

So installieren Sie LEMP auf einem Debian 10-Server


Ein „LEMP“-Stack ist eine Mischung aus Open-Source-Software, die normalerweise auf einem Linux-Server installiert wird, um dynamische Anwendungen bereitzustellen. Dieser Begriff ist ein Akronym, das das Linux-Betriebssystem, den Nginx-Webserver, eine MariaDB-Datenbank und die PHP-Programmierung repräsentiert.

Lesen Sie auch: So installieren Sie LAMP auf einem Debian 10-Server

Obwohl dieser „LEMP“-Stack normalerweise MySQL als Datenbankverwaltungssystem enthält, verwenden einige Linux-Distributionen wie DebianMariaDB als Ersatz für MySQL.

Anforderungen

  1. So installieren Sie einen Debian 10 (Buster) Minimalserver

In diesem Artikel erklären wir Ihnen, wie Sie eine LEMP-Umgebung auf einem Debian 10-Server installieren und einrichten und dabei MariaDB als Datenbankverwaltung verwenden Plattform.

Installation des Nginx-Webservers unter Debian 10

Nginx ist ein Open-Source- und plattformübergreifender, leichter, aber leistungsstarker und einfach zu konfigurierender HTTP- und Reverse-Proxy-Server, ein Mail-Proxy-Server und ein generischer TCP/UDP-Proxy Server mit modularer Architektur.

Zu den Grundfunktionen gehören die Bereitstellung statischer Dateien und Indexdateien. beschleunigte Unterstützung mit Caching von FastCGI-, uwsgi-, SCGI- und Memcached-Servern, Lastausgleich und Fehlertoleranz, SSL und TLS-SNI-Unterstützung, Unterstützung für HTTP/2 mit gewichteter und abhängigkeitsbasierter Priorisierung.

Um das Nginx-Paket zu installieren, verwenden Sie den apt-Paketmanager von Debian wie gezeigt.

apt update 
apt install nginx 

Sobald die Nginx-Installation abgeschlossen ist, aktiviert das Installationsprogramm systemd, um den Nginx-Dienst vorerst zu starten und ihn beim Systemstart automatisch starten zu lassen. Sie können den Status von Nginx mit dem folgenden systemctl-Befehl überprüfen.

systemctl status nginx

Sie können auch die folgenden wichtigen Befehle verwenden, um die Konfiguration des Nginx-Dienstes unter systemd zu starten, neu zu starten, zu stoppen und neu zu laden.

systemctl start nginx
systemctl restart nginx 
systemctl stop nginx
systemctl reload nginx 
systemctl status nginx 

Wenn Sie als nächstes die UFW-Firewall ausgeführt haben (diese ist normalerweise standardmäßig deaktiviert), müssen Sie die Ports 80 (HTTP) und 443 (HTTPS) öffnen, um eingehenden Datenverkehr zuzulassen auf Nginx.

ufw allow 80
ufw allow 443
ufw status

An dieser Stelle müssen Sie testen, ob Nginx richtig installiert ist, ob es läuft und Webseiten bereitstellen kann. Öffnen Sie dazu einen Webbrowser und verweisen Sie ihn auf die folgende URL, um auf die Webseite Nginx Debian Default zuzugreifen.

http://SERVER_IP/
OR
http://localhost/

MariaDB unter Debian 10 installieren

Als nächstes müssen Sie ein Datenbanksystem installieren, um Daten für Ihre Website oder Web-App speichern und verwalten zu können. Debian 10 unterstützt standardmäßig MariaDB als Ersatz für MySQL.

Um MariaDB zu installieren, führen Sie den folgenden Befehl aus.

apt install mariadb-server

Überprüfen Sie als Nächstes den Status des MariaDB-Dienstes, da er automatisch von systemd gestartet und beim Systemstart gestartet werden kann. Um sicherzustellen, dass er betriebsbereit ist, verwenden Sie den folgenden Befehl.

systemctl status mariadb

Um den MariaDB-Dienst unter systemd zu verwalten (starten, neu starten, stoppen und neu laden), können Sie den folgenden Befehl verwenden.

systemctl start mariadb
systemctl restart mariadb
systemctl stop mariadb
systemctl reload mariadb

Als nächstes ist die MariaDB-Bereitstellung standardmäßig unsicher. Sie müssen ein Shell-Skript ausführen, das im Paket enthalten ist, um die Datenbanksicherheit zu verbessern.

mysql_secure_installation

Nachdem Sie das Skript ausgeführt haben, werden Sie durch eine Reihe folgender Fragen geführt, um die Standardeinstellungen der MariaDB-Installation zu ändern, wie im folgenden Screenshot gezeigt.

Installation von PHP-FPM (Fast Process Manager) unter Debian 10

Im Gegensatz zu Apache und anderen Webservern bietet Nginx keine native Unterstützung für PHP, da es PHP-FPM verwendet um Anfragen für PHP-Seiten zu bearbeiten. PHP-FPM ist ein alternativer FastCGI-Daemon für PHP, der es einer Website ermöglicht, hohe Lasten zu bewältigen, indem er Arbeitsprozesse zur Bearbeitung von Anfragen verwendet.

Um PHP-FPM Version 7.3 und ein PHP-Modul zur Kommunikation mit einem MariaDB/MySQL-Datenbanksystem zu installieren, führen Sie den folgenden Befehl aus.

apt install php-fpm php-mysqli

Nachdem PHP-FPM installiert wurde, aktiviert das Installationsprogramm systemd, um den PHP-FPM-Dienst vorerst zu starten und ihn beim Systemstart automatisch zu starten. Um zu überprüfen, ob es betriebsbereit ist, geben Sie den folgenden Befehl ein.

systemctl status php-fpm

Sie können die Konfiguration des PHP-FPM-Dienstes unter systemd auch wie folgt starten, neu starten, stoppen und neu laden.

systemctl start php-fpm
systemctl restart php-fpm
systemctl stop php-fpm
systemctl reload php-fpm
systemctl status php-fpm

Als nächstes müssen Sie PHP-FPM sichern, indem Sie einige Änderungen in der Konfigurationsdatei /etc/php/7.3/fpm/php.ini wie folgt vornehmen.

vi /etc/php/7.3/fpm/php.ini

Suchen Sie nach ;cgi.fix_pathinfo=1. Kommentieren Sie es aus, indem Sie das Zeichen ; am Anfang entfernen und seinen Wert auf 0 setzen. Dadurch wird verhindert, dass Nginx die Ausführung von Nicht-PHP-Dateien als PHP zulässt.

cgi.fix_pathinfo=0

Standardmäßig ist PHP-FPM so konfiguriert, dass es auf einem UNIX-Soxket /run/php/php7.3-fpm.sock lauscht, wie in /etc. definiert /php/7.3/fpm/pool.d/www.conf Konfigurationsdatei. Sie müssen alle Ihre Serverblöcke (oder virtuellen Hosts) so konfigurieren, dass sie diesen Socket verwenden, wenn sie PHP-Seiten verarbeiten und bereitstellen sollen.

Sie können die Nginx-Standardserverblockkonfigurationsdatei /etc/nginx/sites-available/default zum Testen verwenden.

vi /etc/nginx/sites-available/default 

Suchen Sie nach dem folgenden Abschnitt und entfernen Sie das Kommentarzeichen, um PHP-Skripte an den FastCGI-Server zu übergeben, wie im Screenshot gezeigt.

location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}

Testen Sie als Nächstes mit dem folgenden Befehl, ob die Nginx-Konfigurationsstruktur OK ist.

nginx -t

Wenn die Nginx-Konfiguration OK ist, starten Sie die Dienste php7.3-fpm und nginx wie folgt neu, um die kürzlich vorgenommenen Änderungen zu übernehmen.

systemctl restart php7.2-fpm
systemctl restart nginx

Testen der PHP-FPM-Verarbeitung auf Nginx

Nachdem Sie PHP-FPM und Nginx für die Zusammenarbeit konfiguriert haben, müssen Sie testen, ob zwei Dienste PHP-Seiten verarbeiten und für Clients bereitstellen können. Erstellen Sie dazu wie folgt ein einfaches PHP-Skript in Ihrem Web DocumentRoot.

echo “<?php phpinfo(); ?>”  | tee /var/www/html/info.php

Öffnen Sie abschließend einen Browser und geben Sie die folgende Adresse ein, um die PHP-Konfigurationen auf dem System anzuzeigen, wie sie von der Funktion phpinfo() generiert wurden.

http://SERVER_IP/info.php
OR
http://localhost/info.php

Abschluss

In diesem Artikel haben wir gezeigt, wie man den LEMP-Stack in Debian 10 installiert und konfiguriert. Wenn Sie Fragen oder Feedback haben, wenden Sie sich bitte an uns und teilen Sie uns dies über das Kommentarformular unten mit.