GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare PHP-FPM con Apache su Ubuntu 22.04

Come installare PHP-FPM con Apache su Ubuntu 22.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_php per impostazione predefinita e funziona con tutti i principali server web. Con mod_php c'è 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 variabili PHP.

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.

Per iniziare

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

sudo apt update
sudo apt upgrade

Questo aggiornerà l'indice del pacchetto e aggiornerà i pacchetti installati all'ultima versione.

Fase 1:installa PHP 8.1 FPM

Per impostazione predefinita, Ubuntu 22.04 ha l'ultimo repository PHP 8.1 aggiunto. Quindi puoi installare PHP usando il seguente comando.

sudo apt install php8.1-fpm php8.1 libapache2-mod-php8.1 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-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl php8.1-bcmath unzip -y

Attendi il completamento dell'installazione.

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

sudo service php8.1-fpm status

Riceverai un output simile a quello qui sotto.

Output
● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-05-08 05:42:31 UTC; 2min ago
       Docs: man:php-fpm8.1(8)
    Process: 564 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.s>
...

Fase 2:installa Apache

Una volta che hai il tuo PHP-FPM attivo e funzionante, puoi installare il server web Apache.

sudo apt install apache2

Controlla la versione di Apache usando il comando seguente

sudo apachectl -v
Output
Server version: Apache/2.4.52 (Ubuntu)
Server built:   2022-03-25T00:35:40

Ogni processo in Apache è gestito con systemctl comando. Controlla lo stato di Apache con il seguente comando.

sudo systemctl status apache2
Output
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-05-08 05:45:29 UTC; 1min 47s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 12782 (apache2)
      Tasks: 55 (limit: 1151)
     Memory: 5.1M
        CPU: 52ms
     CGroup: /system.slice/apache2.service
             ├─12782 /usr/sbin/apache2 -k start
             ├─12784 /usr/sbin/apache2 -k start
             └─12785 /usr/sbin/apache2 -k start

Fase 3:configura Apache con PHP-FPM

Per impostazione predefinita Apache utilizzerà mod_php quindi ora puoi configurare Apache per utilizzare PHP-FPM.

Disabilita la configurazione predefinita di Apache vhost.

sudo a2dissite 000-default

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 PHP FPM

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.

Fase 4:configura PHP-FPM

Ora configuriamo PHP per le applicazioni Web modificando alcuni valori in php.ini file.

Per PHP 8.1 con Nginx il php.ini la posizione sarà nella directory seguente.

sudo nano /etc/php/8.1/fpm/php.ini

Premi F6 per cercare all'interno dell'editor e aggiornare 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.

sudo service php8.1-fpm restart

Passaggio 5:configurare gli host virtuali Apache

Crea una nuova configurazione vhost Apache.

sudo nano /etc/apache2/sites-available/domain.conf

Incolla la configurazione seguente nel file.

<VirtualHost *:80>
     ServerName domain.com
     ServerAlias www.domain.com
     
     Protocols h2 http/1.1

     DocumentRoot /var/www/html/domain/public

     <Directory /var/www/html/domain/public>
         Options -Indexes +FollowSymLinks
         AllowOverride All
         Require all granted
     </Directory>
 
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined  
</VirtualHost> 

Premi CTRL + X seguito da Y e Enter per salvare ed uscire dal file.

Ora puoi abilitare la nuova configurazione di Apache.

sudo a2ensite domain.conf

Riavvia Apache.

sudo service apache2 restart

Passaggio 6:verifica PHP-FPM con Apache

Qui abbiamo configurato /var/www/html/domain/public come web root nella configurazione di Apache. Quindi ora puoi navigare in quella directory e creare un phpinfo per verificare l'impostazione.

cd /var/www/html/domain/public
sudo nano info.php

Incolla quanto segue.

<?php phpinfo();

Premi CTRL + X seguito da Y e Enter per salvare ed uscire dal file.

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

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

Preparati per un ruolo di Professionista dell'Information Technology con sistema operativo Linux

Conclusione

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


Linux
  1. Come installare Apache su Ubuntu?

  2. Installa phpMyAdmin su Ubuntu 20.04 con Apache

  3. Come installare PHP-FPM con Apache su Ubuntu 20.04

  4. Installa phpMyAdmin su Ubuntu 22.04 con Apache

  5. Come installare Apache Cassandra su Ubuntu 20.04

Come installare Apache con PHP-FPM su Debian 10

Come installare Drupal su un server Ubuntu 20.04 con Apache

Come installare Apache su Ubuntu 20.04

Come installare Apache Tomcat su Ubuntu 18.04

Come installare Apache Tomcat 10 su Ubuntu 20.04 con Nginx

Come installare Apache Tomcat 10 su Ubuntu 22.04 con Nginx