Hoe PHP te installeren op CentOS Stream 9

PHP is een veelgebruikte server-side scripttaal die is ontworpen voor webontwikkeling, maar ook wordt gebruikt als programmeertaal voor algemene doeleinden. Het heeft vooral de voorkeur voor het maken van dynamische en interactieve websites. Het installeren van de nieuwste versies van PHP, zoals 8.3, 8.2 of 8.1, zorgt ervoor dat u toegang heeft tot de nieuwste functies, prestatieverbeteringen en beveiligingspatches. Op CentOS Stream 9 kunt u deze versies eenvoudig installeren met behulp van de Remi RPM-repository, die bekend staat om het leveren van up-to-date PHP-pakketten.

Deze gids leidt u door het proces van het inschakelen van de Remi-repository en het installeren van de nieuwste PHP-builds op CentOS Stream 9.

Importeer Remi PHP RPM op CentOS

CentOS Stream bijwerken vóór PHP-installatie

Het is van cruciaal belang om te beginnen met het updaten van uw CentOS Stream-systeem om ervoor te zorgen dat alle bestaande pakketten up-to-date zijn. Deze stap is essentieel voor de stabiliteit en veiligheid van het systeem.

Open uw terminal en voer de volgende opdracht uit om uw systeem bij te werken:

sudo dnf upgrade --refresh

Met deze opdracht wordt uw pakketdatabase vernieuwd en worden alle geïnstalleerde pakketten geüpgraded naar hun nieuwste beschikbare versies.

Remi PHP RPM-repository importeren

De Remi PHP-repository is een repository van derden die de nieuwste PHP-versies biedt. Voordat u de Remi-repository toevoegt, moet u de EPEL-repository installeren, die extra pakketten voor Enterprise Linux biedt.

Ten eerste wordt het inschakelen van de CodeReady Linux Builder (CRB) repository aanbevolen, hoewel optioneel. Het biedt extra ontwikkelaarstools en bibliotheken. Schakel CRB in met:

sudo dnf config-manager --set-enabled crb

Nadat u CRB hebt ingeschakeld, installeert u de EPEL-repository voor EL9 met behulp van:

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

Importeer ten slotte de Remi PHP-repository voor EL9:

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

PHP Remi Repository inschakelen op CentOS Stream

Lijst met beschikbare PHP-modules

Voordat u PHP installeert, is het essentieel om de beschikbare PHP-versies in de Remi-repository te identificeren. Met deze stap kunt u een weloverwogen beslissing nemen over welke versie u wilt installeren.

Gebruik het volgende commando om alle PHP-modules weer te geven:

dnf module list php

Met deze opdracht worden alle PHP-versies weergegeven die beschikbaar zijn in de Remi-repository. Het is een cruciale stap om ervoor te zorgen dat u een versie kiest die het beste bij uw vereisten past.

GPG-sleutel importeren voor Remi's repository

Wanneer daarom wordt gevraagd, moet u het importeren van de GPG-sleutel voor Remi's repository bevestigen. Deze stap is om veiligheidsredenen essentieel, omdat hiermee de authenticiteit wordt geverifieerd van de pakketten die u gaat installeren. Voer 'Y' in als u wordt gevraagd om door te gaan met importeren.

Activeer uw gewenste PHP-versie

Nadat u de beschikbare PHP-versies heeft bevestigd, kunt u de specifieke versie inschakelen die aan uw behoeften voldoet. Het is raadzaam om voor uw projecten een stabiele en goed ondersteunde versie van PHP te selecteren.

Om een ​​specifieke PHP-versie uit de Remi-repository in te schakelen, gebruikt u de volgende opdrachten:

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

Elke opdracht activeert een andere versie van PHP uit de Remi-repository. Kies de opdracht die overeenkomt met de versie die u wilt installeren. De vlag '-y' in deze opdrachten geeft automatische bevestiging van de installatie aan, waardoor het proces wordt gestroomlijnd.

Installeer PHP 8.3, 8.2 of 8.1 op CentOS Stream

De webserver kiezen voor PHP-installatie

Het selecteren van de juiste webserver is een belangrijke stap bij het instellen van PHP. CentOS Stream ondersteunt zowel Apache als Nginx, waarvoor elk verschillende PHP-pakketten nodig zijn.

Apache (httpd) PHP-installatie

Voor degenen die Apache als webserver gebruiken, installeert de volgende opdracht PHP samen met de PHP Command Line Interface (CLI), wat essentieel is voor het uitvoeren van PHP-scripts vanaf de opdrachtregel:

sudo dnf install php php-cli -y

Nginx PHP-installatie

Als u Nginx gebruikt, moet u PHP FastCGI Process Manager (FPM) naast de PHP CLI installeren. PHP-FPM is een alternatieve PHP FastCGI-implementatie die zeer efficiënt is voor sites met veel verkeer:

sudo dnf install php-fpm php-cli -y

PHP-installatie verifiëren

Na de installatie is het belangrijk om te bevestigen dat PHP correct is geïnstalleerd. Voer de volgende opdracht uit om de geïnstalleerde PHP-versie te controleren:

php -v

Deze opdracht geeft de huidige PHP-versie weer en verifieert een succesvolle installatie.

Algemene PHP-extensies installeren

Om de PHP-functionaliteit te verbeteren, moet u mogelijk extra extensies installeren. Met de onderstaande opdracht installeert u veelgebruikte PHP-extensies, die essentieel zijn voor verschillende CMS-platforms en ontwikkelingsbehoeften:

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

Het is raadzaam om alle extensies die niet nodig zijn voor uw installatie te controleren en weg te laten.

Geladen PHP-modules bekijken

Om de momenteel geladen PHP-modules te inspecteren, voert u het volgende uit:

php -m

Het wordt aanbevolen om onnodige modules regelmatig te controleren en te snoeien om optimale systeemprestaties te behouden.

PHP Development Branch installeren

Voor specifieke ontwikkelingsvereisten heeft u mogelijk de PHP-ontwikkelingstak nodig. Installeer het met:

sudo dnf install php-devel

Opmerking: deze installatie introduceert meerdere afhankelijkheden. Ga alleen verder als er een specifieke behoefte is in uw PHP-ontwikkelomgeving.

PHP-ontwikkeltools toevoegen

Voor geavanceerde ontwikkelingsfuncties, waaronder foutopsporing, installeert u aanvullende tools met behulp van:

sudo dnf install php-xdebug php-pcov

Deze tools zijn essentieel voor het debuggen en analyseren van codedekking in PHP, maar wees voorzichtig met de extra afhankelijkheden die ze introduceren.

Nginx-gebruiker configureren voor PHP-FPM op CentOS Stream

PHP-FPM-configuratie voor Nginx bewerken

In CentOS Stream is de standaardgebruiker voor PHP-FPM ingesteld op 'Apache', wat niet compatibel is met Nginx-setups. Om PHP-FPM voor Nginx te optimaliseren is een configuratiewijziging noodzakelijk.

Toegang tot de PHP-FPM-configuratie

Begin met het openen van het PHP-FPM-configuratiebestand. Dit bestand bevat instellingen die specifiek zijn voor hoe PHP-FPM met uw webserver communiceert. Gebruik de volgende opdracht om het www.conf-bestand te bewerken:

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

Met deze opdracht wordt de Nano-teksteditor gestart met het PHP-FPM-configuratiebestand.

Gebruikers- en groepsinstellingen wijzigen

Zoek in het configuratiebestand de regels die de gebruiker en groep specificeren. Standaard staan ​​deze ingesteld op 'Apache'. Wijzig zowel de gebruiker als de groep in 'Nginx' om de PHP-FPM-service op één lijn te brengen met Nginx:

; Unix-gebruiker/groep van processen; Let op: De gebruiker is verplicht. Als de groep niet is ingesteld, is de standaardgebruikersgroep ; zal worden gebruikt. ; RPM: apache Gekozen om toegang te krijgen tot een map als httpd user = nginx; RPM: Zorg ervoor dat een groep mag schrijven in de logdirectory. groep = nginx

Hier zijn werkende visuele voorbeelden:

Het configuratiebestand opslaan en afsluiten

Nadat u de wijzigingen hebt aangebracht, slaat u het bestand op door op CTRL+O te drukken en sluit u het vervolgens af met CTRL+X. Deze actie slaat de wijzigingen op en sluit de Nano-editor.

PHP-FPM-service opnieuw starten

