Servidores y VPS

Cómo Instalar y configurar PHP en un servidor VPS Linux

Aprende a instalar PHP y PHP-FPM en tu VPS Linux con los ajustes de configuración esenciales para rendimiento y seguridad.

Networking equipment with connected cables, showcasing modern technology infrastructure.

Para instalar PHP en un servidor VPS Linux basta con ejecutar sudo apt install php php-fpm (Ubuntu/Debian) o sudo dnf install php php-fpm (AlmaLinux/Rocky). Lo que marca la diferencia entre una instalación funcional y una lista para producción son los ajustes de configuración que vienen después.

Esta guía cubre la instalación de PHP, la activación de extensiones comunes y los parámetros de php.ini más importantes para que tu VPS sirva aplicaciones PHP con buen rendimiento y sin brechas de seguridad obvias.

Antes de empezar: Ubuntu/Debian vs AlmaLinux/Rocky

Los comandos varían según la distribución. Esta guía muestra ambos, pero la lógica es la misma. Conéctate por SSH con un usuario con privilegios sudo y actualiza los paquetes antes de instalar:

# Ubuntu / Debian
sudo apt update && sudo apt upgrade -y

# AlmaLinux / Rocky Linux / CentOS Stream
sudo dnf update -y

Si no sabes cómo conectarte por SSH, revisa primero nuestra guía sobre acceso SSH a un servidor VPS.

Instalar PHP y las extensiones esenciales

Instala PHP junto con las extensiones más usadas por aplicaciones como WordPress, Laravel o cualquier app PHP estándar:

# Ubuntu / Debian
sudo apt install -y php php-fpm php-mysql php-mbstring php-xml \
  php-curl php-zip php-gd php-intl php-bcmath php-opcache

# AlmaLinux / Rocky Linux
sudo dnf install -y php php-fpm php-mysqlnd php-mbstring php-xml \
  php-curl php-zip php-gd php-intl php-bcmath php-opcache

Verifica la versión instalada:

php -v

Deberías ver algo como PHP 8.3.x (cli). Si necesitas una versión específica (por ejemplo, PHP 8.1 para compatibilidad con un proyecto antiguo), la siguiente sección lo explica.

Instalar una versión específica de PHP (Ubuntu/Debian)

Añade el repositorio Ondřej Surý, que mantiene todas las versiones activas de PHP:

sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install -y php8.1 php8.1-fpm php8.1-mysql php8.1-mbstring php8.1-xml php8.1-curl

Sustituye 8.1 por la versión que necesites. Puedes tener varias versiones instaladas al mismo tiempo y cambiar entre ellas con update-alternatives.

Activar y verificar PHP-FPM

PHP-FPM (FastCGI Process Manager) es el modo recomendado para servir PHP con Nginx y también con Apache mediante mod_proxy_fcgi. Gestiona un pool de procesos PHP independiente del servidor web, lo que mejora el rendimiento y el aislamiento.

# Habilitar e iniciar PHP-FPM
sudo systemctl enable php8.3-fpm
sudo systemctl start php8.3-fpm

# Verificar que está corriendo
sudo systemctl status php8.3-fpm

El nombre del servicio varía según la versión: php8.3-fpm, php8.1-fpm, etc. En AlmaLinux/Rocky es simplemente php-fpm.

Archivo de socket vs. TCP

Por defecto, PHP-FPM escucha en un socket Unix (/run/php/php8.3-fpm.sock). Es más rápido que TCP para comunicaciones locales. Puedes cambiarlo a TCP (127.0.0.1:9000) si tu configuración de Nginx o Apache lo requiere, editando /etc/php/8.3/fpm/pool.d/www.conf.

Configurar php.ini para producción

El archivo php.ini controla el comportamiento de PHP. Hay dos versiones: una para CLI (/etc/php/8.3/cli/php.ini) y otra para FPM (/etc/php/8.3/fpm/php.ini). La que afecta a tu sitio web es la de FPM.

Abre el archivo:

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

Los parámetros más importantes para producción:

