Sådan installeres PHP på CentOS Stream 9

PHP er et udbredt server-side scripting sprog designet til webudvikling, men også brugt som et generelt programmeringssprog. Det er især begunstiget til at skabe dynamiske og interaktive websteder. Installation af de nyeste versioner af PHP, såsom 8.3, 8.2 eller 8.1, sikrer, at du har adgang til de nyeste funktioner, ydeevneforbedringer og sikkerhedsrettelser. På CentOS Stream 9 kan du nemt installere disse versioner ved hjælp af Remi RPM-lageret, som er kendt for at levere opdaterede PHP-pakker.

Denne guide vil lede dig gennem processen med at aktivere Remi-lageret og installere de seneste PHP-builds på CentOS Stream 9.

Importer Remi PHP RPM på CentOS

Opdatering af CentOS Stream før PHP-installation

Det er afgørende at starte med at opdatere dit CentOS Stream-system for at sikre, at alle eksisterende pakker er opdaterede. Dette trin er afgørende for systemets stabilitet og sikkerhed.

Åbn din terminal og udfør følgende kommando for at opdatere dit system:

sudo dnf upgrade --refresh

Denne kommando opdaterer din pakkedatabase og opgraderer alle de installerede pakker til deres seneste tilgængelige versioner.

Importerer Remi PHP RPM Repository

Remi PHP-depotet er et tredjeparts-depot, der tilbyder de nyeste PHP-versioner. Før du tilføjer Remi-lageret, skal du installere EPEL-lageret, som giver ekstra pakker til Enterprise Linux.

Først anbefales aktivering af CodeReady Linux Builder (CRB)-lageret, selvom det er valgfrit. Det giver yderligere udviklerværktøjer og biblioteker. Aktiver CRB med:

sudo dnf config-manager --set-enabled crb

Når du har aktiveret CRB, skal du installere EPEL-depotet til EL9 ved hjælp af:

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

Importer endelig Remi PHP-depotet til EL9:

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

Aktivering af PHP Remi Repository på CentOS Stream

Liste over tilgængelige PHP-moduler

Før du installerer PHP, er det vigtigt at identificere de tilgængelige PHP-versioner i Remi-lageret. Dette trin hjælper dig med at træffe en informeret beslutning om, hvilken version du skal installere.

Brug følgende kommando til at liste alle PHP-moduler:

dnf module list php

Denne kommando viser alle de tilgængelige PHP-versioner i Remi-lageret. Det er et afgørende skridt for at sikre, at du vælger en version, der bedst passer til dine krav.

Importerer GPG-nøgle til Remi's Repository

Når du bliver bedt om det, skal du bekræfte importen af ​​GPG-nøglen til Remis repository. Dette trin er vigtigt af sikkerhedsmæssige årsager, da det verificerer ægtheden af ​​de pakker, du er ved at installere. Indtast 'Y', når du bliver bedt om at fortsætte med importen.

Aktivering af din ønskede PHP-version

Efter at have bekræftet de tilgængelige PHP-versioner, kan du aktivere den specifikke version, der passer til dine behov. Det er tilrådeligt at vælge en stabil og velunderstøttet version af PHP til dine projekter.

For at aktivere en specifik PHP-version fra Remi-lageret skal du bruge følgende kommandoer:

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

Hver kommando aktiverer en anden version af PHP fra Remi-lageret. Vælg den kommando, der svarer til den version, du ønsker at installere. Flaget '-y' i disse kommandoer angiver automatisk bekræftelse af installationen, hvilket strømliner processen.

Installer PHP 8.3, 8.2 eller 8.1 på CentOS Stream

Valg af webserver til PHP-installation

At vælge den passende webserver er et vigtigt skridt i opsætningen af ​​PHP. CentOS Stream understøtter både Apache og Nginx, der hver kræver forskellige PHP-pakker.

Apache (httpd) PHP installation

