Blog

Tutoriales, guías y novedades del producto.

Desarrolladores

¿Qué son las pilas LAMP y LEMP?

3 noviembre 2026 6 min de lectura
Compartir este artículo

LAMP y LEMP nombran los cuatro programas que sirven un sitio web típico: Linux, un servidor web, una base de datos y PHP. La A de LAMP es de Apache, y la E de LEMP es de Nginx (se pronuncia "engine-x", de ahí la E). En ambas pilas la base de datos es MySQL o MariaDB y el lenguaje de programación es PHP.

Aplicaciones PHP como WordPress, WooCommerce y Joomla funcionan sobre esta pila. WordPress.org recomienda Apache o Nginx como servidor web, así que ambos son una base sólida. Cuál elijas no decide si tu aplicación funciona. Cambia cómo escribes los ajustes.

¿Cómo funciona la pila?

CapaLAMPLEMPFunción
Sistema operativoLinuxLinuxLa base sobre la que funciona todo
Servidor webApacheNginxResponde a las solicitudes de los navegadores
Base de datosMySQL o MariaDBMySQL o MariaDBGuarda entradas, usuarios y pedidos
LenguajePHPPHP, mediante PHP-FPMConstruye la página

Una solicitud recorre la pila así:

  1. El navegador envía una solicitud a tu dominio. Llega al puerto 80 o 443 de tu servidor.
  2. El servidor web recibe la solicitud. Si es de una imagen o de un archivo CSS, sirve el archivo él mismo.
  3. Si la solicitud es de un archivo PHP, el servidor web se la pasa a PHP y PHP ejecuta el código.
  4. PHP consulta la base de datos cuando hace falta y construye la página. El servidor web devuelve la página al navegador.

Si una página no se abre, revisa las capas por orden: systemctl status nginx, systemctl status phpX.Y-fpm y systemctl status mariadb. X.Y representa tu versión de PHP (8.3 en Ubuntu 24.04), y en LAMP usas apache2 en lugar de nginx. El problema empieza en la que no esté en marcha.

¿Qué diferencia hay entre LAMP y LEMP?

  • Apache lee los archivos .htaccess y Nginx no. En Nginx, las reglas van en la configuración del servidor.
  • Nginx no ejecuta PHP dentro de sí mismo. Pasa las solicitudes a un servicio aparte llamado PHP-FPM. Apache puede ejecutar PHP dentro de sí mismo o mediante PHP-FPM.
  • Las carpetas de configuración son distintas. En Ubuntu, Apache usa /etc/apache2 y Nginx usa /etc/nginx.
  • El uso de memoria lo deciden más el número de workers de PHP-FPM y los ajustes de la base de datos que la elección del servidor web.
  • Ninguno es claramente superior. Ambos se usan mucho, así que deciden la guía que sigas y tus costumbres.

¿MySQL o MariaDB?

MariaDB es una base de datos de código abierto que se separó de MySQL, y sus comandos y clientes son en gran parte compatibles. La página de requisitos oficial de WordPress acepta ambas, así que consulta allí las versiones mínimas actuales. En Ubuntu, el paquete mariadb-server se instala con un solo comando. Según la documentación de MariaDB, la cuenta root usa por defecto la autenticación unix_socket desde la versión 10.4. En el servidor, basta con ejecutar sudo mariadb. No hace falta contraseña de root.

Montar LEMP en Ubuntu