Parámetro Valor recomendado Por qué
memory_limit 256M Suficiente para la mayoría de apps; sube a 512M si usas WooCommerce o Magento
upload_max_filesize 64M Permite subir imágenes y documentos de tamaño razonable
post_max_size 64M Debe ser igual o mayor que upload_max_filesize
max_execution_time 60 Evita que scripts lentos cuelguen el servidor
display_errors Off Nunca mostrar errores al usuario en producción
log_errors On Registrar errores en el log para diagnóstico
expose_php Off No revelar la versión de PHP en las cabeceras HTTP
opcache.enable 1 OPcache acelera PHP al compilar y cachear bytecode

Después de guardar los cambios, recarga PHP-FPM para que surtan efecto:

sudo systemctl reload php8.3-fpm

Habilitar OPcache para mejor rendimiento

OPcache viene incluido desde PHP 5.5 y es una de las mejoras de rendimiento más efectivas que puedes activar. Compila los scripts PHP una vez y guarda el resultado en memoria, eliminando la recompilación en cada petición.

Busca o añade estas líneas en php.ini:

opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2
opcache.fast_shutdown=1

Para verificar que OPcache está activo, crea un archivo de prueba:

echo "

Visita http://tu-ip/info.php en el navegador y busca la sección opcache. Elimina el archivo después de revisar — exponer phpinfo() en producción es un riesgo de seguridad.

sudo rm /var/www/html/info.php

¿Quieres que tu VPS PHP esté optimizado desde el arranque? Los expertos de elenlace.com configuran servidores VPS completos con la pila correcta para tu tipo de proyecto.

Conclusiones clave

  • PHP se instala con un solo comando en Ubuntu/Debian o AlmaLinux; el repositorio Ondřej Surý ofrece versiones específicas en distribuciones Debian.
  • PHP-FPM es el modo de ejecución recomendado para producción; el socket Unix es más rápido que TCP para comunicaciones locales.
  • Los ajustes mínimos de php.ini para producción incluyen: display_errors Off, expose_php Off, memory_limit adecuado y OPcache activado.
  • OPcache puede reducir el tiempo de respuesta de PHP entre un 30% y un 70% sin cambiar ni una línea de código de tu aplicación.
  • Recarga PHP-FPM con systemctl reload cada vez que modifiques php.ini.

Con PHP correctamente instalado y configurado, tu VPS está listo para servir aplicaciones con rapidez y seguridad. Si prefieres delegar la configuración completa del servidor, elenlace.com ofrece servicios de administración VPS para que tú te concentres en desarrollar.

Preguntas frecuentes

¿Qué versión de PHP debo instalar en mi VPS?

Instala la versión activa más reciente compatible con tu aplicación. A mediados de 2025, PHP 8.3 es la versión estable principal. Evita versiones sin soporte activo (como PHP 7.4 u 8.0) porque ya no reciben parches de seguridad. Consulta la tabla en php.net/supported-versions.php.

¿PHP-FPM y mod_php son lo mismo?

No. mod_php carga PHP dentro del proceso de Apache, mientras que PHP-FPM es un proceso separado que se comunica con Apache o Nginx mediante FastCGI. PHP-FPM usa menos memoria, permite ajustar el pool por sitio y es la opción recomendada para producción.

¿Cómo cambio la versión de PHP en uso sin reinstalar todo?

En Ubuntu/Debian con el repositorio de Ondřej puedes usar update-alternatives --config php para la CLI, y cambiar el socket en la configuración de Nginx/Apache para apuntar al FPM de la versión deseada. Puedes tener PHP 8.1 y 8.3 instalados en paralelo y asignar cada sitio a la versión correcta.

¿Necesito reiniciar el servidor web también cuando cambio php.ini?

Si usas PHP-FPM, solo necesitas recargar PHP-FPM (systemctl reload php8.3-fpm). Nginx y Apache siguen corriendo sin interrupción. Si usas mod_php con Apache, sí necesitas recargar Apache también (systemctl reload apache2).

Compara proveedores

Otros proveedores y guías que vale la pena comparar:

← Todos