En este artículo, habremos explicado los pasos necesarios para instalar y configurar Apache con PHP-FPM en CentOS 8. Antes de continuar con este tutorial, asegúrese de haber iniciado sesión como un usuario con sudo
privilegios Todos los comandos de este tutorial deben ejecutarse como un usuario no root.
Prerrequisito:
- Sistema Operativo con CentOS 8
- Dirección IPv4 del servidor con privilegios de superusuario (acceso raíz)
- Terminal Gnome para escritorio Linux
- Cliente PuTTy SSH para Windows o macOS
- Powershell para Windows 10/11
- Familiarizarse con los comandos DNF
Instalar Apache con PHP-FPM en CentOS 8
Paso 1. El primer comando actualizará las listas de paquetes para garantizar que obtenga la versión y las dependencias más recientes.
sudo dnf update
Paso 2. Instala Apache.
Apache está disponible en los repositorios predeterminados de CentOS, está listo para instalar Apache:
sudo dnf install httpd httpd-tools mod_ssl
Una vez completada la instalación, habilite e inicie el servicio Apache:
sudo systemctl enable httpd sudo systemctl start httpd
También puede verificar la versión de su servidor web para asegurarse de que se instaló correctamente:
httpd -v
Durante la instalación, Apache crea archivos de servicio con firewall con reglas predefinidas para permitir el acceso a los puertos HTTP (80) y HTTPS (443). Los siguientes comandos abrirán permanentemente los puertos necesarios:
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
Paso 3. Instale PHP con PHP-FPM.
Para instalar PHP 7.4, puede habilitar el repositorio de Remi ejecutando el siguiente comando:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Luego, habilite la versión apropiada:
sudo dnf module reset php sudo dnf module enable php:remi-7.4
El siguiente comando instalará PHP-FPM y algunos de los módulos PHP más comunes:
sudo dnf update sudo apt install php php-fpm php-gd php-mysqlnd
PHP utiliza FPM instalado como dependencia y utilizado como servidor FastCGI. Inicie el servicio FPM y habilítelo para que se inicie automáticamente al arrancar:
sudo systemctl enable --now php-fpm sudo systemctl start php-fpm
Paso 4. Configurar PHP-FPM.
Comencemos el proceso de configuración. Primero, edite el archivo de configuración de PHP-FPM para Apache:
sudo nano /etc/php-fpm.d/www.conf
; listen = 127.0.0.1:9000 listen = /run/php-fpm/www.sock user = apache group = apache listen.allowed_clients = 127.0.0.1 listen.owner = apache listen.group = apache listen.mode = 0660 pm = dynamic
Reinicie el servicio php-fpm usando el siguiente comando y estará listo para comenzar:
sudo systemctl restart php-fpm
Paso 5. Cree Apache VirtualHost.
Ahora, es el momento de configurar Apache para usar php-fpm para procesar archivos PHP. Para este ejemplo, estoy configurando FPM solo para un host virtual específico:
sudo nano /etc/httpd/conf.d/example.com.conf
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html ServerName example.com ServerAlias www.example.com # Proxy declaration <Proxy "unix:/run/php-fpm/www.sock|fcgi://php-fpm"> # we must declare a parameter in here (doesn't matter which) or # it'll not register the proxy ahead of time ProxySet disablereuse=off # Note: If you configure php-fpm to use the "pm = ondemand" #then use "ProxySet disablereuse=on" </Proxy> <FilesMatch \.php$> SetHandler proxy:fcgi://php-fpm </FilesMatch> ErrorLog logs/example.com-error.log CustomLog logs/example.com-access.log combined </VirtualHost>
Guarde el archivo de configuración del host virtual y vuelva a cargar Apache para aplicar los cambios:
sudo systemctl restart httpd
Paso 6. Configuración de prueba.
Para probar el entorno, cree un script PHP con la función phpinfo(). Coloque este archivo en la raíz de documentos de su servidor. Use el siguiente comando para hacer esto:
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
Luego, acceda a info.php usando la dirección IP del servidor (para VirtualHost predeterminado) para su dominio configurado en Apache VirtualHost.
http://localhost/info.php
Eso es todo lo que necesita hacer para instalar LAMP Stack en CentOS 8. Espero que encuentre útil este consejo rápido. Si tiene preguntas o sugerencias, no dude en dejar un comentario a continuación.