Om de wijzigingen toe te passen, start u de PHP-FPM-service opnieuw op met behulp van:

sudo systemctl restart php-fpm

Deze opdracht zorgt ervoor dat PHP-FPM begint te draaien onder de Nginx-gebruiker en -groep, waardoor compatibiliteit en verbeterde beveiliging voor uw Nginx-webserverconfiguratie op CentOS Stream wordt gegarandeerd.

Voorbeeld Nginx PHP-FPM-serverblokcode

Nginx-serverblok configureren voor PHP-verwerking

Om PHP-verwerking in Nginx op CentOS Stream mogelijk te maken, moet het serverblok in het Nginx-configuratiebestand worden gewijzigd. Het volgende voorbeeld toont de benodigde configuratie voor het verwerken van PHP-bestanden. Voor deze instelling moet het PHP-locatieblok worden opgegeven.

    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;
    }

Deze code zorgt ervoor dat Nginx PHP-bestanden correct verwerkt en doorstuurt naar de PHP-FPM-processor. Hier is een korte analyse:

  • location ~ .php$: Deze richtlijn vertelt Nginx om de volgende regels toe te passen op elk bestand dat eindigt op .php. De tilde ~ geeft aan dat dit een reguliere expressie-match is.
  • try_files $uri =404: Deze regel controleert of het PHP-bestand op de opgegeven URI bestaat. Als dit niet het geval is, retourneert Nginx een 404-fout. Dit is een beveiligingsmaatregel om ongeautoriseerde uitvoering van scripts te voorkomen.
  • fastcgi_pass unix:/run/php-fpm/www.sock;: Deze richtlijn specificeert de socket waar de PHP-FPM-service luistert. In dit geval geeft Nginx de PHP-verzoeken door aan het PHP-FPM-proces via de /run/php-fpm/www.sock socket.
  • fastcgi_index index.php;: Hiermee wordt index.php ingesteld als het standaardscript dat moet worden uitgevoerd wanneer een map wordt benaderd.
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;: Deze regel stelt de SCRIPT_FILENAME parameter in, die essentieel is voor PHP-FPM om het scriptbestand op het bestandssysteem te vinden. Het combineert de documenthoofdmap met de scriptnaam.
  • include fastcgi_params;: Dit omvat de standaard FastCGI-parameters geleverd door Nginx. Dit zijn standaardinstellingen die nodig zijn om PHP-FPM correct te laten functioneren.

Deze configuratie zorgt ervoor dat Nginx PHP-verzoeken correct afhandelt door deze ter verwerking door te geven aan de PHP-FPM-service, een cruciale stap voor het draaien van PHP-gebaseerde websites en applicaties op een Nginx-server.

Nginx-configuratie verifiëren

Nadat u het serverblok hebt bijgewerkt, controleert u de Nginx-configuratie op eventuele syntaxisfouten met de volgende opdracht:

sudo nginx -t

Voorbeelduitvoer die een succesvolle syntaxiscontrole bevestigt:

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

Deze stap zorgt ervoor dat uw Nginx-configuratie vrij is van syntaxisfouten en gereed is voor implementatie.

Nginx-service opnieuw starten

Om de PHP-FPM-configuratiewijzigingen toe te passen, start u de Nginx-service opnieuw op:

sudo systemctl restart nginx

Deze herstart maakt de wijzigingen effectief, waardoor Nginx PHP-bestanden kan verwerken met behulp van de bijgewerkte serverblokconfiguratie.

Conclusie

Door PHP te installeren via de Remi RPM-repository op CentOS Stream 9, zorgt u ervoor dat uw systeem is uitgerust met de nieuwste stabiele versies van PHP, waaronder 8.3, 8.2 en 8.1. Deze configuratie biedt u verbeterde prestaties, toegang tot de nieuwste functies en verbeterde beveiliging voor uw webapplicaties. Door PHP regelmatig bij te werken via de Remi-repository, blijft uw systeem veilig en up-to-date met de nieuwste ontwikkelingen in PHP. Geniet van de flexibiliteit en kracht die PHP biedt voor het bouwen en onderhouden van dynamische webapplicaties.

Joshua James
Volg mij
Laatste berichten van Joshua James (alles zien)

Plaats een reactie