Para instalar LAMP en un VPS con Ubuntu ejecuta cuatro comandos en orden: instala Apache, luego MariaDB, después PHP y sus módulos, y finalmente habilita y prueba cada componente. En menos de 20 minutos tienes un entorno completo listo para alojar sitios web en PHP.
Este tutorial asume que ya tienes acceso SSH a tu servidor y el sistema operativo actualizado. Si acabas de contratar un VPS y no has hecho esa configuración inicial, consulta primero nuestra guía de configuración inicial de servidores VPS.
¿Qué es el stack LAMP?
LAMP es el acrónimo de cuatro tecnologías de código abierto que juntas forman el entorno más utilizado para desarrollo y alojamiento web:
- Linux — el sistema operativo (Ubuntu en este caso)
- Apache — el servidor web que recibe peticiones HTTP/HTTPS
- MySQL / MariaDB — la base de datos relacional
- PHP — el lenguaje de programación del lado del servidor
WordPress, Joomla, Drupal, PrestaShop y miles de aplicaciones PHP corren sobre LAMP. Es el stack de referencia para proyectos en PHP a nivel mundial.
Paso 1 — Instalar Apache
Actualiza el índice de paquetes e instala Apache:
sudo apt update
sudo apt install apache2 -y
Habilita Apache para que arranque automáticamente con el servidor y verifica que está corriendo:
sudo systemctl enable apache2
sudo systemctl status apache2
Deberías ver Active: active (running). Ahora abre tu navegador y visita http://IP_DEL_SERVIDOR — verás la página de bienvenida de Apache con el texto "It works!".
Abrir los puertos en el firewall
Si tienes UFW activo (recomendado), permite el tráfico web:
sudo ufw allow 'Apache Full'
Esto abre los puertos 80 (HTTP) y 443 (HTTPS) en un solo comando.
Paso 2 — Instalar MariaDB
MariaDB es el fork comunitario de MySQL, totalmente compatible y con mejor rendimiento en la mayoría de casos. Es la elección recomendada en Ubuntu moderno:
sudo apt install mariadb-server -y
sudo systemctl enable mariadb
sudo systemctl status mariadb
Asegurar la instalación
Ejecuta el script de seguridad incluido con MariaDB. Te hará varias preguntas interactivas:
sudo mysql_secure_installation
Respuestas recomendadas:
- Enter current password for root: presiona Enter (sin contraseña al inicio)
- Switch to unix_socket authentication: Y
- Change the root password: N (la autenticación por socket es más segura)
- Remove anonymous users: Y
- Disallow root login remotely: Y
- Remove test database: Y
- Reload privilege tables: Y
Crear un usuario y base de datos para tu aplicación
Nunca uses el usuario root de MariaDB en tu aplicación. Crea credenciales dedicadas:
sudo mariadb
CREATE DATABASE mi_sitio CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'mi_usuario'@'localhost' IDENTIFIED BY 'contraseña_segura';
GRANT ALL PRIVILEGES ON mi_sitio.* TO 'mi_usuario'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Paso 3 — Instalar PHP y módulos esenciales
Instala PHP junto con los módulos más comunes que necesitan las aplicaciones web:
sudo apt install php libapache2-mod-php php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip php-bcmath -y
Verifica la versión instalada:
php -v
En Ubuntu 22.04 obtendrás PHP 8.1; en Ubuntu 24.04, PHP 8.3. Ambas versiones son estables y con soporte activo.
Reiniciar Apache para cargar PHP
sudo systemctl restart apache2
Paso 4 — Verificar que LAMP funciona correctamente
La prueba definitiva es crear un archivo phpinfo() y abrirlo en el navegador:
sudo nano /var/www/html/info.php
Escribe este contenido:
<?php
phpinfo();
?>
Guarda el archivo (Ctrl+O, Enter, Ctrl+X) y visita http://IP_DEL_SERVIDOR/info.php.
Verás una tabla con toda la información de PHP: versión, módulos cargados, configuración. Busca la sección mysql para confirmar que la extensión está activa.
Elimina el archivo cuando termines — expone información sensible del servidor:
sudo rm /var/www/html/info.php
Configuración recomendada de PHP para producción
El archivo de configuración de PHP está en /etc/php/X.X/apache2/php.ini. Estos son los valores que conviene ajustar para la mayoría de proyectos web:
| Directiva | Valor recomendado | Para qué sirve |
|---|---|---|
upload_max_filesize |
32M | Tamaño máximo de archivos subidos |
post_max_size |
64M | Tamaño máximo del cuerpo POST |
memory_limit |
256M | RAM máxima por proceso PHP |
max_execution_time |
60 | Segundos máximos por script |
expose_php |
Off | Oculta la versión PHP en headers HTTP |
Después de cualquier cambio en php.ini, reinicia Apache:
sudo systemctl restart apache2
Si buscas hosting PHP administrado sin tener que gestionar estas configuraciones manualmente, en elenlace.com encontrarás planes de VPS gestionado con PHP optimizado para producción.
Conclusiones clave
- El orden correcto de instalación es Apache → MariaDB → PHP; invertirlo puede causar dependencias incompletas.
- Usa
mysql_secure_installationsiempre — una instancia MariaDB sin asegurar es una puerta abierta. - Crea un usuario de base de datos dedicado por aplicación; nunca uses root en el código.
- El archivo
phpinfo()es útil para verificar la instalación, pero elimínalo inmediatamente después. - Ajusta
php.inisegún las necesidades de tu aplicación antes de lanzar a producción.
¿Necesitas ayuda para instalar WordPress, configurar SSL o afinar el rendimiento de Apache? Visita elenlace.com y descubre cómo nuestro equipo puede configurar tu VPS a medida.
Preguntas frecuentes
¿Puedo usar MySQL en lugar de MariaDB?
Sí. MySQL ya no está en los repositorios por defecto de Ubuntu, pero puedes instalarlo descargando el repositorio oficial de MySQL desde dev.mysql.com. MariaDB es compatible con MySQL y es la opción preferida en Ubuntu por su integración nativa y mejor rendimiento en cargas de trabajo típicas de hosting.
¿Cómo instalo una versión específica de PHP en Ubuntu?
Agrega el repositorio PPA de Ondřej Surý: sudo add-apt-repository ppa:ondrej/php y luego instala la versión que necesites, por ejemplo sudo apt install php8.2. Puedes tener varias versiones coexistiendo y cambiar entre ellas con update-alternatives.
¿Es seguro abrir el puerto 3306 de MariaDB al exterior?
No, a menos que sea estrictamente necesario y se restrinja por IP. MariaDB debe escuchar solo en localhost (127.0.0.1) por defecto. Conectarte a la base de datos de forma remota es más seguro a través de un túnel SSH: ssh -L 3306:localhost:3306 usuario@servidor.
¿Cuánta RAM necesita un VPS para correr LAMP?
Para desarrollo o sitios pequeños con tráfico bajo, 1 GB de RAM es suficiente. Para WordPress con tráfico moderado se recomienda al menos 2 GB. Sitios con mucho tráfico concurrente o que usen WooCommerce deberían considerar 4 GB o más, acompañado de caché (Redis, Memcached) y PHP-FPM en lugar de mod_php.
Recursos útiles
Otros proveedores y guías que vale la pena comparar: