Un servidor LEMP (Linux, Nginx —pronunciado Engine-X—, MariaDB/MySQL, PHP-FPM) es una de las soluciones más eficientes y de mayor rendimiento para alojar aplicaciones web modernas. A diferencia de Apache, Nginx utiliza una arquitectura orientada a eventos que consume sustancialmente menos memoria RAM y procesa solicitudes concurrentes a gran velocidad, lo que lo convierte en la opción predilecta para sitios de alto tráfico con WordPress, Nextcloud, Laravel o PrestaShop.
Con la llegada de Ubuntu 26.04 LTS (“Resolute Raccoon”), la pila LEMP se renueva con paquetes modernos e incrementos notables en la seguridad y el rendimiento del procesamiento PHP. En esta guía detallada aprenderás a instalar y configurar un servidor LEMP en Ubuntu 26.04 desde cero.
Requisitos Previos para el Servidor LEMP en Ubuntu 26.04
Antes de instalar un servidor LEMP en Ubuntu 26.04, asegúrate de contar con:
- Un servidor o instancia VPS corriendo Ubuntu 26.04 LTS.
- Acceso a la terminal con privilegios de superusuario (
root) o un usuario con permisossudo. - Una dirección IP pública estática o un nombre de dominio configurado hacia tu servidor.
Especificaciones técnicas en Ubuntu 26.04 LTS
Esta versión integra componentes clave en versiones estables y actualizadas:
- Kernel de Linux: 7.0.0
- Servidor Web Nginx: 1.28.2
- Gestor de Base de Datos: MariaDB 11.8.6
- Intérprete de Procesamiento: PHP 8.5 (vía PHP-FPM)
Paso 1: Actualizar el Sistema Operativo
Como buena práctica en la administración de sistemas Linux, antes de instalar el servidor LEMP en Ubuntu 26.04, actualiza el índice de repositorios del sistema antes de instalar nuevos paquetes para garantizar dependencias limpias:
sudo apt update && sudo apt upgrade -yPaso 2: Instalación y Configuración del Servidor Web Nginx
El núcleo de la pila LEMP comienza con la letra E (Engine-X / Nginx), un servidor proxy inverso y HTTP ligero conocido por su estabilidad.
1. Instalar Nginx
Ejecuta el siguiente comando para obtener la versión oficial de Nginx desde los repositorios de Ubuntu:
sudo apt install nginx -y2. Habilitar y Arrancar el Servicio
Asegúrate de que el demonio de Nginx se inicie automáticamente tras cada reinicio del sistema mediante systemctl:
sudo systemctl enable nginx
sudo systemctl start nginxPara validar que el servicio se encuentra activo y sin errores:
sudo systemctl status nginx
3. Probar la Instalación en el Navegador
Abre tu navegador de preferencia e introduce la dirección IP de tu servidor (ejemplo: http://TU_DIRECCION_IP). Deberías visualizar la página de bienvenida predeterminada Welcome to nginx!, confirmando que el servidor web está operativo.

Paso 3: Instalación de PHP 8.5 y PHP-FPM
Siguiendo con el paso a paso de instalar el servidor LEMP en Ubuntu 26.04, a diferencia de Apache, Nginx no procesa código PHP de forma nativa. Para procesar archivos dinámicos requiere un gestor de procesos independiente denominado PHP-FPM (FastCGI Process Manager).
1. Instalar PHP 8.5 FPM y Módulos Base
Instala PHP 8.5, el servicio FPM y la extensión necesaria para interactuar con bases de datos MariaDB/MySQL:
sudo apt install php8.5 php8.5-fpm php8.5-mysql -yVerifica que el servicio PHP-FPM se esté ejecutando correctamente:
sudo systemctl status php8.5-fpm2. Extensiones Recomendadas de PHP
Para garantizar la compatibilidad con plataformas comunes (WordPress, Moodle, Nextcloud, etc.), es aconsejable añadir los siguientes paquetes de soporte:
sudo apt install php8.5-cli php8.5-common php8.5-curl php8.5-gd php8.5-mbstring php8.5-xml php8.5-zip -yPaso 4: Configurar Nginx para Procesar PHP-FPM
Para que el servidor LEMP en Ubuntu 26.04 y Nginx pueda enviar las peticiones PHP a PHP-FPM, debemos editar el archivo de configuración del bloque de servidor (Virtual Host).
Edita el archivo de configuración por defecto con nano:
sudo nano /etc/nginx/sites-available/defaultReemplaza o ajusta el contenido para incluir index.php y la directiva location ~ \.php$ apuntando al socket UNIX de PHP 8.5 FPM:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.5-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}Guarda las modificaciones (Ctrl + O, Enter) y sal del editor (Ctrl + X).
Validar y Reiniciar Nginx
Verifica que la sintaxis de la configuración de Nginx no contenga errores:
sudo nginx -tSi el resultado indica syntax is ok y test is successful, reinicia el servicio Nginx para aplicar los cambios:
sudo systemctl restart nginxComprobar el Procesamiento PHP
Crea un archivo de prueba llamado info.php en la raíz del servidor web:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.phpAbre en tu navegador la dirección http://TU_DIRECCION_IP/info.php. Deberás ver la página descriptiva con los datos de PHP Version 8.5.
(Por razones de seguridad, elimina este archivo una vez terminada la prueba ejecutando sudo rm /var/www/html/info.php).
Paso 5: Instalación y Aseguramiento de MariaDB 11.8
MariaDB es el motor relacional encargado de gestionar las bases de datos de tus aplicaciones.
1. Instalar el Servidor MariaDB
Ejecuta la instalación del paquete mariadb-server:
sudo apt install mariadb-server -yHabilita e inicia el servicio:
sudo systemctl enable mariadb
sudo systemctl start mariadb2. Asegurar MariaDB (mariadb-secure-installation)
Ejecuta el script oficial de seguridad para proteger la instalación frente a accesos no autorizados:
sudo mariadb-secure-installationResponde al asistente interactivo según las mejores prácticas recomendadas:
- Enter current password for root: Presiona
Enter(sin clave por defecto). - Switch to unix_socket authentication [Y/n]: Escribe
y(autenticación segura mediante socket del sistema). - Change the root password? [Y/n]: Escribe
n(conunix_sockethabilitado, la cuenta root se autentica mediante elevaciónsudo). - Remove anonymous users? [Y/n]: Escribe
ypara eliminar accesos anónimos. - Disallow root login remotely? [Y/n]: Escribe
ypara prohibir la conexión remota del usuario root. - Remove test database and access to it? [Y/n]: Escribe
ypara borrar la base de datos de pruebas. - Reload privilege tables now? [Y/n]: Escribe
ypara refrescar las tablas de permisos.
Paso 6: Comprobar la Conexión a MariaDB
Para comprobar que el motor de base de datos responde adecuadamente, conéctate desde la terminal:
sudo mariadb -u root -pAccederás a la consola interactiva indicando la versión instalada:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 39
Server version: 11.8.6-MariaDB-5 from Ubuntu
MariaDB [(none)]> Escribe EXIT; para regresar a la terminal de Linux.
Paso 7: Configuración del Firewall UFW (Opcional)
Si utilizas el cortafuegos interno de Ubuntu (UFW), permite la entrada de tráfico web por los puertos HTTP (80) y HTTPS (443):
sudo ufw allow 'Nginx Full'
sudo ufw reload
Preguntas Frecuentes (FAQ)
¿Cuál es la diferencia técnica entre LAMP y LEMP?
La diferencia radica en el servidor web. LAMP utiliza Apache, el cual suele emplear un modelo basado en procesos o hilos por solicitud. LEMP utiliza Nginx, cuya arquitectura maneja conexiones mediante un bucle de eventos asíncrono, consumiendo menos CPU y memoria RAM ante miles de usuarios simultáneos.
¿Por qué Nginx requiere PHP-FPM mientras que Apache no?
Apache integra módulos como libapache2-mod-php para interpretar PHP internamente dentro de su propio proceso. Nginx es un servidor HTTP puro y delega el procesamiento de scripts a un demonio externo como PHP-FPM mediante el protocolo FastCGI.
¿Cómo puedo asegurar mi sitio web con HTTPS gratis en LEMP?
Puedes instalar un certificado gratuito SSL/TLS de Let's Encrypt utilizando Certbot para Nginx:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginxConclusión
¡Enhorabuena! Has instalado y configurado correctamente un servidor LEMP en Ubuntu 26.04 LTS "Resolute Raccoon". Tu infraestructura ahora cuenta con Nginx 1.28, PHP-FPM 8.5 y MariaDB 11.8, ofreciendo un entorno optimizado de alto rendimiento preparado para alojar cualquier proyecto web exigente.