For dem, der bruger Apache som deres webserver, installerer følgende kommando PHP sammen med PHP Command Line Interface (CLI), som er afgørende for at køre PHP-scripts fra kommandolinjen:

sudo dnf install php php-cli -y

Nginx PHP installation

Hvis du bruger Nginx, skal du installere PHP FastCGI Process Manager (FPM) sammen med PHP CLI. PHP-FPM er en alternativ PHP FastCGI-implementering, der er yderst effektiv til websteder med stor trafik:

sudo dnf install php-fpm php-cli -y

Bekræftelse af PHP-installation

Efter installationen er det vigtigt at bekræfte, at PHP er korrekt installeret. Kør følgende kommando for at kontrollere den installerede PHP-version:

php -v

Denne kommando viser den aktuelle PHP-version, hvilket bekræfter vellykket installation.

Installation af almindelige PHP-udvidelser

For at forbedre PHP-funktionaliteten skal du muligvis installere yderligere udvidelser. Kommandoen nedenfor installerer almindeligt anvendte PHP-udvidelser, som er afgørende for forskellige CMS-platforme og udviklingsbehov:

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

Det er tilrådeligt at gennemgå og udelade eventuelle udvidelser, der ikke er nødvendige for din opsætning.

Visning af indlæste PHP-moduler

For at inspicere de aktuelt indlæste PHP-moduler skal du udføre:

php -m

Regelmæssig overvågning og beskæring af unødvendige moduler anbefales for at opretholde optimal systemydelse.

Installation af PHP Development Branch

Til specifikke udviklingskrav har du muligvis brug for PHP-udviklingsgrenen. Installer det med:

sudo dnf install php-devel

Bemærk: Denne installation introducerer flere afhængigheder. Fortsæt kun, hvis der er et specifikt behov i dit PHP-udviklingsmiljø.

Tilføjelse af PHP-udviklingsværktøjer

For avancerede udviklingsfunktioner, herunder fejlretning, skal du installere yderligere værktøjer ved hjælp af:

sudo dnf install php-xdebug php-pcov

Disse værktøjer er vigtige for fejlfinding og analyse af kodedækning i PHP, men vær forsigtig med de yderligere afhængigheder, de introducerer.

Konfiguration af Nginx-bruger til PHP-FPM på CentOS Stream

Redigering af PHP-FPM-konfiguration for Nginx

I CentOS Stream er standardbrugeren for PHP-FPM sat til 'Apache', hvilket ikke er kompatibelt med Nginx-opsætninger. For at optimere PHP-FPM til Nginx er en konfigurationsændring nødvendig.

Adgang til PHP-FPM-konfiguration

Start med at åbne PHP-FPM-konfigurationsfilen. Denne fil indeholder indstillinger, der er specifikke for, hvordan PHP-FPM interagerer med din webserver. Brug følgende kommando til at redigere www.conf-filen:

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

Denne kommando starter Nano-teksteditoren med PHP-FPM-konfigurationsfilen.

Ændring af bruger- og gruppeindstillinger

I konfigurationsfilen skal du finde linjerne, der angiver brugeren og gruppen. Som standard er disse indstillet til 'Apache'. Skift både brugeren og gruppen til 'Nginx' for at tilpasse PHP-FPM-tjenesten med Nginx:

; Unix bruger/gruppe af processer ; Bemærk: Brugeren er obligatorisk. Hvis gruppen ikke er indstillet, vil standardbrugerens gruppe ; vil blive brugt. ; RPM: apache Valgt for at kunne få adgang til nogle dir som httpd-bruger = nginx ; RPM: Hold en gruppe lov til at skrive i log-dir. gruppe = nginx

Her er et fungerende visuelt eksempel:

Gemmer og afslutter konfigurationsfilen

Når du har foretaget ændringerne, skal du gemme filen ved at trykke på CTRL+O og derefter afslutte med CTRL+X. Denne handling gemmer ændringerne og lukker Nano-editoren.

Genstarter PHP-FPM Service

For at anvende ændringerne skal du genstarte PHP-FPM-tjenesten ved hjælp af:

sudo systemctl restart php-fpm

Denne kommando sikrer, at PHP-FPM begynder at køre under Nginx-brugeren og -gruppen, hvilket sikrer kompatibilitet og forbedret sikkerhed for din Nginx-webserveropsætning på CentOS Stream.

Eksempel på Nginx PHP-FPM-serverblokkode

Konfiguration af Nginx Server Block til PHP-behandling

For at aktivere PHP-behandling i Nginx på CentOS Stream skal serverblokken i Nginx-konfigurationsfilen ændres. Følgende eksempel viser den nødvendige konfiguration til håndtering af PHP-filer. Denne opsætning kræver specificering af PHP-lokationsblokken.

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

Denne kode sikrer, at Nginx håndterer PHP-filer korrekt og omdirigerer dem til PHP-FPM-processoren. Her er en hurtig oversigt:

  • placering ~ .php$: Dette direktiv fortæller Nginx at anvende følgende regler på enhver fil, der ender på .php. Tilde ~ angiver, at dette er et regulært udtryksmatch.
  • try_files $uri =404: Denne linje kontrollerer, om PHP-filen findes på den angivne URI. Hvis det ikke gør det, returnerer Nginx en 404-fejl. Dette er en sikkerhedsforanstaltning for at forhindre uautoriseret scriptudførelse.
  • fastcgi_pass unix:/run/php-fpm/www.sock;: Dette direktiv specificerer den socket, hvor PHP-FPM-tjenesten lytter. I dette tilfælde sender Nginx PHP-anmodningerne til PHP-FPM-processen gennem /run/php-fpm/www.sock-socket.
  • fastcgi_index index.php;: Dette indstiller index.php som standardscriptet, der skal udføres, når der tilgås en mappe.
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;: Denne linje indstiller parameteren SCRIPT_FILENAME, som er essentiel for PHP-FPM at finde scriptfilen på filsystemet. Den kombinerer dokumentroden med scriptnavnet.
  • include fastcgi_params;: Dette inkluderer standard FastCGI-parametrene leveret af Nginx. Disse er standardindstillinger, der kræves for at PHP-FPM kan fungere korrekt.

Denne konfiguration sikrer, at Nginx håndterer PHP-anmodninger korrekt ved at sende dem til PHP-FPM-tjenesten til behandling, et afgørende trin for at køre PHP-baserede websteder og applikationer på en Nginx-server.

Bekræfter Nginx-konfiguration

Efter opdatering af serverblokken skal du kontrollere Nginx-konfigurationen for eventuelle syntaksfejl med følgende kommando:

sudo nginx -t

Eksempel på output, der bekræfter en vellykket syntakskontrol:

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

Dette trin sikrer, at din Nginx-konfiguration er fri for syntaksfejl og klar til implementering.

Genstarter Nginx Service

For at anvende PHP-FPM-konfigurationsændringerne skal du genstarte Nginx-tjenesten:

sudo systemctl restart nginx

Denne genstart gør ændringerne effektive, hvilket giver Nginx mulighed for at behandle PHP-filer ved hjælp af den opdaterede serverblokkonfiguration.

Konklusion

Ved at installere PHP gennem Remi RPM-lageret på CentOS Stream 9 sikrer du, at dit system er udstyret med de seneste stabile versioner af PHP, inklusive 8.3, 8.2 og 8.1. Denne opsætning giver dig forbedret ydeevne, adgang til de nyeste funktioner og forbedret sikkerhed for dine webapplikationer. Regelmæssig opdatering af PHP gennem Remi-lageret vil holde dit system sikkert og opdateret med den seneste udvikling inden for PHP. Nyd den fleksibilitet og kraft, som PHP tilbyder til at bygge og vedligeholde dynamiske webapplikationer.

Joshua James
Følg mig
Seneste indlæg af Joshua James (se alt)

Skriv en kommentar