Montando mi propio servidor web con Cloudflared y un viejo ordenador

Hace un par de días me propuse un reto: montar un servidor web en casa usando un viejo ordenador, Ubuntu Server y Cloudflare Tunnels. No solo como experimento técnico, sino como una declaración política. ¿Por qué depender siempre de las grandes plataformas cuando podemos ser dueños de nuestra infraestructura? En estos dos días de configuración, no solo aprendí un montón, sino que confirmé algo que siempre sospeché: la libertad digital empieza en casa.

Día 1: Resucitando el viejo hardware

Tenía por ahí un portátil viejo con 4GB de RAM y un disco duro que chirría más que una puerta mal engrasada. Pero como buen amante del cacharreo, lo limpié, le instalé Ubuntu Server 22.04 (modo minimal, sin entorno gráfico) y lo dejé listo para empezar.

Instalación básica:

sudo apt update && sudo apt upgrade -y
sudo apt install openssh-server curl ufw -y

Le activé el SSH para poder controlarlo remotamente desde mi equipo principal. Y por supuesto, abrí el puerto correspondiente:

sudo ufw allow OpenSSH
sudo ufw enable

⚠️ Consejo de seguridad: cambia el puerto por defecto de SSH si vas a dejar esto conectado a internet.

Día 2: Configurando Cloudflare Tunnel

Aquí viene la magia. Cloudflared nos permite exponer un servicio local a Internet sin necesidad de abrir puertos en el router ni pagar por un dominio caro. Es básicamente un túnel entre Cloudflare y nuestro servidor.

Paso 1: Crear una cuenta en Cloudflare

Me registré en Cloudflare y añadí un dominio que ya tenía comprado. Si no tienes uno, puedes registrar alguno barato o incluso usar subdominios gratuitos de otros servicios.

Paso 2: Instalar cloudflared

wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared-linux-amd64.deb

Paso 3: Autenticación

cloudflared tunnel login

Esto abre una URL en tu navegador para autorizar tu máquina a usar tu cuenta de Cloudflare.

Paso 4: Crear el túnel

cloudflared tunnel create mi-servidor

Esto genera un archivo .json con las credenciales del túnel.

Paso 5: Configurar el servicio web

En mi caso, instalé Nginx para servir páginas web:

sudo apt install nginx -y
sudo systemctl enable nginx

Puse una página de prueba en /var/www/html/index.html y me aseguré de que se mostrara en localhost.

Paso 6: Configurar el túnel

Creamos el archivo de configuración en ~/.cloudflared/config.yml:

tunnel: mi-servidor
credentials-file: /home/tu_usuario/.cloudflared/mi-servidor.json

ingress: - hostname: www.midominio.com service: http://localhost:80 - service: http_status:404

Paso 7: Ejecutar el túnel como servicio

sudo cloudflared service install
sudo systemctl start cloudflared
sudo systemctl enable cloudflared

Y listo. Entré a mi dominio y ahí estaba mi servidor, corriendo desde mi casa.

Reflexiones finales

Tener tu propio servidor es algo más que técnico, es político. Mientras el mundo se vuelca a la nube de Amazon, Google y Microsoft, nosotros recuperamos territorio desde lo pequeño. Desde el DIY y el software libre.

No necesitas pagar un VPS en una multinacional, ni depender de GitHub Pages o Netlify. Solo un ordenador viejo, algo de tiempo, y muchas ganas.

El conocimiento es poder, y cada paso que damos hacia la soberanía tecnológica es un paso hacia la emancipación digital. No dejes que te digan que no puedes. Monta tu propio servidor. Recupera tu red.