Estos pasos son para Ubuntu y Debian. Primero conéctate al servidor por SSH. Los ejemplos usan example.com como nombre de dominio, así que sustitúyelo por el tuyo.

  1. Actualiza la lista de paquetes: sudo apt update
  2. Instala los paquetes: sudo apt install nginx mariadb-server php-fpm php-mysql. Las versiones que se instalan son las del repositorio de paquetes.
  3. Refuerza la base de datos: sudo mariadb-secure-installation. Responde que sí a eliminar los usuarios anónimos, eliminar la base de datos de prueba y no permitir el acceso remoto de root.
  4. Crea la carpeta del sitio: sudo mkdir -p /var/www/example
  5. Abre un archivo con sudo nano /etc/nginx/sites-available/example y pega esta línea: server { listen 80; server_name example.com www.example.com; root /var/www/example; index index.php index.html; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/phpX.Y-fpm.sock; } }
  6. ls /run/php/ muestra el nombre real del socket. Escríbelo en lugar de phpX.Y-fpm.sock.
  7. Activa el sitio: sudo ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/
  8. Prueba y aplica la configuración: sudo nginx -t y después sudo systemctl reload nginx
  9. Si usas ufw, abre los puertos 80 y 443: sudo ufw allow 80/tcp y sudo ufw allow 443/tcp. Asegúrate de que el puerto SSH (22) está abierto.

Para comprobar que PHP funciona, escribe un archivo de prueba:

echo '<?php phpinfo();' | sudo tee /var/www/example/info.php

Si el dominio todavía no apunta al servidor, prueba desde dentro del servidor con curl -H 'Host: example.com' http://127.0.0.1/info.php. En cuanto veas que funciona, borra el archivo: sudo rm /var/www/example/info.php. Esa página muestra los detalles de tu servidor a cualquiera.

Una base de datos para tu aplicación

Abre la shell de la base de datos con sudo mariadb y crea una base de datos y un usuario distintos para cada aplicación. Elige tú una contraseña segura:

CREATE DATABASE exampledb CHARACTER SET utf8mb4;

CREATE USER 'exampleuser'@'localhost' IDENTIFIED BY 'a-strong-password';

GRANT ALL ON exampledb.* TO 'exampleuser'@'localhost';

Introduces estos tres valores (base de datos, usuario, contraseña) en la pantalla de instalación de WordPress. Para que funcionen los enlaces permanentes de WordPress, sustituye =404 en la línea de Nginx por /index.php?$args.

¿Qué cambia para LAMP?

Para la pila con Apache, instalas los paquetes así:

sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql

Defines el sitio en /etc/apache2/sites-available y lo activas con sudo a2ensite example. Para los enlaces permanentes, ejecuta sudo a2enmod rewrite y reinicia Apache con sudo systemctl restart apache2. Para que los archivos .htaccess surtan efecto, debes definir AllowOverride All para la carpeta del sitio. También puedes ejecutar Apache con PHP-FPM, que encaja con el modelo orientado a eventos event. Los pasos de la base de datos son los mismos que en LEMP.

Después de la instalación

  • Añade un certificado HTTPS. Let's Encrypt es gratuito, y Certbot funciona tanto con Nginx como con Apache.
  • Define el propietario de las carpetas en las que el servidor web necesita escribir. En Ubuntu y Debian el servidor web se ejecuta como el usuario www-data: sudo chown -R www-data:www-data /var/www/example.
  • Instala actualizaciones con regularidad con sudo apt update && sudo apt upgrade. Tras la instalación, las actualizaciones del sistema operativo y del software son responsabilidad tuya.
  • Haz la copia de la base de datos por separado con mariadb-dump. La copia de seguridad diaria del servidor está incluida en el precio, pero aun así debes guardar tú una copia adicional de los datos importantes.

Si quieres la pila lista para usar, haz el pedido con la opción LAMP o LEMP de Seturack y se instala sola. Si solo necesitas WordPress, basta con la opción VPS con WordPress: la instalación tarda unos 4-5 minutos, y la dirección y la contraseña aparecen en el panel.

Listo para usar en Seturack: LAMP, LEMP.

Comentarios0

Todavía no hay comentarios

Sea la primera persona en compartir su opinión.

Participe en la conversación

Inicie sesión o regístrese para dejar un comentario.

No se pierda ningún artículo

Reciba nuestros últimos tutoriales, guías y novedades de productos en su correo.

Se ha suscrito a nuestro boletín.