Come installare PHP-FPM Come installare PHP-FPM con Apache su Ubuntu 20.04
Tags: apache, php, ubuntu, linux
Published: 2022-10-09 20:24:47

Come installare PHP-FPM con Apache su Ubuntu 20.04. Esistono due opzioni distinte per eseguire PHP utilizzando il server web. Uno utilizza il CGI di PHP e l'altro è FPM. FPM è un process manager per gestire FastCGI in PHP. Apache viene fornito con mod_phpper impostazione predefinita e funziona con tutti i principali server Web. Con mod_phpc'è un piccolo problema di prestazioni perché blocca il processo.

In questa guida imparerai come impostare PHP 8.1-FPM e configurarlo con Apache e anche configurare le variabili PHP.

[Clicca qui se invece hai bisogno invece di una guida per installatre PHP 8.1 su ubuntu 22.04 ](https://www.ircwebnet.com/2022/10/06/php-8-1-nginx-o-apache/)

Questa configurazione può essere eseguita anche su altri VPS o VM dedicate o cloud. Questa configurazione è testata su Google Compute Engine ma funziona su qualsiasi distribuzione Ubuntu o Debian Linux.

Iniziare
Assicurati che il tuo server Ubuntu abbia i pacchetti più recenti eseguendo il comando seguente.

`sudo apt update 
sudo apt update`
Ciò aggiornerà l'indice del pacchetto e aggiornerà i pacchetti installati all'ultima versione.

Passaggio 1: aggiungi PPA per PHP 8.1
Aggiungi il ondrej/phppacchetto PHP 8.1 e altre estensioni PHP richieste.

``sudo apt install software-properties-common 
sudo add-apt-repository ppa:ondrej/php 
sudo apt update`
Dopo aver aggiunto il PPA, puoi installare PHP 8.1.`

Passaggio 2: installare PHP 8.1 FPM
Ora installeremo PHP 8.1-FPM e alcuni moduli comuni per eseguire un'applicazione PHP come WordPress.

`sudo apt install php8.1-fpm php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8. 1-dev php8.1-imap php8.1-mbstring php8.1-soap php8.1-zip php8.1-bcmath -y`
Attendi il completamento dell'installazione.

Una volta completata l'installazione, verificare l'installazione 
utilizzando il comando seguente.

`stato del servizio sudo php8.1-fpm`
Riceverai un output simile a quello qui sotto.

`Produzione
● php8.1-fpm.service - Il Gestore di processi FastCGI PHP 8.1
     Caricato: caricato (/lib/systemd/system/php8.1-fpm.service; abilitato; preimpostazione del fornitore: abilitato)
     Attivo: attivo (in esecuzione) da Mar 2022-02-22 04:51:01 UTC; 3 minuti fa
       Documenti: man:php-fpm8.1(8)
    Processo: 564 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.s>
   PID principale: 471 (php-fpm8.1)
     Stato: "Processi attivi: 0, inattivo: 10, Richieste: 1068, lento: 0, Traffico: 0req/sec"
      Compiti: 11 (limite: 9529)
     Memoria: 1,2 G
     CGroup: /system.slice/php8.1-fpm.service`
Passaggio 3: installa Apache
Una volta che hai il tuo PHP-FPM attivo e funzionante, puoi installare il server web Apache.

`sudo apt install apache2`
Passaggio 4: configura Apache con PHP-FPM
Per impostazione predefinita utilizzerà Apache, mod_phpquindi ora puoi configurare Apache per utilizzare PHP-FPM.

Disabilita la configurazione predefinita di Apache vhost.

`sudo a2dissite 000-predefinito`
Abilita modulo eventi Apache
Disabilita tutti i moduli preformati predefiniti per tutte le versioni PHP esistenti.

`sudo a2dismod php7.4`
Disabilita il modulo Apache Prefork.

`sudo a2dismod mpm_prefork`
Abilita il modulo Evento Apache.

sudo a2enmod mpm_event proxy_fcgi setenvif
Abilita configurazione FPM PHP
Ora puoi abilitare la configurazione PHP-FPM.

`sudo a2enconf php8.1-fpm`
Abilita HTTP2
Se hai bisogno del supporto HTTP 2 puoi anche abilitarlo.

`sudo a2enmod http2`
Ora Apache è configurato con PHP FPM.

Passaggio 5: configurare PHP-FPM
Ora configuriamo PHP per le applicazioni Web modificando alcuni valori nel `php.inifile.`

Per PHP 8.1 con Nginx la php.iniposizione sarà nella seguente directory.

`sudo nano /etc/php/8.1/fpm/php.ini`
Premi F6per cercare all'interno dell'editor e aggiorna i seguenti valori per prestazioni migliori.

upload_max_filesize = 32M 
post_max_size = 48M 
memory_limit = 256M 
max_execution_time = 600 
max_input_vars = 3000 
max_input_time = 1000
Dopo aver modificato le impostazioni PHP, è necessario riavviare il PHP-FPM affinché le modifiche abbiano effetto.

riavvio del servizio sudo php8.1-fpm
Passaggio 6: configurare gli host virtuali Apache
Crea una nuova configurazione vhost Apache.

`sudo nano /etc/apache2/sites-disponibili/domain.conf`

Incolla la configurazione seguente nel file.

`<Host Virtuale *:80>
     Nomeserver dominio.com
     ServerAlias ​​www.dominio.com
     
     Protocolli h2 http/1.1

     DocumentRoot /var/www/html/domain/public

     <Directory /var/www/html/domain/public>
         Opzioni -Indici + FollowSymLinks
         Consenti Sostituisci tutto
         Richiedi tutto concesso
     </Directory>
 
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combinato  
</VirtualHost>`

Premi CTRL + Xseguito da Ye Enterper salvare e uscire dal file.

Ora puoi abilitare la nuova configurazione di Apache.

`sudo a2ensite dominio.conf`
Riavvia Apache.

`sudo service apache2 restart`
Passaggio 7: verifica PHP-FPM con Apache
Qui abbiamo configurato /var/www/html/domain/publiccome web root nella configurazione di Apache. Quindi ora puoi navigare in quella directory e creare un phpinfofile per controllare l'installazione.

`cd /var/www/html/dominio/pubblico
sudo nano info.php`
Incolla quanto segue.

`<?php phpinfo();`
Premi CTRL + Xseguito da Ye Enterper salvare e uscire dal file.

Ora vai sul tuo browser e puntalo all'indirizzo IP del tuo server o al nome di dominio seguito da info.php. Quindi il tuo indirizzo sarà simile a questohttp://domain.com/info.php

Vedrai la pagina delle informazioni di PHP e confermerai che PHP-FPM è utilizzato con Apache.

Conclusione
Ora hai imparato come installare PHP 8.1-FPM con Apache e configurare Apache. Hai anche imparato a configurare pool PHP-FPM per più utenti.