One place for hosting & domains

      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:

      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:

      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:

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

      Wenn Sie fertig sind, melden Sie sich bei der MariaDB-Konsole an, indem Sie Folgendes eingeben:

      Damit wird eine Verbindung zum MariaDB-Server als administrativer Datenbank-Benutzer root hergestellt, was durch die Verwendung von sudo abgeleitet wird, wenn dieser Befehl ausgeführt wird. Sie sollten eine Ausgabe wie diese sehen:

      Output

      Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 9 Server version: 10.3.17-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)]>

      Um eine neue Datenbank zu erstellen, führen Sie den folgenden Befehl von Ihrer MariaDB-Konsole aus:

      • CREATE DATABASE example_database;

      Jetzt können Sie einen neuen Benutzer erstellen und ihm volle Berechtigungen auf der benutzerdefinierten Datenbank gewähren, die Sie gerade erstellt haben:

      • GRANT ALL ON example_database.* TO 'example_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

      Aktualisieren Sie die Berechtigungen (über „flush privileges“), um sicherzustellen, dass sie in der aktuellen Sitzung gespeichert und verfügbar sind:

      Beenden Sie anschließend die MariaDB Shell:

      Schritt 3 – Installation von PHP-FPM

      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:

      Ö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:

      /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:

      • 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

      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.

      • 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:

      /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:



      Source link


      Leave a Comment