So installieren Sie den LEMP-Stack auf Rocky Linux 8

Der Begriff LEMP ist ein Akronym für Linux, nginx, mariaDB oder mySQL und PPS. Diese Softwaregruppe wird verwendet, um in PHP geschriebene Webanwendungen zu entwickeln und bereitzustellen.

Für den LEMP-Stack dient Ngnix als Webserver, MariaDB oder MySQL stellt eine Datenbank für die Website bereit, PHP hilft bei der Bereitstellung von PHP-Seiten und Linux stellt das Betriebssystem bereit.

Beliebte CMS wie WordPress, Joomla, Drupal verwenden den LEMP-Stack. Dieser Stack hilft beim Hosten von Websites mit hohem Datenverkehr und skalierbaren Websites.

In diesem Tutorial lernen wir, wie man installiere den LEMP-Stack an Rocky Linux 8.4. Lernen Sie auch, Konfigurieren Sie den Nginx-Serverblock um Ihre Domain zu hosten.

Schritt 1: Nginx installieren

Nginx ist ein kostenloser Open-Source-Hochleistungs-Webserver. Der LEMP-Stack verwendet Nginx, um HTTP-Datenverkehr bereitzustellen.

Aktualisieren Sie zunächst alle verfügbaren Pakete auf Rocky Linux.

$ sudo dnf upgrade

Hinweis: dnf update ist ein veralteter Alias.

Jetzt, Nginx installieren auf Rocky-Linux.

$ sudo dnf install nginx

Sobald Nginx installiert ist, starten Sie den Nginx-Dienst.

$ sudo systemctl start nginx

Geben Sie Folgendes ein, um den Status des Nginx-Dienstes zu überprüfen:

$ sudo systemctl status nginx

Stellen Sie nun sicher, dass Sie Nginx beim Start beim Booten aktivieren.

$ sudo systemctl enable nginx

Um die installierte Nginx-Version zu überprüfen, geben Sie Folgendes ein:

$ nginx -v

Ausgabe:

nginx version: nginx/1.14.1

Die Ausgabe zeigt, dass wir installiert haben Nginx 1.14.1 Ausführung.

Um HTTP- und HTTPS-Datenverkehr (falls Sie den Webserver mit SSL verschlüsseln möchten) auf der Firewall zuzulassen.

$ sudo firewall-cmd --permanent --zone=public --add-service=http
$ sudo firewall-cmd --permanent --zone=public --add-service=https

Um die Änderungen wirksam zu machen, laden Sie den Firewall-Dienst neu:

$ sudo firewall-cmd --reload

Sie können dies überprüfen, indem Sie die aktuellen Firewall-Einstellungen auflisten:

$ sudo firewall-cmd --permanent --list-all

Öffnen Sie ein Browse und geben Sie die Server-IP oder den Domänennamen ein, um die Nginx-Standardseite unter Rocky Linux anzuzeigen. Unter Rocky Linux befindet sich die Standard-Nginx-Webseite in /usr/share/nginx/html.

Nginx-Standardwebseite unter Rocky Linux

Schritt 2: MariaDB installieren

Die MariaDB-Datenbank ist ein MySQL-Fork von Oracle. MariaDB zeigt eine verbesserte Leistung gegenüber MySQL und bietet bessere Speicher-Engines. Hier installieren wir MariaDB, um Daten für Ihre Website zu speichern.

Zu MariaDB installieren Geben Sie unter Rocky Linux Folgendes ein:

$ sudo dnf install mariadb-server mariadb

Um den MariaDB-Dienst zu starten, geben Sie Folgendes ein:

$ sudo systemctl start mariadb

Überprüfen Sie nun den MariaDB-Status.

$ sudo systemctl status mariadb

MariaDB sollte jetzt betriebsbereit sein. Um MariaDB beim Systemstart zu aktivieren, geben Sie

$ sudo systemctl enable mariadb

Die Neuinstallation von MariaDB ist nicht sicher. Das MariaDB-Paket wird mit einem vorinstallierten Skript geliefert, das hilft, die Sicherheit Ihres Datenbankservers zu verbessern.

Um das Skript zu starten, geben Sie Folgendes ein:

$ sudo mysql_secure_installation

MariaDB hat ein neues Root-Passwort gesetzt
Sichere MariaDB

Bei der Neuinstallation auf MariaDB ist das Root-Passwort leer. Dieses Skript ermöglicht es, ein neues Root-Passwort festzulegen, anonyme Benutzer zu entfernen, Root-Remote-Login zu verbieten, Testdatenbank zu entfernen.

Jetzt können Sie sich beim MariaDB-Server mit dem Root-Passwort anmelden, das wir jetzt festgelegt haben.

$ sudo mysql -u root -p

Ausgabe:

Enter password:
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 16
Server version: 10.3.28-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [(none)]>

Die Ausgabe zeigt, dass wir die MariaDB 10.3-Version installiert haben und eine Shell zum Verwalten von Datenbankoperationen haben.

Schritt 3: PHP installieren

PHP wird hauptsächlich verwendet, um dynamische Inhalte für den Webserver zu generieren. Rocky Linux 8 AppStream wird zum Zeitpunkt des Schreibens dieses Tutorials mit den PHP-Versionen 7.2, 7.3 und 7.4 geliefert. Die Standardversion ist PHP 7.2. Um die neueste PHP-Version zu installieren, aktivieren Sie das kostenlose Remi-Repository.

So listen Sie die verfügbare PHP-Version auf:

$ sudo dnf module list php

Ausgabe:

Last metadata expiration check: 2:57:54 ago on Fri 06 Aug 2021 02:16:31 AM UTC.
Rocky Linux 8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
php 7.3 common [d], devel, minimal PHP scripting language
php 7.4 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Geben Sie Folgendes ein, um das PHP 7.4-Modul zu aktivieren:

$ sudo dnf module enable php:7.4

Nginx erfordert PHP-FPM (PHP fastCGI Process Manager), das ein Interpreter zwischen PHP und Webserver für eine bessere Leistung ist. Jetzt können wir PHP installieren, PHP-FPM, und die gängigsten PHP-Erweiterungen.

$ sudo dnf install php php-fpm php-cli php-gd php-curl php-zip php-mbstring php-opcache php-intl php-mysqlnd

Überprüfen Sie zur Überprüfung die PHP-Version:

$ php -v

Ausgabe:

PHP 7.4.6 (cli) (built: May 12 2020 08:09:15) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.6, Copyright (c), by Zend Technologies

An der Ausgabe können Sie erkennen, dass die Version von PHP 7.4 installiert wurde.

Sehen wir uns nun an, wie Sie Nginx so konfigurieren, dass PHP mit PHP-FPM ausgeführt wird.

Dazu müssen wir einige Änderungen in der PHP-FPM-Konfiguration in /etc/php-fpm.d/www.conf vornehmen.

Öffnen Sie die PHP-FPM-Konfigurationsdatei in Ihrem bevorzugten Editor.

$ sudo vi /etc/php-fpm.d/www.conf

Ändern Sie die beiden Variablen user und group von Apache zu nginx.

user = nginx
group = nginx

Starten Sie nun das PHP-FPM, geben Sie ein:

$ sudo systemctl start php-fpm

Aktivieren Sie PHP-FPM beim Systemneustart, geben Sie Folgendes ein:

$ sudo systemctl enable php-fpm

Jetzt können Sie den Status überprüfen, geben Sie Folgendes ein:

$ sudo systemctl status php-fpm

PHP-FPM-Dienststatus

Starten Sie schließlich Ngnix neu, um die von php-fpm vorgenommenen Konfigurationsänderungen zu laden:

$ sudo systemctl restart nginx

Jetzt können wir PHP, Erweiterungen und FPM überprüfen, indem wir das info.php-Skript zum Standard-Webroot-Verzeichnis hinzufügen.

$ sudo vi /usr/share/nginx/html/info.php

Fügen Sie der Datei info.php den folgenden Inhalt hinzu:

<?php

phpinfo();

?>

Starten Sie Nginx neu, damit die Änderungen wirksam werden

$ sudo systemctl restart nginx

Öffnen Sie einen Browser und greifen Sie auf den Domänennamen oder die Server-IP zu, gefolgt von info.php.

https://server-ip-or-domain-name.com/info.php

php.info-Seite

Es wird empfohlen, die php.info-Seite nach der Überprüfung zu löschen, da Sie nicht möchten, dass die Außenwelt Ihre PHP-Informationen sieht.

Jetzt sind wir mit der LEMP-Stack-Installation auf Rocky Linux 8 fertig. Sehen wir uns auch an, wie der Nginx-Serverblock konfiguriert wird, um einen example Webseite.

Schritt 4: Konfigurieren Sie den Nginx-Serverblock in Rocky Linux

In Nginx definiert der Serverblock die Einstellungen für eine bestimmte Domäne. Jede Website sollte einen Dokumentenstamm haben, der die Website-Dateien enthält. Der Dokumentenstamm kann überall erstellt werden.

Ich werde das Dokumentenstammverzeichnis für eine Website namens . erstellen example.com in /var/www/example.com/public_html.

Erstellen Sie zuerst das Dokumenten-Root-Verzeichnis, geben Sie Folgendes ein:

$ sudo mkdir -p /var/www/example.com/public_html

Erstellen Sie eine index.html-Datei im Dokumentenstamm und fügen Sie den folgenden grundlegenden HTML-Inhalt hinzu.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Welcome</title>
</head>
<body>
<h1>Congrats! The example.com website is working</h1>
</body>
</html>

Ändern Sie den Besitz des Dokumenten-Root-Verzeichnisses und aller darin enthaltenen Dateien auf den Nginx-Benutzer, dh www-data.

$ sudo chown -R nginx: /var/www/example.com

Lassen Sie uns nun den Nginx-Serverblock erstellen, der sich standardmäßig unter befindet /etc/nginx/conf.d Verzeichnis. Erstellen Sie mit Ihrem bevorzugten Editor eine Serverblockdatei.

$ sudo vi /etc/nginx/conf.d/example.com.conf

Fügen Sie der erstellten Datei den folgenden Inhalt hinzu, ersetzen Sie example.com mit Ihrem Domainnamen.

server {
listen 80;

server_name example.com www.example.com;

root /var/www/example.com/public_html;

index index.html;

access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
}

Überprüfen Sie die nginx-Konfiguration auf Syntaxfehler:

$ sudo nginx -t

Ausgabe:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Um die Änderungen wirksam zu machen, starten Sie den Nginx-Dienst neu:

$ sudo systemctl restart nginx

Öffnen Sie Ihren Browser und navigieren Sie zu https://example.com, um die von uns erstellte Webseite anzuzeigen.

example.com-Testseite

Fazit

In diesem Tutorial haben wir gelernt, wie Sie den LEMP-Stack auf Rocky Linux 8 installieren. Wir haben auch gelernt, wie Sie den Nginx-Serverblock für Ihre Domain konfigurieren.

Vielen Dank fürs Lesen. Bitte teilen Sie uns Ihre Vorschläge im Kommentarbereich unten mit.