En esta guía te explicamos cómo instalar PHP y PHP-FPM en Ubuntu 24.04. PHP (acrónimo de Hypertext Preprocessor) es un lenguaje ampliamente utilizado y de código abierto, principalmente en el desarrollo web. PHP-FPM es la implementación FastCGI recomendada para PHP, especialmente útil para sitios web con mucho tráfico. Al final de esta guía, tendrás PHP funcionando en tu servidor. Si aún no has creado un servidor, consulta primero nuestra guía para instalar Ubuntu en uno.
Antes de empezar, asegúrate de contar con lo siguiente:
Actualiza tu sistema ejecutando:
sudo apt update
sudo apt upgrade
Instala el servidor web Apache con el siguiente comando:
sudo apt install apache2
Comencemos instalando el paquete de PHP en Ubuntu 24.04:
sudo apt install php
Este comando instalará el paquete principal de PHP, la interfaz de línea de comandos y bibliotecas comunes.
Verifica que PHP se haya instalado correctamente:
php -v
Las extensiones permiten ampliar las funcionalidades de PHP. Para instalar algunas comunes, ejecuta:
sudo apt install php-curl php-mbstring php-xml
Descripción breve de cada una:
php-mysql
: Permite la conexión a bases de datos MySQL
php-gd
: Permite manipular imágenes
php-curl
: Permite comunicarse con servidores externos
php-mbstring
: Soporte para cadenas multibyte
php-xml
: Soporte para procesamiento XML
php-zip
: Soporte para archivos ZIP
Puedes buscar e instalar otras extensiones que necesites con:
apt-cache search php-
PHP-FPM es esencial para sitios web con alto tráfico. Para instalarlo y configurarlo:
Instala el paquete:
sudo apt install php-fpm
Inicia el servicio PHP-FPM (la versión puede variar según la instalación):
sudo systemctl start php8.3-fpm
Activa el inicio automático con el sistema:
sudo systemctl enable php8.3-fpm
Verifica que esté activo:
systemctl status php8.3-fpm
Si todo está correcto, verás un mensaje que indica que el servicio está "Active (running)", lo que confirma que PHP-FPM está funcionando como se espera.
Para confirmar que PHP y PHP-FPM funcionan correctamente, crea un archivo de prueba y accede a él desde el navegador web. Supongamos que usas Apache en este ejemplo:
Generar archivo de información PHP. Usa la función phpinfo()
para mostrar la configuración activa de PHP:
mkdir -p /var/www/html
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
Configurar Apache para PHP-FPM. Asegúrate de que Apache sea compatible con PHP-FPM. Edita el archivo de configuración de Apache (normalmente en /etc/apache2/sites-available/000-default.conf
) e inserta lo siguiente:
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php8.3-fpm.sock|fcgi://localhost/"
</FilesMatch>
Recuerda ajustar la versión de PHP y la ruta del socket según la configuración de tu servidor.
Activar PHP y PHP-FPM. Habilita los módulos necesarios de Apache:
sudo apt install libapache2-mod-php
sudo a2enmod proxy_fcgi setenvif
Reiniciar Apache. Aplica los cambios reiniciando Apache:
sudo systemctl restart apache2
Acceder a la página de información de PHP. Abre tu navegador y accede a:
http://tu_direccion_ip/info.php
Sustituye tu_direccion_ip
por la dirección IP real o el dominio del servidor. Deberías ver los detalles de la instalación de PHP si todo Si todo está correctamente configurado, verás los detalles de la instalación de PHP en la página que se abre.
Para ciertos proyectos puede ser necesario ejecutar diferentes aplicaciones que requieran versiones específicas de PHP. Así puedes gestionar varias versiones de PHP en Ubuntu 24.04:
Primero, añade el repositorio de PHP:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php && sudo apt update
Instala las versiones que necesites:
sudo apt install php8.1 php8.1-fpm
Para seleccionar la versión que deseas usar por defecto:
sudo update-alternatives --set php /usr/bin/php8.1
Si usas varias versiones de PHP, asegúrate de que el servidor web apunte al socket adecuado de PHP-FPM para cada versión.
Como desarrollador web, sabes lo importante que es incorporar tanto PHP como PHP-FPM en aplicaciones web seguras y robustas. En esta sección, te presentamos varias prácticas recomendadas de seguridad que deberías aplicar al usar PHP y PHP-FPM.
Realiza actualizaciones periódicas para eliminar vulnerabilidades conocidas y mejorar la seguridad general. Comprueba regularmente si hay nuevas versiones disponibles y actualiza tu sistema tan pronto como sea posible.
Desactiva funciones innecesarias o peligrosas como exec
, shell_exec
y eval
en el archivo php.ini
.
Usa la directiva open_basedir
para limitar el acceso de PHP a directorios específicos.
Establece display_errors
= Off
en producción para no mostrar errores a los usuarios.
Limita el tamaño máximo de subida de archivos y el tiempo de ejecución de scripts.
Asegúrate de que PHP se ejecute bajo una cuenta de usuario restringida y dedicada con los mínimos permisos necesarios.
Mantén siempre PHP actualizado a su versión estable más reciente para corregir vulnerabilidades.
Durante el desarrollo, puedes mostrar errores para depurar. Pero en producción, desactiva display_errors
y habilita log_errors
= On
para que los errores se registren en un archivo sin mostrarse al usuario final.
Valida todas las entradas del usuario y evita ejecutar datos sin validar. Utiliza sentencias preparadas para protegerte contra inyecciones SQL.
PHP-FPM debe ejecutarse con un usuario que no sea el predeterminado y que tenga privilegios mínimos. También debes limitar el acceso al socket o puerto de PHP-FPM únicamente a la aplicación web que lo necesite.
Esta directiva restringe el acceso de PHP solo a los directorios especificados. Si se intenta acceder a un directorio fuera de los permitidos, PHP bloqueará automáticamente la acción.
Protege todas las conexiones web asegurándote de que tus aplicaciones solo funcionen sobre HTTPS. Esta es la forma más eficaz de prevenir ataques de interceptación y otros métodos comunes de hackeo.
Con esta guía, has instalado y configurado correctamente PHP y PHP-FPM en Ubuntu 24.04. Tu servidor ahora está listo para ejecutar aplicaciones web dinámicas. No olvides mantener el sistema actualizado para garantizar la seguridad y el rendimiento.
¿Te fue útil esta guía? Descubre nuestros servidores en la nube y lleva tu infraestructura al siguiente nivel.