So installieren Sie PHP auf CentOS Stream 9

PHP ist eine weit verbreitete serverseitige Skriptsprache, die für die Webentwicklung entwickelt wurde, aber auch als allgemeine Programmiersprache verwendet wird. Sie wird besonders für die Erstellung dynamischer und interaktiver Websites bevorzugt. Durch die Installation der neuesten PHP-Versionen wie 8.3, 8.2 oder 8.1 stellen Sie sicher, dass Sie Zugriff auf die neuesten Funktionen, Leistungsverbesserungen und Sicherheitspatches haben. Auf CentOS Stream 9 können Sie diese Versionen problemlos mithilfe des Remi RPM-Repository installieren, das für seine aktuellen PHP-Pakete bekannt ist.

Diese Anleitung führt Sie durch den Prozess der Aktivierung des Remi-Repositorys und der Installation der neuesten PHP-Builds auf CentOS Stream 9.

Importieren Sie Remi PHP RPM unter CentOS

Aktualisieren des CentOS-Streams vor der PHP-Installation

Es ist wichtig, zunächst Ihr CentOS Stream-System zu aktualisieren, um sicherzustellen, dass alle vorhandenen Pakete auf dem neuesten Stand sind. Dieser Schritt ist für die Systemstabilität und -sicherheit von entscheidender Bedeutung.

Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus, um Ihr System zu aktualisieren:

sudo dnf upgrade --refresh

Dieser Befehl aktualisiert Ihre Paketdatenbank und aktualisiert alle installierten Pakete auf die neuesten verfügbaren Versionen.

Remi PHP RPM-Repository importieren

Das Remi PHP-Repository ist ein Drittanbieter-Repository, das die neuesten PHP-Versionen bietet. Bevor Sie das Remi-Repository hinzufügen, müssen Sie das EPEL-Repository installieren, das zusätzliche Pakete für Enterprise Linux bereitstellt.

Zunächst empfiehlt es sich, das CodeReady Linux Builder (CRB)-Repository zu aktivieren, dies ist jedoch optional. Es bietet zusätzliche Entwicklertools und Bibliotheken. Aktivieren Sie CRB mit:

sudo dnf config-manager --set-enabled crb

Installieren Sie nach der Aktivierung von CRB das EPEL-Repository für EL9 mit:

sudo dnf install \
    https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
    https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm

Importieren Sie abschließend das Remi PHP-Repository für EL9:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y

Aktivieren des PHP Remi Repository auf CentOS Stream

Auflistung verfügbarer PHP-Module

Vor der Installation von PHP ist es wichtig, die verfügbaren PHP-Versionen im Remi-Repository zu identifizieren. Dieser Schritt hilft Ihnen, eine fundierte Entscheidung darüber zu treffen, welche Version installiert werden soll.

Verwenden Sie den folgenden Befehl, um alle PHP-Module aufzulisten:

dnf module list php

Dieser Befehl zeigt alle im Remi-Repository verfügbaren PHP-Versionen an. Dies ist ein entscheidender Schritt, um sicherzustellen, dass Sie eine Version auswählen, die Ihren Anforderungen am besten entspricht.

GPG-Schlüssel für Remis Repository importieren

Wenn Sie dazu aufgefordert werden, müssen Sie den Import des GPG-Schlüssels für Remis Repository bestätigen. Dieser Schritt ist aus Sicherheitsgründen wichtig, da er die Authentizität der Pakete überprüft, die Sie installieren möchten. Geben Sie „Y“ ein, wenn Sie aufgefordert werden, mit dem Import fortzufahren.

Aktivieren der gewünschten PHP-Version

Nachdem Sie die verfügbaren PHP-Versionen bestätigt haben, können Sie die spezifische Version aktivieren, die Ihren Anforderungen entspricht. Es ist ratsam, für Ihre Projekte eine stabile und gut unterstützte Version von PHP auszuwählen.

Um eine bestimmte PHP-Version aus dem Remi-Repository zu aktivieren, verwenden Sie die folgenden Befehle:

sudo dnf module enable php:remi-8.3 -y
sudo dnf module enable php:remi-8.2 -y
sudo dnf module enable php:remi-8.1 -y

Jeder Befehl aktiviert eine andere PHP-Version aus dem Remi-Repository. Wählen Sie den Befehl, der der Version entspricht, die Sie installieren möchten. Das Flag „-y“ in diesen Befehlen zeigt eine automatische Bestätigung der Installation an und vereinfacht so den Vorgang.

Installieren Sie PHP 8.3, 8.2 oder 8.1 auf CentOS Stream

Auswählen des Webservers für die PHP-Installation

Die Auswahl des geeigneten Webservers ist ein wichtiger Schritt bei der Einrichtung von PHP. CentOS Stream unterstützt sowohl Apache als auch Nginx, die jeweils unterschiedliche PHP-Pakete erfordern.

