UA-51298262-10 Skip to main content
WordPress

Instalar pila LEMP en Ubuntu 22.04: Guía paso a paso

By septiembre 17, 2026No Comments
Instalar pila LEMP en Ubuntu 22.04: Guía paso a paso

Qué es la pila LEMP y por qué usarla en Ubuntu 22.04

Antes de ponerse a instalar LEMP Ubuntu 22.04, conviene aclarar el acrónimo, porque no a todo el mundo le suena: Linux, Nginx (se pronuncia «engine-x», de ahí la E), MariaDB o MySQL, y PHP. Es la alternativa más popular a la clásica pila LAMP. La diferencia, básicamente, es una: en lugar de Apache, Nginx. Y ese cambio importa, sobre todo cuando el tráfico crece. Nginx aguanta mucha concurrencia con un consumo de memoria bastante bajo.

¿Y por qué Ubuntu Server 22.04 LTS? Tiene soporte hasta 2027, que no es poco, y sus repositorios ya traen PHP 8.1, que funciona bien con WordPress y con casi cualquier aplicación PHP moderna.

Requisitos previos antes de instalar LEMP en Ubuntu 22.04

Repasemos lo que necesitas antes de tocar nada:

  • Un servidor con Ubuntu Server 22.04 recién instalado (VPS, dedicado o máquina local).
  • Acceso por SSH con un usuario con privilegios sudo.
  • Mínimo 1 GB de RAM (2 GB recomendados para producción).
  • Un dominio apuntando a la IP del servidor, si vas a alojar sitios web.

Lo primero: actualiza el sistema. Partir de una base limpia ahorra dolores de cabeza.

sudo apt update && sudo apt upgrade -y

Paso 1: Instalar Nginx en Ubuntu 22.04

Nginx está en los repositorios oficiales, así que esto es directo:

sudo apt install nginx -y

Habilita el servicio para que arranque con el sistema y comprueba que está corriendo:

sudo systemctl enable –now nginx
sudo systemctl status nginx

Si tienes UFW activo, abre el tráfico web:

sudo ufw allow ‘Nginx Full’

Ahora abre un navegador y visita la IP del servidor. Deberías ver la página de bienvenida «Welcome to nginx!». Un detalle que se olvida más de lo que cabría imaginar: si usas un proveedor cloud, también hay que abrir los puertos 80 y 443 en su firewall externo. No depende de UFW.

Paso 2: Instalar MariaDB y configurar la base de datos

En RedServicio recomendamos MariaDB frente a MySQL. Es un fork 100% compatible, lo mantiene la comunidad y en muchos escenarios rinde mejor.

sudo apt install mariadb-server -y

Ejecuta el script de aseguramiento. En producción no es opcional, de verdad:

sudo mysql_secure_installation

Responde «Y» a las preguntas: elimina los usuarios anónimos, deshabilita el acceso remoto de root y borra la base de datos de pruebas.

Crear una base de datos y un usuario

Entra en la consola de MariaDB como root:

sudo mariadb

Y lanza estas consultas (cambia las contraseñas por unas robustas, por favor):

CREATE DATABASE mibasededatos CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER ‘miusuario’@’localhost’ IDENTIFIED BY ‘ContraseñaSegura123!’;
GRANT ALL PRIVILEGES ON mibasededatos.* TO ‘miusuario’@’localhost’;
FLUSH PRIVILEGES;
EXIT;

Tip: usa siempre utf8mb4 como juego de caracteres. Es necesario para emojis y todos los caracteres Unicode en WordPress y otras aplicaciones modernas.

Paso 3: Instalar PHP 8.1 y PHP-FPM

Aquí viene una diferencia con LAMP: Nginx no procesa PHP por sí mismo. Necesita PHP-FPM (FastCGI Process Manager) haciendo de intermediario. Instala PHP con las extensiones más habituales:

sudo apt install php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip php8.1-intl -y

Comprueba que funciona:

php -v

Ajustes recomendados en php.ini

Edita el archivo /etc/php/8.1/fpm/php.ini y ajusta estos valores según lo que necesites:

  • memory_limit = 256M (512M para WordPress con muchos plugins).
  • upload_max_filesize = 64M
  • post_max_size = 64M
  • max_execution_time = 300

Reinicia PHP-FPM para aplicar los cambios:

sudo systemctl restart php8.1-fpm

Paso 4: Configurar Nginx para procesar PHP

Crea un bloque de servidor para tu sitio en /etc/nginx/sites-available/misitio.conf:

server {
  listen 80;
  server_name tudominio.com www.tudominio.com;
  root /var/www/misitio;
  index index.php index.html;
  location / { try_files $uri $uri/ /index.php?$args; }
  location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
  }
  location ~ /\.ht { deny all; }
}

Falta crear el directorio del sitio, activar el bloque y verificar que todo cuadra:

sudo mkdir -p /var/www/misitio
sudo chown -R www-data:www-data /var/www/misitio
sudo ln -s /etc/nginx/sites-available/misitio.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Probar que PHP funciona

Un archivo de prueba, rápido:

echo «<?php phpinfo(); ?>» | sudo tee /var/www/misitio/info.php

Visita http://tudominio.com/info.php. Si aparece la página de información de PHP, la pila funciona. Y ahora lo importante: borra este archivo inmediatamente, porque expone información sensible del servidor:

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

Paso 5: Añadir HTTPS gratuito con Let’s Encrypt

Nadie debería lanzar una web en producción solo con HTTP. Certbot lo resuelve en dos minutos:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot –nginx -d tudominio.com -d www.tudominio.com

Certbot modifica la configuración de Nginx por su cuenta y deja montada la renovación automática mediante un temporizador de systemd. Puedes comprobar que funciona con sudo certbot renew –dry-run.

Errores comunes al instalar LEMP Ubuntu 22.04

Estos son los problemas que más solemos ver en RedServicio, con sus arreglos rápidos:

  • Error 502 Bad Gateway: normalmente indica que PHP-FPM no está corriendo o que el socket en fastcgi_pass no coincide con la versión instalada.
  • Error «File not found»: revisa que la directiva root apunte al directorio correcto y que los permisos pertenezcan a www-data.
  • Nginx no carga el sitio nuevo: comprueba que creaste el enlace simbólico en sites-enabled y que nginx -t no devuelve errores.
  • Subidas de archivos fallidas: ajusta client_max_body_size 64M; en el bloque server de Nginx, además de los límites de php.ini.

Conclusión

Siguiendo estos pasos, la pila LEMP queda montada en menos de 30 minutos: Nginx como servidor web, MariaDB como base de datos, PHP 8.1 con FPM como procesador y Certbot para el SSL. Con eso tienes la base lista para WordPress, aplicaciones PHP propias o frameworks como Laravel y Symfony.

Un consejo final, casi de sentido común: mantén el sistema al día con sudo apt update && sudo apt upgrade de vez en cuando, haz copias de seguridad regulares de tus bases de datos y echa un ojo a los logs en /var/log/nginx/. Y si te atascas con la instalación, con los virtual hosts o con el endurecimiento del servidor, en RedServicio (redservicio.net) encontrarás ayuda profesional y guías especializadas para sacarle todo el partido a tu servidor.