🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo configurar un servidor LAMP en Ubuntu para principiantes

Actualizado el 27 de febrero de 2026

Introducción: ¿Qué es un servidor LAMP y por qué te interesa?

Si estás dando tus primeros pasos en el mundo de la administración de servidores, seguramente has escuchado el término servidor LAMP. No te preocupes, no es nada del otro mundo. LAMP es simplemente un acrónimo que describe un conjunto de software de código abierto que, funcionando en conjunto, te permite alojar sitios web dinámicos y aplicaciones web. Las letras significan:

  • Linux (el sistema operativo, en nuestro caso Ubuntu).
  • Apache (el servidor web que entrega las páginas a los visitantes).
  • MySQL o MariaDB (el sistema de gestión de bases de datos donde se almacena la información).
  • PHP (el lenguaje de programación que hace que las páginas web sean interactivas).

Esta guía está diseñada para que, aunque seas un SysAdmin principiante, puedas configurar LAMP Ubuntu desde cero, paso a paso, sin necesidad de experiencia previa. Te prometo que al final de este artículo tendrás tu propio servidor funcional.

Requisitos previos antes de empezar

Antes de lanzarnos a instalar software, asegurémonos de que tienes lo básico listo.

1. Una instancia de Ubuntu (preferiblemente 22.04 o 24.04 LTS)

Necesitas un servidor con Ubuntu instalado. Puede ser una máquina virtual en tu ordenador (usando VirtualBox, por ejemplo) o un VPS (Servidor Privado Virtual) contratado con un proveedor de hosting. Para esta guía, asumiremos que tienes acceso a la terminal del servidor.

2. Acceso SSH o terminal

Necesitarás conectarte a tu servidor. Si es un VPS, normalmente usas SSH desde tu terminal local:

ssh tu_usuario@la_direccion_ip_de_tu_servidor

Si es una máquina virtual, simplemente abre la terminal directamente.

3. Un usuario con privilegios sudo

No trabajes como usuario root directamente. Es una mala práctica. Durante la instalación de Ubuntu, se te pidió crear un usuario. Ese usuario debe tener permisos para ejecutar comandos con sudo. Si no lo tienes, créalo o usa el usuario por defecto.

[INFO] Si no sabes si tu usuario tiene permisos sudo, ejecuta sudo whoami. Si te pide contraseña y muestra "root", estás listo.

Paso 1: Actualizar el sistema y preparar el terreno

Lo primero, como buen SysAdmin principiante, es asegurarnos de que todo el software base esté actualizado. Esto evita conflictos de versiones y problemas de seguridad.

Conéctate a tu servidor y ejecuta los siguientes comandos:

sudo apt update
sudo apt upgrade -y

El primer comando actualiza la lista de paquetes disponibles. El segundo descarga e instala las actualizaciones pendientes. El flag -y responde automáticamente "sí" a cualquier pregunta de confirmación.

[TIP] Sé paciente. Este proceso puede tardar unos minutos, especialmente si es la primera vez que lo haces.

Paso 2: Instalar Apache - El servidor web

Apache es el software que "escucha" las peticiones de los navegadores y les envía las páginas web. Es el corazón de nuestro servidor LAMP.

Instalarlo es muy sencillo:

sudo apt install apache2 -y

Una vez terminada la instalación, Apache se inicia automáticamente. Para comprobarlo, puedes ver su estado:

sudo systemctl status apache2

Deberías ver algo como active (running). Si no es así, inícialo con:

sudo systemctl start apache2

Verificar que Apache funciona

Abre tu navegador web y escribe la dirección IP de tu servidor. Si estás en una máquina virtual, puede ser http://localhost o la IP de la máquina (por ejemplo, http://192.168.1.10). Si es un VPS, usa su IP pública.

Deberías ver la página de bienvenida por defecto de Apache (una página con el texto "Apache2 Ubuntu Default Page"). ¡Felicidades! Apache ya está funcionando.

[WARNING] Si no ves la página, revisa que el firewall no esté bloqueando el puerto 80. En Ubuntu, puedes usar sudo ufw allow 'Apache' para permitir el tráfico HTTP.

Paso 3: Instalar MySQL - El gestor de bases de datos

MySQL (o MariaDB, una versión mejorada y compatible) es donde se almacenarán los datos de tus aplicaciones, como usuarios, artículos de blog, productos, etc.

Instalamos MySQL:

sudo apt install mysql-server -y

Una vez instalado, ejecutamos un script de seguridad que nos guiará para establecer una contraseña para el usuario root de MySQL y eliminar configuraciones peligrosas por defecto.

sudo mysql_secure_installation

El script te hará varias preguntas. Te recomiendo responder así:

  • VALIDATE PASSWORD COMPONENT: Presiona n (no) para simplificar, o y si quieres una política de contraseñas fuerte. Para principiantes, es más fácil decir que no.
  • New password: Introduce una contraseña segura para el usuario root de MySQL. No la olvides.
  • Remove anonymous users? y (sí).
  • Disallow root login remotely? y (sí). Solo accederemos localmente.
  • Remove test database and access to it? y (sí).
  • Reload privilege tables now? y (sí).

[INFO] El usuario "root" de MySQL es diferente al usuario "root" del sistema. No los confundas.

Paso 4: Instalar PHP - El lenguaje de programación

PHP es el motor que procesa el código de tus aplicaciones web (como WordPress, Joomla, etc.) y genera páginas HTML dinámicas.

Instalamos PHP junto con algunos módulos comunes que suelen ser necesarios:

sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y

Este comando instala PHP y lo integra con Apache. También añade módulos para conectar con MySQL, manejar imágenes, trabajar con XML, etc.

Verificar que PHP funciona

Para asegurarnos de que Apache y PHP se llevan bien, vamos a crear un archivo de prueba.

Primero, creamos un archivo llamado info.php en el directorio raíz de Apache:

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

Dentro del editor, pega este contenido:

<?php
phpinfo();
?>

Guarda el archivo (en nano, presiona Ctrl+O, luego Enter, y Ctrl+X para salir).

Ahora, en tu navegador, visita http://tu_direccion_ip/info.php. Deberías ver una página con una tabla enorme llena de información sobre la configuración de PHP. Si ves eso, significa que Linux Apache MySQL PHP funciona correctamente.

[WARNING] ¡Importante! Por razones de seguridad, elimina este archivo después de la prueba. Ejecuta: sudo rm /var/www/html/info.php. Dejar phpinfo() accesible públicamente es un riesgo de seguridad.

Paso 5: Configurar un sitio web básico (Virtual Host)

Apache permite alojar múltiples sitios web en el mismo servidor usando "Virtual Hosts". Vamos a configurar uno sencillo para nuestro dominio de ejemplo.

1. Crear la estructura de directorios

Vamos a crear una carpeta para nuestro sitio web. Por ejemplo, midominio.com:

sudo mkdir -p /var/www/midominio.com/public_html

2. Asignar permisos

Le damos propiedad al usuario de Apache (www-data) para que pueda leer y escribir archivos:

sudo chown -R www-data:www-data /var/www/midominio.com
sudo chmod -R 755 /var/www/midominio.com

3. Crear un archivo de configuración de Virtual Host

Apache tiene un directorio para configuraciones de sitios: /etc/apache2/sites-available/. Creamos un archivo para nuestro sitio:

sudo nano /etc/apache2/sites-available/midominio.com.conf

Pega el siguiente contenido (ajusta ServerName y ServerAlias si tienes un dominio real):

<VirtualHost *:80>
    ServerAdmin admin@midominio.com
    ServerName midominio.com
    ServerAlias www.midominio.com
    DocumentRoot /var/www/midominio.com/public_html

    <Directory /var/www/midominio.com/public_html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Guarda y cierra el archivo.

4. Habilitar el sitio y deshabilitar el predeterminado

Primero, habilitamos nuestro nuevo sitio:

sudo a2ensite midominio.com.conf