Apache (httpd) PHP-Installation

Für diejenigen, die Apache als Webserver verwenden, installiert der folgende Befehl PHP zusammen mit der PHP-Befehlszeilenschnittstelle (CLI), die zum Ausführen von PHP-Skripten über die Befehlszeile erforderlich ist:

sudo dnf install php php-cli -y

Nginx PHP Installation

Wenn Sie Nginx verwenden, müssen Sie PHP FastCGI Process Manager (FPM) neben der PHP-CLI installieren. PHP-FPM ist eine alternative PHP FastCGI-Implementierung, die für Websites mit hohem Datenverkehr äußerst effizient ist:

sudo dnf install php-fpm php-cli -y

Überprüfen der PHP-Installation

Nach der Installation ist es wichtig, zu bestätigen, dass PHP korrekt installiert ist. Führen Sie den folgenden Befehl aus, um die installierte PHP-Version zu überprüfen:

php -v

Dieser Befehl zeigt die aktuelle PHP-Version an und bestätigt die erfolgreiche Installation.

Installieren gängiger PHP-Erweiterungen

Um die PHP-Funktionalität zu verbessern, müssen Sie möglicherweise zusätzliche Erweiterungen installieren. Der folgende Befehl installiert häufig verwendete PHP-Erweiterungen, die für verschiedene CMS-Plattformen und Entwicklungsanforderungen unerlässlich sind:

sudo dnf install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache

Es ist ratsam, alle Erweiterungen zu überprüfen und wegzulassen, die für Ihr Setup nicht erforderlich sind.

Geladene PHP-Module anzeigen

Um die aktuell geladenen PHP-Module zu überprüfen, führen Sie Folgendes aus:

php -m

Um eine optimale Systemleistung aufrechtzuerhalten, wird empfohlen, nicht benötigte Module regelmäßig zu überwachen und zu entfernen.

Installieren des PHP-Entwicklungszweigs

Für spezielle Entwicklungsanforderungen benötigen Sie möglicherweise den PHP-Entwicklungszweig. Installieren Sie ihn mit:

sudo dnf install php-devel

Hinweis: Diese Installation führt zu mehreren Abhängigkeiten. Fahren Sie nur fort, wenn in Ihrer PHP-Entwicklungsumgebung ein besonderer Bedarf besteht.

Hinzufügen von PHP-Entwicklungstools

Installieren Sie für erweiterte Entwicklungsfunktionen, einschließlich Debugging, zusätzliche Tools mit:

sudo dnf install php-xdebug php-pcov

Diese Tools sind für das Debuggen und die Codeabdeckungsanalyse in PHP unabdingbar, seien Sie jedoch vorsichtig hinsichtlich der zusätzlichen Abhängigkeiten, die sie mit sich bringen.

Konfigurieren des Nginx-Benutzers für PHP-FPM auf CentOS Stream

Bearbeiten der PHP-FPM-Konfiguration für Nginx

In CentOS Stream ist der Standardbenutzer für PHP-FPM auf „Apache“ eingestellt, was nicht mit Nginx-Setups kompatibel ist. Um PHP-FPM für Nginx zu optimieren, ist eine Konfigurationsänderung erforderlich.

Zugriff auf die PHP-FPM-Konfiguration

Öffnen Sie zunächst die PHP-FPM-Konfigurationsdatei. Diese Datei enthält spezifische Einstellungen für die Interaktion von PHP-FPM mit Ihrem Webserver. Verwenden Sie den folgenden Befehl, um die Datei www.conf zu bearbeiten:

sudo nano /etc/php-fpm.d/www.conf

Dieser Befehl startet den Nano-Texteditor mit der PHP-FPM-Konfigurationsdatei.

Ändern der Benutzer- und Gruppeneinstellungen

Suchen Sie in der Konfigurationsdatei nach den Zeilen, die den Benutzer und die Gruppe angeben. Standardmäßig sind diese auf „Apache“ eingestellt. Ändern Sie sowohl den Benutzer als auch die Gruppe in „Nginx“, um den PHP-FPM-Dienst mit Nginx abzustimmen:

; Unix-Benutzer/-Gruppe von Prozessen ; Hinweis: Der Benutzer ist obligatorisch. Wenn die Gruppe nicht festgelegt ist, wird die Gruppe des Standardbenutzers ; verwendet. ; RPM: Apache Ausgewählt, um auf einige Verzeichnisse als httpd zugreifen zu können. Benutzer = nginx ; RPM: Behalten Sie eine Gruppe bei, die in das Protokollverzeichnis schreiben darf. Gruppe = nginx

Hier ist ein funktionierendes visuelles Beispiel:

Speichern und Beenden der Konfigurationsdatei

Nachdem Sie die Änderungen vorgenommen haben, speichern Sie die Datei mit STRG+O und beenden Sie sie anschließend mit STRG+X. Diese Aktion speichert die Änderungen und schließt den Nano-Editor.

Neustart des PHP-FPM-Dienstes

Um die Änderungen anzuwenden, starten Sie den PHP-FPM-Dienst neu mit:

sudo systemctl restart php-fpm

Dieser Befehl stellt sicher, dass PHP-FPM unter dem Nginx-Benutzer und der Nginx-Gruppe ausgeführt wird, wodurch Kompatibilität und verbesserte Sicherheit für Ihr Nginx-Webserver-Setup auf CentOS Stream gewährleistet werden.

Beispielcode für einen Nginx PHP-FPM-Serverblock

Konfigurieren des Nginx-Serverblocks für die PHP-Verarbeitung

Um die PHP-Verarbeitung in Nginx auf CentOS Stream zu aktivieren, muss der Serverblock in der Nginx-Konfigurationsdatei geändert werden. Das folgende Beispiel zeigt die erforderliche Konfiguration für die Verarbeitung von PHP-Dateien. Für dieses Setup muss der PHP-Standortblock angegeben werden.

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

Dieser Code stellt sicher, dass Nginx PHP-Dateien korrekt verarbeitet und sie an den PHP-FPM-Prozessor umleitet. Hier ist eine kurze Aufschlüsselung:

  • location ~ .php$: Diese Anweisung weist Nginx an, die folgenden Regeln auf alle Dateien mit der Endung .php anzuwenden. Die Tilde ~ zeigt an, dass es sich um eine Übereinstimmung mit einem regulären Ausdruck handelt.
  • try_files $uri =404: Diese Zeile prüft, ob die PHP-Datei unter der angegebenen URI vorhanden ist. Wenn nicht, gibt Nginx einen 404-Fehler zurück. Dies ist eine Sicherheitsmaßnahme, um die unbefugte Ausführung von Skripts zu verhindern.
  • fastcgi_pass unix:/run/php-fpm/www.sock;: Diese Anweisung gibt den Socket an, an dem der PHP-FPM-Dienst lauscht. In diesem Fall übergibt Nginx die PHP-Anfragen über den Socket /run/php-fpm/www.sock an den PHP-FPM-Prozess.
  • fastcgi_index index.php;: Dies legt index.php als Standardskript fest, das ausgeführt wird, wenn auf ein Verzeichnis zugegriffen wird.
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;: Diese Zeile setzt den Parameter SCRIPT_FILENAME, der für PHP-FPM wichtig ist, um die Skriptdatei im Dateisystem zu finden. Er kombiniert das Dokumentstammverzeichnis mit dem Skriptnamen.
  • include fastcgi_params;: Dies schließt die von Nginx bereitgestellten Standard-FastCGI-Parameter ein. Dies sind Standardeinstellungen, die für die korrekte Funktion von PHP-FPM erforderlich sind.

Diese Konfiguration stellt sicher, dass Nginx PHP-Anfragen korrekt verarbeitet, indem sie zur Verarbeitung an den PHP-FPM-Dienst weiterleitet werden. Dies ist ein entscheidender Schritt zum Ausführen PHP-basierter Websites und Anwendungen auf einem Nginx-Server.

Überprüfen der Nginx-Konfiguration

Überprüfen Sie nach der Aktualisierung des Serverblocks die Nginx-Konfiguration mit dem folgenden Befehl auf Syntaxfehler:

sudo nginx -t

Beispielausgabe, die eine erfolgreiche Syntaxprüfung bestätigt:

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

Dieser Schritt stellt sicher, dass Ihre Nginx-Konfiguration frei von Syntaxfehlern und zur Implementierung bereit ist.

Neustart des Nginx-Dienstes

Um die PHP-FPM-Konfigurationsänderungen anzuwenden, starten Sie den Nginx-Dienst neu:

sudo systemctl restart nginx

Durch diesen Neustart werden die Änderungen wirksam und Nginx kann PHP-Dateien mit der aktualisierten Serverblockkonfiguration verarbeiten.

Abschluss

Durch die Installation von PHP über das Remi RPM-Repository auf CentOS Stream 9 stellen Sie sicher, dass Ihr System mit den neuesten stabilen Versionen von PHP ausgestattet ist, einschließlich 8.3, 8.2 und 8.1. Dieses Setup bietet Ihnen verbesserte Leistung, Zugriff auf die neuesten Funktionen und verbesserte Sicherheit für Ihre Webanwendungen. Durch regelmäßige Aktualisierung von PHP über das Remi-Repository bleibt Ihr System sicher und auf dem neuesten Stand der PHP-Entwicklungen. Genießen Sie die Flexibilität und Leistung, die PHP zum Erstellen und Warten dynamischer Webanwendungen bietet.

Joshua James
Folgen Sie mir
Letzte Artikel von Joshua James (Alle anzeigen)

Hinterlasse einen Kommentar