GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar PHP-FPM con Apache en Ubuntu 22.04

Cómo instalar PHP-FPM con Apache en Ubuntu 22.04. Hay dos opciones distintas para ejecutar PHP utilizando el servidor web. Uno está usando el CGI de PHP y el otro es FPM. FPM es un administrador de procesos para administrar FastCGI en PHP. Apache se envía con mod_php por defecto y funciona con todos los principales servidores web. Con mod_php hay un pequeño problema de rendimiento porque bloquea el proceso.

En esta guía, aprenderá cómo configurar PHP 8.1-FPM y configurarlo con Apache y también configurar variables de PHP.

Esta configuración también se puede realizar en otros VPS o máquinas virtuales dedicadas o en la nube. Esta configuración se prueba en Google Compute Engine, pero funciona en cualquier distribución Ubuntu o Debian Linux.

Primeros pasos

Asegúrese de que su servidor Ubuntu tenga los últimos paquetes ejecutando el siguiente comando.

sudo apt update
sudo apt upgrade

Esto actualizará el índice de paquetes y actualizará los paquetes instalados a la última versión.

Paso 1:Instalar PHP 8.1 FPM

De forma predeterminada, Ubuntu 22.04 tiene agregado el último repositorio de PHP 8.1. Entonces puedes instalar PHP usando el siguiente 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

Espere a que se complete la instalación.

Una vez que se complete la instalación, verifique la instalación con el siguiente comando.

sudo service php8.1-fpm status

Recibirá un resultado similar al siguiente.

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>
...

Paso 2:Instalar Apache

Una vez que tenga PHP-FPM en funcionamiento, puede instalar el servidor web Apache.

sudo apt install apache2

Verifique la versión de Apache usando el siguiente comando

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

Cada proceso en Apache se gestiona con el systemctl dominio. Verifique el estado de Apache con el siguiente 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

Paso 3:Configurar Apache con PHP-FPM

Por defecto, Apache usará mod_php ahora puede configurar Apache para usar PHP-FPM.

Deshabilite la configuración predeterminada de Apache vhost.

sudo a2dissite 000-default

Habilitar módulo de eventos de Apache

Deshabilite cualquier módulo de preforma predeterminado para cualquier versión de PHP existente.

sudo a2dismod php7.4

Deshabilite el módulo Apache Prefork.

sudo a2dismod mpm_prefork

Habilitar el módulo de eventos de Apache.

sudo a2enmod mpm_event proxy_fcgi setenvif

Habilitar configuración PHP FPM

Ahora puede habilitar la configuración de PHP-FPM.

sudo a2enconf php8.1-fpm

Habilitar HTTP2

Si necesita compatibilidad con HTTP 2, también puede habilitarla.

sudo a2enmod http2

Ahora Apache está configurado con PHP FPM.

Paso 4:Configurar PHP-FPM

Ahora configuramos PHP para Aplicaciones Web cambiando algunos valores en php.ini archivo.

Para PHP 8.1 con Nginx el php.ini la ubicación estará en el siguiente directorio.

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

Presiona F6 para buscar dentro del editor y actualizar los siguientes valores para un mejor rendimiento.

upload_max_filesize = 32M 
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000

Una vez que haya modificado la configuración de PHP, debe reiniciar su PHP-FPM para que los cambios surtan efecto.

sudo service php8.1-fpm restart

Paso 5:Configurar servidores virtuales de Apache

Cree una nueva configuración de Apache vhost.

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

Pegue la siguiente configuración en el archivo.

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

Presiona CTRL + X seguido de Y y Enter para guardar y salir del archivo.

Ahora puede habilitar la nueva configuración de Apache.

sudo a2ensite domain.conf

Reinicie Apache.

sudo service apache2 restart

Paso 6:Verificar PHP-FPM con Apache

Aquí hemos configurado /var/www/html/domain/public como raíz web en la configuración de Apache. Entonces ahora puede navegar a ese directorio y crear un phpinfo archivo para comprobar la configuración.

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

Pegue lo siguiente.

<?php phpinfo();

Presiona CTRL + X seguido de Y y Enter para guardar y salir del archivo.

Ahora vaya a su navegador y diríjalo a la dirección IP de su servidor o nombre de dominio seguido del info.php . Entonces su dirección se verá así http://domain.com/info.php

Verá la página de información de PHP y confirmará que PHP-FPM se usa con Apache.

Prepárese para un puesto de trabajo como profesional de tecnología de la información con sistema operativo Linux

Conclusión

Ahora ha aprendido cómo instalar PHP 8.1-FPM con Apache y configurar PHP en Ubuntu 22.04. También ha aprendido a configurar grupos de PHP-FPM para múltiples usuarios.


Linux
  1. ¿Cómo instalar Apache en Ubuntu?

  2. Instale phpMyAdmin en Ubuntu 20.04 con Apache

  3. Cómo instalar PHP-FPM con Apache en Ubuntu 20.04

  4. Instale phpMyAdmin en Ubuntu 22.04 con Apache

  5. Cómo instalar Apache Cassandra en Ubuntu 20.04

Cómo instalar Apache con PHP-FPM en Debian 10

Cómo instalar Drupal en un servidor Ubuntu 20.04 con Apache

Cómo instalar Apache en Ubuntu 20.04

Cómo instalar Apache Tomcat en Ubuntu 18.04

Cómo instalar Apache Tomcat 10 en Ubuntu 20.04 con Nginx

Cómo instalar Apache Tomcat 10 en Ubuntu 22.04 con Nginx