Come installare PHP su Rocky Linux 9/8

PHP è un popolare linguaggio di scripting generico particolarmente adatto allo sviluppo web. È veloce, flessibile e pragmatico e alimenta qualsiasi cosa, dai blog ai siti Web più popolari al mondo. PHP offre un ampio supporto per vari database, rendendolo uno strumento essenziale per lo scripting lato server.

La seguente guida mostrerà i passaggi per installare PHP su Rocky Linux 9 o 8 utilizzando i comandi della riga di comando. Il metodo di installazione prevede l'utilizzo del repository Remi RPM per le ultime build stabili di PHP 8.1, 8.2 e 8.3.

Importa repository RPM Remi PHP

Aggiorna Rocky Linux prima dell'installazione di PHP

Inizia aggiornando il tuo sistema Rocky Linux per prepararti all'installazione di PHP. Apri il terminale e inserisci:

sudo dnf upgrade --refresh

Importa il repository PHP Remi

Configurazione dell'archivio EPEL

EPEL (Extra Packages for Enterprise Linux) è fondamentale per pacchetti software aggiuntivi in ​​Rocky Linux. Di seguito sono riportate due opzioni per l'installazione di EPEL su Rocky Linux per l'ultima versione EL9 o EL8.

Importa EPEL per Rocky Linux 9

Abilita CRB

CRB fornisce l'accesso a più strumenti di sviluppo. Utilizzo:

sudo dnf config-manager --set-enabled crb
Installa i repository EPEL

Per ottenere le ultime versioni EPEL per Rocky Linux 9:

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

Incorpora il repository Remi progettato per EL 9:

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

Importa EPEL per Rocky Linux 8

Abilita il repository PowerTools

PowerTools è essenziale per gli strumenti di sviluppo PHP.

sudo dnf config-manager --set-enabled powertools
Abilita EPEL per Rocky Linux 8

Installa i repository EPEL per Rocky Linux 8:

sudo dnf install \
    https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \
    https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-8.noarch.rpm
Importa il repository Remi EL 8

Con EPEL installato, importa l'RPM Remi contenente PHP per EL 8:

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

Abilita PHP (8.x) dal repository Remi

Verifica delle versioni PHP

Inizia confermando le versioni PHP disponibili nel repository Remi. Ciò ti garantisce di avere accesso alla versione PHP desiderata.

Esegui nel terminale:

dnf module list php

Se richiesto, importa la chiave GPG per il repository di Remi digitando (Y).

Selezione della versione PHP

Abilita PHP 8.3

Per installare PHP 8.3, una versione stabile e recente, utilizzare:

sudo dnf module enable php:remi-8.3 -y

Abilita PHP 8.2

Per PHP 8.2, adatto per applicazioni che richiedono questa versione specifica:

sudo dnf module enable php:remi-8.2 -y

Abilita PHP 8.1

Per abilitare PHP 8.1, ideale per la compatibilità con alcune applicazioni:

sudo dnf module enable php:remi-8.1 -y

Finalizzare l'installazione di PHP

Installazione di PHP per il supporto Apache o Nginx

Dopo aver abilitato il repository Remi PHP, puoi installare PHP su misura per le esigenze del tuo server web, Apache o Nginx.

Installazione PHP Apache (httpd).

sudo dnf install php php-cli -y

Installazione di Nginx PHP

sudo dnf install php-fpm php-cli -y

Verifica dell'installazione di PHP

Conferma l'installazione di PHP eseguendo:

php -v

Installazione delle estensioni PHP

Installa le estensioni PHP essenziali in base alle esigenze del tuo progetto. Evita di installare tutte le estensioni per mantenere prestazioni e sicurezza ottimali.

Installazione standard

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

Installazione semplificata

Per un comando di installazione compatta:

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

Ora, analizziamo cosa fa ciascuna di queste estensioni PHP:

  • php-cli: Command Line Interface per PHP, utile per eseguire script PHP nella shell.
  • php-fpm: FastCGI Process Manager, utile per gestire e servire le richieste PHP.
  • php-curl: consente di connettersi e comunicare con diversi tipi di server e protocolli.
  • php-mysqlnd: MySQL Native Driver, utilizzato per le connessioni al database MySQL.
  • php-gd: Graphics Draw, utile per creare e manipolare file di immagine.
  • php-opcache: Opcode Cache, utilizzato per velocizzare l'esecuzione di PHP.
  • php-zip: consente di lavorare con archivi zip.
  • php-intl: Estensione di internazionalizzazione per lavorare con set di caratteri e impostazioni locali internazionali.
  • php-comune: file e impostazioni comuni utilizzati da più moduli PHP.
  • php-bcmath: Il calcolatore binario consente matematica di precisione arbitraria.
  • php-imagick: fornisce metodi per creare e modificare immagini utilizzando la libreria ImageMagick.
  • php-xmlrpc: consente la creazione di un server XML-RPC e semplifica l'invio di richieste XML-RPC.
  • php-json: estensione JSON (JavaScript Object Notation) per la codifica e la decodifica dei dati JSON.
  • php-readline: Permette di leggere una riga di dati dal terminale.
  • php-memcached: Fornisce la memorizzazione nella cache degli oggetti di memoria distribuita e veloce.
  • php-redis: Estensione PHP per l'interfacciamento con Redis.
  • php-mbstring: Stringa multibyte per la gestione di stringhe non ASCII.
  • php-apcu: APC User Cache, un'estensione di caching dell'area utente basata su APC.
  • php-xml: Parser XML per l'analisi di documenti XML.
  • php-dom: Document Object Model, per manipolare documenti XML in modo orientato agli oggetti.
  • php-memcache: Fornisce una comoda interfaccia procedurale e orientata agli oggetti a memcached.
  • php-soap: utilizzato per scrivere server e client SOAP.
  • php-ldap: Lightweight Directory Access Protocol utilizzato per accedere e gestire le informazioni della directory.
  • php-pdo: PHP Data Objects, un livello di accesso al database che fornisce un metodo di accesso uniforme a più database.

È possibile utilizzare il comando seguente per visualizzare i moduli caricati in qualsiasi momento.

php -m

Per garantire l'efficienza delle prestazioni, si consiglia il monitoraggio regolare e la rimozione dei moduli non necessari.

Installazione degli strumenti di sviluppo PHP

Per scopi di sviluppo, installa il ramo di sviluppo PHP e gli strumenti di debug:

Ramo di sviluppo PHP

sudo dnf install php-devel

Strumenti di debug PHP

sudo dnf install php-xdebug php-pcov

È importante notare che l'installazione di questa versione introdurrà più dipendenze e non è consigliabile farlo a meno che tu non ne abbia una necessità specifica nello sviluppo PHP o qualsiasi requisito speciale.

Configura l'utente Nginx PHP-FPM su Rocky Linux

Adeguamento di PHP-FPM per Nginx

Le distribuzioni basate su RHEL come Rocky Linux utilizzano per impostazione predefinita l'utente "Apache" per PHP-FPM, che non è adatto per le configurazioni Nginx. È essenziale modificarlo per un funzionamento ottimale con Nginx.

Modifica della configurazione PHP-FPM

Apri il file di configurazione

Accedi al www.conf file da modificare:

sudo nano /etc/php-fpm.d/www.conf
Modifica le impostazioni dell'utente e del gruppo

Cambia l'utente e il gruppo Apache in Nginx all'interno del file.

Modifica post:

Salva le modifiche premendo (CTRL+O), quindi esci con (CTRL+X).

Riavviare il servizio PHP-FPM

Dopo aver modificato la configurazione, riavvia PHP-FPM per applicare le modifiche:

sudo systemctl restart php-fpm

Esempio di codice di blocco del server Nginx PHP-FPM

Configurazione di Nginx per l'elaborazione PHP

Per consentire a Nginx di gestire i file PHP, il blocco server deve essere configurato correttamente. L'esempio seguente dimostra la configurazione necessaria all'interno di server{} blocco per l'elaborazione di file PHP.

Configurazione Nginx PHP-FPM
    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;
    }

Convalida della configurazione Nginx

Dopo aver aggiornato la configurazione, convalidarla per garantire l'assenza di errori di sintassi.

sudo nginx -t

L'output previsto dovrebbe confermare che la configurazione è corretta:

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

Riavvio del servizio Nginx

Per applicare le modifiche, riavviare il servizio Nginx:

sudo systemctl restart nginx

Questo riavvio è essenziale per le modifiche e affinché Nginx inizi a elaborare i file PHP con la nuova configurazione.

Conclusione

Va bene, questo conclude il nostro viaggio! Abbiamo configurato con successo PHP su Rocky Linux, ottimizzandolo per Apache o Nginx e ottimizzando PHP-FPM per prestazioni ottimali. Ricorda, controllare regolarmente i moduli e le configurazioni PHP garantisce che le cose funzionino senza intoppi. E non dimenticare di riavviare i servizi dopo eventuali modifiche.

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

Lascia un commento