¿Cómo instalar Apache con PHP-FPM en Ubuntu?

Apache HTTP Server es un software de servidor web gratuito, de código abierto y multiplataforma. Es desarrollado y mantenido por Apache Software Foundation. Apache es el servidor web más utilizado en todo el mundo. La gran mayoría de las instancias del servidor Apache HTTP se ejecutan en la distribución de Linux, pero las versiones actuales también se ejecutan en Microsoft Windows, OpenVMS y una variedad de sistemas similares a UNIX. PHP-FPM se conoce como FastCGI Process Manager. Es una implementación alternativa de PHP FastCGI con características adicionales que son útiles para sitios con mucha carga. Nos permite ejecutar múltiples versiones de PHP simultáneamente. En este artículo, discutiremos cómo instalar PHP-FPM con Apache en Ubuntu. Aquí usaremos Ubuntu versión 20.04.03 en una caja virtual. 

Instalación de PHP-FPM con Apache en Ubuntu

Para instalar PHP-FPM con Apache en Ubuntu sigue los siguientes pasos:

Paso 1: Ejecute el siguiente comando para la actualización básica en el sistema base para los últimos paquetes disponibles.

# apt actualizar -y

Updating-base-system

Paso 2: Instale apache2 y PHP-fpm con el paquete de instalación requerido.

# apt install apache2 libapache2-mod-fcgid php php-fpm php-cli libapache2-mod-php

 Installing-apache2-and-PHP-fpm

El comando anterior instalará la versión PHP 7.4, pero si desea instalar una versión manual específica, siga como apt install php7.3.

Paso 3: después de la instalación de php-fpm, debe habilitar algunos módulos para configurar varias versiones de php fastCGI con apache2

# acciones a2enmod fcgid alias proxy_fcgi 

Enabling-few-modules-to-configure

Paso 4: Configuración de Apache2 con php-fpm. Ahora necesitamos configurar apache2 con php-fpm. Por lo tanto, puede crear un nuevo archivo de configuración o puede realizar cambios en los archivos predeterminados. En este caso, creo un nuevo archivo de configuración gfg.conf

# nano /etc/apache2/sitios-disponibles/gfg.conf

Agregue la línea de comando de la siguiente manera

<VirtualHost *:80>
    ServerAdmin admin@geekforgeek.com
    ServerName geekforgeek.com
    ServerAlias www.geekforgeek.com
    DocumentRoot /var/www/html

    <Directory /var/www/html>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
 
    <FilesMatch \.php$>
        # 2.4.10+ can proxy to unix socket
        SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost"
    </FilesMatch>
 
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Configuration-Apache2-with-php-fpm

Guarde los archivos y reinicie apache2 para recargar los cambios.

# systemctl reiniciar apache2

Paso 5: Ahora probamos la configuración de PHP. Para crear un script php con phpinfo(); función y guardar en la raíz del documento del servidor web.

# nano /var/www/html/info.php

<?php

    phpinfo();

?>

Así que abra el navegador web y vaya a http://localhost/info.php o también puede usar la IP del sistema en lugar de localhost.

php-info

Entonces, instale con éxito php-fpm con apache2 en ubuntu 20.03.04. El uso principal de php-fpm es usar múltiples versiones de PHP a la vez. Para que pueda ejecutar otra versión de PHP al mismo tiempo.

Instalemos y configuremos otra versión de php-fpm con apache2

Paso 1: necesitas instalar algún repositorio.

# agregar-repositorio-apt ppa:ondrej/php

Install-some-repository

Paso 2: Luego instalamos php-fpm usando el siguiente comando.

# apt instalar php8.0 php8.0-fpm

 installing-php-fpm

Como puede ver en la imagen de arriba, al final de la instalación de php8.0 y php8.0-fpm, el sistema automáticamente dice ejecutar ese comando para habilitar php8.0 mientras ejecutamos el paso 3 de la instalación de php7.4. Ambos comandos son iguales. Y también, en la imagen se muestran dos sockets de versiones de PHP diferentes.

Paso 3: Cree un nuevo archivo de configuración como lo creamos anteriormente.

# nano /etc/apache2/sitios-disponibles/gfg1.conf

<VirtualHost *:8888>
    ServerAdmin admin@geekforgeek.com
    ServerName geekforgeek.com
    ServerAlias www.geekforgeek.com
    DocumentRoot /var/www/gfg

    <Directory /var/www/gfg>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
 
    <FilesMatch \.php$>
        # 2.4.10+ can proxy to unix socket
        SetHandler "proxy:unix:/var/run/php/php8.0-fpm.sock|fcgi://localhost"
    </FilesMatch>
 
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Create-a-new-configuration-file

Tiene que hacer algunos cambios como el número de puerto, la raíz del documento y la versión principal del sock de PHP.

Paso 4: agregue un nuevo puerto en el archivo port.conf

# nano /etc/apache2/ports.conf

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80
Listen 8888                

<IfModule ssl_module>
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

Add-a-new-port

Paso 5: Para habilitar esto, dígale a apache un nuevo archivo de configuración y vuelva a cargar apache2.

# a2ensite gfg1.conf 

# systemctl recarga apache2

Reloading-apache2

Paso 6: finalmente pruebe la configuración de PHP. Entonces, primero, cree un nuevo directorio «gfg» en la ruta /var/www como mencionamos DocumentRoot en el archivo de configuración. Y cree un archivo de prueba de PHP.

# mkdir /var/www/gfg

# echo “<?php phpinfo(); ?>” > /var/www/gfg/index.php 

Entonces, abra un navegador y vaya a http://localhost:8888 

Testing-PHP-set-up

Publicación traducida automáticamente

Artículo escrito por officially2808 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *