¿Por qué montar un servidor web en un Android viejo?
Reutilizar un móvil Android antiguo como servidor web puede parecer una locura, pero en realidad es una solución ingeniosa para proyectos personales, pruebas de desarrollo o experimentos caseros. Con Termux y el servidor Caddy, podemos poner en marcha un servidor HTTP moderno, seguro y extremadamente ligero.
¿La mejor parte? Sin root, sin complicaciones, y con un consumo energético mínimo. Te voy a guiar paso a paso y, además, veremos cómo hacer que tu web sea accesible desde cualquier parte del mundo, aunque tu IP cambie.
Requisitos: ¿qué usamos y por qué?
- Termux: una terminal Linux para Android que permite instalar herramientas como en cualquier distro.
- Caddy: servidor web moderno, con HTTPS automático y configuración minimalista.
- Android antiguo: perfecto para tareas ligeras, consume poca energía y suele estar olvidado en un cajón.
- Wi-Fi y acceso al router: para que el móvil esté conectado a la red y podamos abrir puertos.
1. Instalar Termux (bien hecho)
Evita la versión de Google Play, está obsoleta. Instálalo desde F-Droid:
https://f-droid.org/en/packages/com.termux/Una vez instalado, ábrelo y vamos al lío.
2. Preparar el entorno en Termux
pkg update && pkg upgrade
pkg install curl wget git unzip tar
pkg install build-essential3. Instalar Caddy en Android
Caddy no está en los repos oficiales de Termux, pero puedes compilarlo fácilmente con Go:
pkg install golang
go install github.com/caddyserver/caddy/v2@latestEsto deja el binario en $HOME/go/bin/caddy. Lo movemos y lo añadimos al PATH:
mkdir -p ~/bin
cp ~/go/bin/caddy ~/bin/
echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc4. Crear tu página web
Vamos a servir una web estática desde una carpeta local:
mkdir ~/www
echo "<h1>Hola desde el móvil</h1>" > ~/www/index.html5. Configurar el servidor Caddy
Caddy se configura con un archivo muy simple. Crea un archivo llamado Caddyfile:
nano ~/CaddyfileContenido del archivo:
:8080
root * /data/data/com.termux/files/home/www
file_serverEsto sirve la carpeta ~/www en el puerto 8080, accesible desde cualquier dispositivo en la red local.
6. Ejecutar Caddy
caddy run --config ~/CaddyfileDesde otro dispositivo conectado al mismo Wi-Fi, accede a:
http://IP_DEL_MOVIL:8080¿No sabes la IP del móvil? Haz esto:
ip addr show wlan07. Mantenerlo funcionando
Para que no se detenga cuando se bloquea la pantalla o apagas la app:
- Desactiva el ahorro de batería para Termux.
- Usa la app Termux:Boot si quieres que arranque automáticamente.
- O bien ejecuta en segundo plano:
nohup caddy run --config ~/Caddyfile &8. Acceder desde internet (DNS dinámico incluido)
Ahora viene la parte jugosa: hacer que tu web sea accesible desde cualquier parte del mundo.
Opción 1: Port forwarding manual + DNS dinámico
- Accede al panel de tu router y abre el puerto 8080 hacia la IP local del móvil.
- Regístrate en No-IP (https://www.noip.com/) y crea un subdominio gratuito.
- Instala un cliente dinámico para actualizar tu IP pública automáticamente. En Termux puedes usar
ddclient:
pkg install ddclientConfigúralo con tus credenciales de No-IP en /data/data/com.termux/files/usr/etc/ddclient.conf (te dejo un ejemplo en su web).
Opción 2: Usar Cloudflare Tunnel
Una alternativa más segura y moderna es usar Cloudflare Tunnel (antes Argo Tunnel). Puedes exponer tu servidor sin abrir puertos. Solo necesitas tener una cuenta en Cloudflare y usar cloudflared:
pkg install cloudflared
cloudflared tunnel --url http://localhost:8080¡Y listo! Cloudflare te dará una URL pública (HTTPS) para acceder a tu servidor.
¿Qué puedes hacer con esto?
Este pequeño servidor casero puede ser útil para muchas cosas:
- Blogs o webs estáticas generadas con Hugo, Jekyll o similares.
- Dashboards internos o interfaces para tus scripts.
- Probar APIs REST sin depender de servicios externos.
- Impresionar a tus colegas en la próxima meetup 😄
En resumen, si tienes un Android viejo y ganas de trastear, puedes montar un servidor web público y funcional en minutos. ¿Te animas?
