🌐 Cómo montar un servidor web en Linux desde cero (guía real paso a paso)


Montar tu propio servidor web es uno de esos pasos que separan a un desarrollador “de escritorio” de alguien que realmente entiende cómo funciona Internet.

En esta guía vas a aprender cómo levantar un servidor real desde cero, utilizando Linux, configurando un servidor web y dejándolo listo para servir páginas al mundo.

No necesitas ser administrador de sistemas, pero sí tener ganas de aprender cómo funcionan las cosas por dentro.



🧭 ¿Qué vamos a hacer exactamente?


Vamos a construir esto paso a paso:

  • Instalar un sistema Linux (Ubuntu Server)
  • Conectarnos al servidor
  • Instalar un servidor web (Apache o Nginx)
  • Servir nuestra primera página
  • Verificar que funciona correctamente

🖥️ 1. ¿Qué necesitas antes de empezar?


Puedes hacerlo en:

  • Un VPS (recomendado)
  • Una Raspberry Pi (como en muchos proyectos reales)
  • Una máquina virtual (VirtualBox o similar)

👉 Recomendación: Ubuntu Server 22.04 o superior



⚙️ 2. Conectarte al servidor (SSH)


Una vez tengas tu servidor:

ssh usuario@ip_del_servidor


Ejemplo:

ssh [email protected]

Si es la primera vez, acepta la huella digital.



🔄 3. Actualizar el sistema


Antes de instalar nada:

sudo apt update && sudo apt upgrade -y

Esto evita problemas futuros.



🌐 4. Instalar un servidor web


Tienes dos opciones principales:


🔵 Apache (más fácil)

sudo apt install apache2 -y


🟢 Nginx (más rápido y moderno)


sudo apt install nginx -y

▶️ 5. Verificar que funciona


Abre tu navegador y entra a:

http://IP_DEL_SERVIDOR


Si ves:

  • “Apache2 Ubuntu Default Page”
  • o “Welcome to nginx!”

👉 Ya tienes un servidor web funcionando 🎉



📁 6. Dónde colocar tus archivos


Apache:

/var/www/html/


Nginx:

/var/www/html/

✍️ 7. Crear tu primera página

sudo nano /var/www/html/index.html


Ejemplo:

<!DOCTYPE html>
<html>
<head>
  <title>Mi primer servidor</title>
</head>
<body>
  <h1>🚀 Servidor funcionando correctamente</h1>
</body>
</html>

Guarda y recarga en el navegador.



🔐 8. Abrir puertos en el firewall


Si usas UFW:

sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable


Verifica:

sudo ufw status

🧪 9. Comprobación final


Tu servidor ya debería:

  • responder en el puerto 80
  • mostrar tu HTML
  • estar accesible en red local o internet

⚠️ Problemas comunes


❌ No carga la página

  • Revisa firewall
  • Revisa IP


❌ Permisos


sudo chown -R www-data:www-data /var/www/html

🧠 ¿Qué has aprendido realmente?


Más allá de comandos, entendiste:

  • Qué es un servidor web
  • Cómo responde a peticiones HTTP
  • Dónde vive tu aplicación
  • Cómo se sirve contenido en Internet

🚀 Próximo paso


Ahora que tienes un servidor funcionando, el siguiente paso lógico es entender:

👉 cómo enrutar tráfico correctamente

👉 cómo manejar múltiples servicios

Y ahí entra algo clave:

👉 el reverse proxy



💡Conclusión:


Montar un servidor es el primer paso.

Pero lo realmente interesante viene después:

cuando empiezas a conectar todo (DNS, proxy, seguridad, CDN…).

Ahí es donde pasas de “tengo un servidor” a:

👉 “tengo infraestructura real”.



📚 Lectura recomendada



Volver al post pilar: