Tutorial

So installieren Sie Linux, Nginx, MySQL, PHP (LEMP) Stack unter CentOS 8 [Schnellstart]

Published on April 24, 2020

Developer Advocate

Deutsch
So installieren Sie Linux, Nginx, MySQL, PHP (LEMP) Stack unter CentOS 8 [Schnellstart]

Einführung

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.

Voraussetzungen

Um diesem Leitfaden zu folgen, müssen Sie auf einen CentOS-8-Server als sudo-Benutzer zugreifen.

Schritt 1 – Installation von Nginx

Installieren Sie das nginx-Paket mit:

  1. 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:

  1. 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:

  1. sudo firewall-cmd --permanent --add-service=http

Laden Sie die Firewall-Konfiguration neu, damit die Änderungen wirksam werden:

  1. 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:

Standard Nginx Page CentOS 8

Schritt 2 – Installation von MariaDB

Wir installieren jetzt MariaDB, eine gemeinschaftlich entwickelte Kopie des Original-MySQL-Servers von Oracle. Um diese Software zu installieren, führen Sie Folgendes aus:

  1. sudo dnf install mariadb-server

Wenn die Installation abgeschlossen ist, aktivieren und starten Sie den MariaDB-Server mit:

  1. 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:

  1. 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.

Schritt 3 – Installation von PHP-FPM

Um die php-fpm- und php-mysql-Pakete zu installieren, führen Sie Folgendes aus:

  1. 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:

  1. sudo dnf install nano

Öffnen Sie dann die Konfigurationsdatei /etc/php-fpm.d/www.conf mit nano oder Ihrem bevorzugten Textbearbeitungsprogramm:

  1. 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:

/etc/php-fpm.d/www.conf
…
; 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:

  1. 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:

  1. sudo systemctl restart nginx

Schritt 4 – Testen Sie PHP mit 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.

  1. sudo chown -R sammy.sammy /usr/share/nginx/html/

Erstellen Sie eine neue PHP Datei namens info.php im Verzeichnis /usr/share/nginx/html:

  1. nano /usr/share/nginx/html/info.php

Der folgende PHP-Code zeigt Informationen über die aktuelle PHP-Umgebung, die auf dem Server läuft:

/usr/share/nginx/html/info.php
<?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:

CentOS 8 Standard-PHP-Info

Relevante Tutorials

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.

Learn more about our products

About the authors
Default avatar

Developer Advocate

Dev/Ops passionate about open source, PHP, and Linux.

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


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!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.