Luego, deshabilitamos el sitio por defecto (opcional, pero recomendado para evitar conflictos):

sudo a2dissite 000-default.conf

Finalmente, recargamos Apache para que los cambios surtan efecto:

sudo systemctl reload apache2

5. Probar el nuevo sitio

Crea un archivo index.html en tu nuevo directorio:

sudo nano /var/www/midominio.com/public_html/index.html

Pon algo simple como <h1>¡Mi primer sitio LAMP!</h1> y guarda.

Ahora, en tu navegador, visita http://tu_direccion_ip. Deberías ver tu mensaje "¡Mi primer sitio LAMP!". Si tienes un dominio real, deberías configurar los DNS para que apunten a tu IP.

Paso 6: Consejos de seguridad básica para tu servidor LAMP

Como SysAdmin principiante, la seguridad debe ser una prioridad desde el principio. Aquí tienes algunas acciones rápidas:

1. Configurar el firewall (UFW)

Permite solo el tráfico necesario:

sudo ufw allow 'Apache Full'
sudo ufw allow ssh
sudo ufw enable

2. Mantener el sistema actualizado

Es una tarea periódica. Ejecuta sudo apt update && sudo apt upgrade -y regularmente.

3. Revisar los logs de Apache

Los logs te ayudan a detectar problemas o intentos de acceso no autorizados:

sudo tail -f /var/log/apache2/access.log
sudo tail -f /var/log/apache2/error.log

4. Considerar usar un panel de control (opcional)

Si administrar todo desde la terminal te resulta abrumador, existen paneles de control que simplifican la gestión. Uno muy popular es Syspanel (anteriormente conocido como HestiaCP). Facilita la creación de cuentas de hosting, bases de datos y dominios desde una interfaz web. Su puerto de acceso es el 2106 (por ejemplo, https://tu_servidor:2106). Es una excelente opción para escalar sin perder el control.

Preguntas frecuentes (FAQ) para principiantes

1. ¿Qué hago si Apache no se inicia?
Revisa los logs de error con sudo tail -f /var/log/apache2/error.log. El problema más común es que el puerto 80 esté ocupado por otro programa (como Nginx). Puedes cambiar el puerto en la configuración o detener el otro servicio.

2. ¿Cómo accedo a MySQL desde la terminal?
Usa el comando sudo mysql -u root -p. Te pedirá la contraseña que configuraste durante mysql_secure_installation.

3. ¿Puedo instalar WordPress en mi servidor LAMP?
¡Sí! De hecho, es uno de los usos más comunes. Solo necesitas crear una base de datos MySQL, un usuario y luego subir los archivos de WordPress a tu public_html. Hay muchas guías específicas para ello.

4. Mi sitio no carga, solo veo la página por defecto de Apache.
Probablemente no deshabilitaste el sitio por defecto. Ejecuta sudo a2dissite 000-default.conf y luego sudo systemctl reload apache2.

5. ¿Es necesario instalar todos los módulos de PHP que mencionaste?
No todos son estrictamente necesarios, pero son muy comunes. Si una aplicación te pide un módulo faltante, puedes instalarlo después con sudo apt install php-nombre-del-modulo.

6. ¿Qué es mejor, MySQL o MariaDB?
Para un principiante, son prácticamente iguales. MariaDB es un fork de MySQL y es compatible al 100%. En esta guía usamos MySQL, pero puedes sustituirlo por MariaDB sin problemas.

Conclusión: ¡Ya tienes tu servidor LAMP!

Has completado la configuración de un servidor LAMP en Ubuntu. Has instalado y configurado Apache, MySQL y PHP, y has creado tu primer Virtual Host. Ahora ya puedes empezar a alojar tus propios sitios web dinámicos. Recuerda que la práctica es la clave para convertirte en un SysAdmin competente. No temas experimentar en un entorno de pruebas, y si te surge alguna duda, la comunidad de Ubuntu y Linux siempre está dispuesta a ayudar.

¡Enhorabuena y bienvenido al mundo de la administración de servidores!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel