Come installare PHP su CentOS Stream 9

PHP è un linguaggio di scripting lato server ampiamente utilizzato progettato per lo sviluppo web ma utilizzato anche come linguaggio di programmazione generico. È particolarmente indicato per la creazione di siti Web dinamici e interattivi. L'installazione delle versioni più recenti di PHP, come 8.3, 8.2 o 8.1, ti garantisce l'accesso alle funzionalità più recenti, ai miglioramenti delle prestazioni e alle patch di sicurezza. Su CentOS Stream 9, puoi installare facilmente queste versioni utilizzando il repository Remi RPM, noto per fornire pacchetti PHP aggiornati.

Questa guida ti guiderà attraverso il processo di abilitazione del repository Remi e di installazione delle ultime build PHP su CentOS Stream 9.

Importa Remi PHP RPM su CentOS

Aggiornamento di CentOS Stream prima dell'installazione di PHP

È fondamentale iniziare aggiornando il tuo sistema CentOS Stream per garantire che tutti i pacchetti esistenti siano aggiornati. Questo passaggio è essenziale per la stabilità e la sicurezza del sistema.

Apri il tuo terminale ed esegui il seguente comando per aggiornare il tuo sistema:

sudo dnf upgrade --refresh

Questo comando aggiorna il database dei pacchetti e aggiorna tutti i pacchetti installati alle ultime versioni disponibili.

Importazione del repository RPM Remi PHP

Il repository Remi PHP è un repository di terze parti che offre le ultime versioni PHP. Prima di aggiungere il repository Remi, è necessario installare il repository EPEL, che fornisce pacchetti aggiuntivi per Enterprise Linux.

Innanzitutto, è consigliabile abilitare il repository CodeReady Linux Builder (CRB), anche se facoltativo. Fornisce strumenti e librerie per sviluppatori aggiuntivi. Abilita CRB con:

sudo dnf config-manager --set-enabled crb

Dopo aver abilitato CRB, installa il repository EPEL per EL9 utilizzando:

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

Infine, importa il repository Remi PHP per EL9:

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

Abilitazione del repository PHP Remi su CentOS Stream

Elenco dei moduli PHP disponibili

Prima di installare PHP, è essenziale identificare le versioni PHP disponibili nel repository Remi. Questo passaggio ti aiuta a prendere una decisione informata su quale versione installare.

Utilizza il seguente comando per elencare tutti i moduli PHP:

dnf module list php

Questo comando visualizza tutte le versioni PHP disponibili nel repository Remi. È un passaggio cruciale per assicurarti di scegliere la versione che meglio si adatta alle tue esigenze.

Importazione della chiave GPG per il repository di Remi

Quando richiesto, è necessario confermare l'importazione della chiave GPG per il repository di Remi. Questo passaggio è fondamentale per motivi di sicurezza, poiché verifica l'autenticità dei pacchetti che stai per installare. Inserisci "Y" quando ti viene chiesto di procedere con l'importazione.

Attivazione della versione PHP desiderata

Dopo aver confermato le versioni PHP disponibili, puoi abilitare la versione specifica adatta alle tue esigenze. È consigliabile selezionare una versione stabile e ben supportata di PHP per i tuoi progetti.

Per abilitare una versione PHP specifica dal repository Remi, utilizzare i seguenti comandi:

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

Ogni comando attiva una versione diversa di PHP dal repository Remi. Scegli il comando che corrisponde alla versione che desideri installare. Il flag '-y' in questi comandi indica la conferma automatica dell'installazione, semplificando il processo.

Installa PHP 8.3, 8.2 o 8.1 su CentOS Stream

Scelta del Web Server per l'installazione di PHP

La selezione del server web appropriato è un passaggio fondamentale nella configurazione di PHP. CentOS Stream supporta sia Apache che Nginx, ciascuno dei quali richiede pacchetti PHP diversi.

Installazione PHP Apache (httpd).

Per coloro che utilizzano Apache come server web, il seguente comando installa PHP insieme alla PHP Command Line Interface (CLI), essenziale per eseguire script PHP dalla riga di comando:

sudo dnf install php php-cli -y

Installazione di Nginx PHP

Se utilizzi Nginx, dovrai installare PHP FastCGI Process Manager (FPM) insieme alla CLI PHP. PHP-FPM è un'implementazione alternativa di PHP FastCGI altamente efficiente per i siti con traffico intenso:

sudo dnf install php-fpm php-cli -y

Verifica dell'installazione di PHP

Dopo l'installazione, è importante verificare che PHP sia installato correttamente. Esegui il comando seguente per verificare la versione PHP installata:

php -v

Questo comando visualizza la versione corrente di PHP, verificando la corretta installazione.

Installazione di estensioni PHP comuni

Per migliorare la funzionalità PHP, potrebbe essere necessario installare estensioni aggiuntive. Il comando seguente installa le estensioni PHP comunemente utilizzate, che sono vitali per varie piattaforme CMS e esigenze di sviluppo:

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

È consigliabile rivedere e omettere eventuali estensioni non necessarie per la configurazione.

Visualizzazione dei moduli PHP caricati

Per ispezionare i moduli PHP attualmente caricati, eseguire:

php -m

Si consiglia di monitorare ed eliminare regolarmente i moduli non necessari per mantenere prestazioni ottimali del sistema.

Installazione del ramo di sviluppo PHP

Per requisiti di sviluppo specifici, potresti aver bisogno del ramo di sviluppo PHP. Installalo con:

sudo dnf install php-devel

Nota: questa installazione introduce più dipendenze. Procedi solo se esiste un'esigenza specifica nel tuo ambiente di sviluppo PHP.

Aggiunta di strumenti di sviluppo PHP

