Cómo instalar PHP-FPM con Apache en Ubuntu 20.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:Agregar PPA para PHP 8.1
Añade el ondrej/php
que tiene el paquete PHP 8.1 y otras extensiones PHP requeridas.
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
Una vez que haya agregado el PPA, puede instalar PHP 8.1.
Paso 2:Instalar PHP 8.1 FPM
Ahora instalaremos PHP 8.1-FPM y algunos módulos comunes para ejecutar una aplicación PHP como 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
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-02-22 04:51:01 UTC; 3min ago Docs: man:php-fpm8.1(8) Process: 564 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.s> Main PID: 471 (php-fpm8.1) Status: "Processes active: 0, idle: 10, Requests: 1068, slow: 0, Traffic: 0req/sec" Tasks: 11 (limit: 9529) Memory: 1.2G CGroup: /system.slice/php8.1-fpm.service
Paso 3:Instalar Apache
Una vez que tenga PHP-FPM en funcionamiento, puede instalar el servidor web Apache.
sudo apt install apache2
Paso 4: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 5: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 6: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 7: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 Apache. También ha aprendido a configurar grupos de PHP-FPM para múltiples usuarios.