In diesem Tutorial installieren Sie einen LEMP-Stack auf einem CentOS 8-Server. Obwohl MySQL über die Standard-Repositorys in CentOS 8 verfügbar ist, beschreibt dieser Leitfaden den Prozess der Einrichtung eines LEMP-Stacks mit MariaDB als Datenbank-Management-System.
Eine detailliertere Version dieses Tutorials mit weiteren Erklärungen zu jedem Schritt finden Sie unter So installieren Sie Linux, Nginx, MySQL, PHP (LEMP) Stack unter CentOS 8.
Um diesem Leitfaden zu folgen, müssen Sie auf einen CentOS-8-Server als sudo
-Benutzer zugreifen.
Installieren Sie das nginx
-Paket mit:
- sudo dnf install nginx
Wenn die Installation abgeschlossen ist, müssen Sie den folgenden Befehl ausführen, um den Server zu aktivieren und zu starten:
- sudo systemctl start nginx
Wenn firewalld
aktiv ist, müssen Sie den folgenden Befehl ausführen, um den externen Zugriff auf Port 80
(HTTP) zu gestatten:
- sudo firewall-cmd --permanent --add-service=http
Laden Sie die Firewall-Konfiguration neu, damit die Änderungen wirksam werden:
- sudo firewall-cmd --reload
Nachdem die neue Firewall-Regel hinzugefügt wurde, können Sie testen, ob der Server läuft, indem Sie auf die öffentliche IP-Adresse des Servers oder den Domänennamen von Ihrem Web-Browser aus zugreifen. Sie sehen in etwa folgende Seite:
Wir installieren jetzt MariaDB, eine gemeinschaftlich entwickelte Kopie des Original-MySQL-Servers von Oracle. Um diese Software zu installieren, führen Sie Folgendes aus:
- sudo dnf install mariadb-server
Wenn die Installation abgeschlossen ist, aktivieren und starten Sie den MariaDB-Server mit:
- sudo systemctl start mariadb
Um die Sicherheit Ihres Datenbank-Servers zu verbessern, wird empfohlen, ein Sicherheitsskript auszuführen, in das MariaDB bereits vorinstalliert ist. Starten Sie das interaktive Skript mit:
- sudo mysql_secure_installation
Mit der ersten Eingabeaufforderung werden Sie aufgefordert, das aktuelle Datenbank-Root-Passwort einzugeben. Und weil Sie MariaDB gerade installiert und noch keine Konfigurationsänderungen vorgenommen haben, ist dieses Passwort leer. Drücken Sie also bei der Eingabeaufforderung einfach die EINGABETASTE
.
Bei der nächsten Eingabeaufforderung werden Sie gefragt, ob Sie ein Datenbank-Root Passwort einrichten möchten. Und weil MariaDB eine spezielle Authentifizierungsmethode für den Root-Benutzer verwendet, die typischerweise sicherer ist als ein Passwort, müssen Sie das jetzt nicht einrichten. Geben Sie N
ein und drücken Sie dann die EINGABETASTE
.
Von dort aus können Sie Y
und dann die EINGABETASTE
drücken, um die Standardeinstellungen für alle nachfolgenden Fragen zu akzeptieren.
Um die php-fpm
- und php-mysql
-Pakete zu installieren, führen Sie Folgendes aus:
- sudo dnf install php-fpm php-mysqlnd
Wenn die Installation abgeschlossen ist, müssen Sie die Datei /etc/php-fpm.d/www.conf
bearbeiten, um ein paar Einstellungen anzupassen. Wir installieren nano
, um das Bearbeiten dieser Dateien zu erleichtern:
- sudo dnf install nano
Öffnen Sie dann die Konfigurationsdatei /etc/php-fpm.d/www.conf
mit nano
oder Ihrem bevorzugten Textbearbeitungsprogramm:
- sudo nano /etc/php-fpm.d/www.conf
Suchen Sie nach den Anweisungen user
und group
. Wenn Sie nano
verwenden, können Sie auf STRG
+W
drücken, um in der offenen Datei nach diesen Begriffen zu suchen. Vergewissern Sie sich, dass Sie beide Werte von apache
auf nginx
ändern:
…
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
…
Speichern und schließen Sie die Datei, wenn die Bearbeitung abgeschlossen ist.
Zur Aktivierung und zum Start des php-fpm
-Dienstes führen Sie Folgendes aus:
- sudo systemctl start php-fpm
Starten Sie schließlich den Nginx-Webserver neu, damit er die Konfigurationsdateien lädt, die durch die php-fpm
-Installation erstellt wurden:
- sudo systemctl restart nginx
In CentOS 8 erstellt die Standard php-fpm
-Installation automatisch Konfigurationsdateien, die Ihrem Nginx-Webserver erlauben, .php
-Dateien im Standard-Dokumentstamm zu bearbeiten, der sich unter /usr/share/nginx/html
befindet. Sie müssen keine Änderungen der Nginx-Konfiguration vornehmen, damit PHP korrekt in Ihrem Webserver funktioniert.
Wir müssen lediglich den Standard-Eigentümer und die Gruppe im Nginx-Dokumentstamm ändern, damit Sie Dateien an diesem Speicherort mit Ihrem normalen Systembenutzer ohne Rootberechtigung erstellen und ändern können.
- sudo chown -R sammy.sammy /usr/share/nginx/html/
Erstellen Sie eine neue PHP Datei namens info.php
im Verzeichnis /usr/share/nginx/html
:
- nano /usr/share/nginx/html/info.php
Der folgende PHP-Code zeigt Informationen über die aktuelle PHP-Umgebung, die auf dem Server läuft:
<?php
phpinfo();
Kopieren Sie diesen Inhalt in Ihre info.php
-Datei und vergessen Sie nicht, sie zu speichern, wenn Sie fertig sind.
Jetzt können wir testen, ob unser Webserver den Inhalt korrekt anzeigt, der durch ein PHP-Skript erstellt wurde. Gehen Sie zu Ihrem Browser und greifen Sie auf Ihren Server-Hostnamen oder die IP-Adresse zu, gefolgt von /info.php
:
http://server_host_or_IP/info.php
Sie sehen eine Seite, die so ähnlich wie die folgende aussieht:
Hier sehen Sie Links zu detaillierteren Leitfäden, die in Verbindung mit diesem Tutorial stehen:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!