Per funzionalità di sviluppo avanzate, incluso il debug, installa strumenti aggiuntivi utilizzando:

sudo dnf install php-xdebug php-pcov

Questi strumenti sono essenziali per il debug e l'analisi della copertura del codice in PHP, ma fai attenzione alle dipendenze aggiuntive che introducono.

Configurazione dell'utente Nginx per PHP-FPM su CentOS Stream

Modifica della configurazione PHP-FPM per Nginx

In CentOS Stream, l'utente predefinito per PHP-FPM è impostato su "Apache", che non è compatibile con le configurazioni Nginx. Per ottimizzare PHP-FPM per Nginx è necessaria una modifica alla configurazione.

Accesso alla configurazione PHP-FPM

Inizia aprendo il file di configurazione PHP-FPM. Questo file contiene impostazioni specifiche su come PHP-FPM interagisce con il tuo server web. Usa il seguente comando per modificare il file www.conf:

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

Questo comando avvia l'editor di testo Nano con il file di configurazione PHP-FPM.

Modifica delle impostazioni dell'utente e del gruppo

Nel file di configurazione, individuare le righe che specificano l'utente e il gruppo. Per impostazione predefinita, questi sono impostati su "Apache". Modifica sia l'utente che il gruppo in "Nginx" per allineare il servizio PHP-FPM con Nginx:

; Utente/gruppo di processi Unix; Nota: l'utente è obbligatorio. Se il gruppo non è impostato, il gruppo dell'utente predefinito ; verrà utilizzato. ; RPM: apache ha scelto di poter accedere ad alcune directory come httpd user = nginx; RPM: mantiene un gruppo autorizzato a scrivere nella directory di registro. gruppo = nginx

Ecco un esempio visivo funzionante:

Salvataggio e uscita dal file di configurazione

Dopo aver apportato le modifiche, salva il file premendo CTRL+O e poi esci con CTRL+X. Questa azione salva le modifiche e chiude l'editor Nano.

Riavvio del servizio PHP-FPM

Per applicare le modifiche, riavviare il servizio PHP-FPM utilizzando:

sudo systemctl restart php-fpm

Questo comando garantisce che PHP-FPM venga eseguito sotto l'utente e il gruppo Nginx, garantendo compatibilità e maggiore sicurezza per la configurazione del server Web Nginx su CentOS Stream.

Esempio di codice di blocco del server Nginx PHP-FPM

Configurazione del blocco server Nginx per l'elaborazione PHP

Per abilitare l'elaborazione PHP in Nginx su CentOS Stream, il blocco server all'interno del file di configurazione Nginx deve essere modificato. L'esempio seguente illustra la configurazione necessaria per la gestione dei file PHP. Questa configurazione richiede di specificare il blocco di posizione PHP.

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

Questo codice garantisce che Nginx gestisca correttamente i file PHP, reindirizzandoli al processore PHP-FPM. Ecco una rapida ripartizione:

  • location ~ .php$: questa direttiva dice a Nginx di applicare le seguenti regole a qualsiasi file che termina con .php. La tilde ~ indica che si tratta di una corrispondenza di espressione regolare.
  • try_files $uri =404: questa riga controlla se il file PHP esiste nell'URI specificato. In caso contrario, Nginx restituisce un errore 404. Questa è una misura di sicurezza per impedire l'esecuzione di script non autorizzata.
  • fastcgi_pass unix:/run/php-fpm/www.sock;: questa direttiva specifica il socket su cui è in ascolto il servizio PHP-FPM. In questo caso, Nginx passa le richieste PHP al processo PHP-FPM attraverso il socket /run/php-fpm/www.sock.
  • fastcgi_index index.php;: imposta index.php come script predefinito da eseguire quando si accede a una directory.
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;: Questa riga imposta il parametro SCRIPT_FILENAME, che è essenziale affinché PHP-FPM trovi il file di script sul filesystem. Combina la radice del documento con il nome dello script.
  • include fastcgi_params;: include i parametri FastCGI predefiniti forniti da Nginx. Queste sono le impostazioni standard necessarie affinché PHP-FPM funzioni correttamente.

Questa configurazione garantisce che Nginx gestisca correttamente le richieste PHP trasmettendole al servizio PHP-FPM per l'elaborazione, un passaggio cruciale per l'esecuzione di siti Web e applicazioni basati su PHP su un server Nginx.

Verifica della configurazione di Nginx

Dopo aver aggiornato il blocco server, verifica la configurazione di Nginx per eventuali errori di sintassi con il seguente comando:

sudo nginx -t

Output di esempio che conferma un controllo della sintassi riuscito:

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

Questo passaggio garantisce che la configurazione di Nginx sia priva di errori di sintassi e pronta per l'implementazione.

Riavvio del servizio Nginx

Per applicare le modifiche alla configurazione PHP-FPM, riavvia il servizio Nginx:

sudo systemctl restart nginx

Questo riavvio rende effettive le modifiche, consentendo a Nginx di elaborare i file PHP utilizzando la configurazione aggiornata del blocco del server.

Conclusione

Installando PHP tramite il repository Remi RPM su CentOS Stream 9, ti assicuri che il tuo sistema sia dotato delle ultime versioni stabili di PHP, incluse 8.3, 8.2 e 8.1. Questa configurazione ti offre prestazioni migliorate, accesso alle funzionalità più recenti e maggiore sicurezza per le tue applicazioni web. L'aggiornamento regolare di PHP tramite il repository Remi manterrà il tuo sistema sicuro e aggiornato con gli ultimi sviluppi di PHP. Goditi la flessibilità e la potenza offerte da PHP per la creazione e la manutenzione di applicazioni Web dinamiche.

Joshua James
Seguimi
Ultimi post di Joshua James (vedi tutto)

Lascia un commento