🌐 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
- Qué es un reverse proxy y para qué sirve
- Cómo funciona un DNS (explicado fácil)
- Cloudflare desde cero para proteger tu servidor