Tiempo estimado de lectura < 8 min
“Aún estamos trabajando en un nombre más corto para el post…”.
Hace unos meses monté un servidor web en mi Raspberry Pi con el motor Nginx, algo sencillito, sin florituras. En éste metí unos archivos web (HTML, CSS…) y quise tirar pa’lante con la pequeña página web. Pero, ¿y el nombre del dominio? ¿Y cómo dirijo el tráfico de Internet a mi Raspberry Pi? ¿Cómo hacer que la IP dinámica sea “estática”…? En mi caso la respuesta fue NO-IP.
Pasos que seguí para servir una web desde mi Raspberry Pi:
- Instalar Nginx en la Raspberry Pi, e incluir en ésta los archivos web (la página, vaya).
- Asignar una IP fija a la Raspberry Pi dentro de la LAN (Local Area Network, Red Local o Intranet). Para ello entré en la configuración del router desde el ordenador, detecté la Raspberry Pi, y fijé una dirección IP a su dirección MAC.
- Redirigir el tráfico entrante desde la WAN (Wide Area Network), es decir, el tráfico que le llega al router desde fuera de casa a mi Raspberry Pi. Para eso incluí un registro en la tabla de NAT en la que, “el tráfico de WAN que llega a mi router por el puerto 80, que es el predeterminado del protocolo HTTP, sea redirigido al puerto 80 de mi RasPi“.
- Conocer si la IP es fija o dinámica. La IP que proporciona el proveedor de servicios de Internet (ISP), dentro de toda la red de Internet, puede ser fija/estática o dinámica. Si es el primer caso, genial. Si no, hay dos opciones:
- Mirar si el ISP permite tener una IP fija (probablemente haya que pagar…)
- Registrar un nombre de dominio (de pago o gratuito) y que un servicio/empresa se encargue de relacionar ese nombre con la IP cambiante. Ésta es la que yo escogí.
Siguiendo estos pasos, con más o menos frustración y teniendo alguna que otra pelea con tu propia paciencia, deberías de ser capaz de servir una página web al mundo.
Ahora, me explayaré un poquito en el último paso (marcado en azul). Dado que yo no quería pagar una cuota más a Movistar por algo que podía hacer gratis, busqué y terminé en NO-IP. Se trata de una empresa que presta varios servicios de Internet relacionados con el Hosting de sitios web y con el registro de nombres de dominio. Oh, y algunos de estos servicios son gratuitos.
Así, me di de alta como usuario, registré un nombre de host (que no un nombre de dominio, aunque algo muy parecido) para mi página web, antoniopleite.noip.me, y me descargué e instalé (está chupao instalarlo) el actualizador de dirección IP (DUC). Este programita se instala en nuestro ordenador, y lo que hace básicamente es decirle a las máquinas de la empresa NO-IP cuál es nuestra dirección IP de manera periódica, de manera que se pueda relacionar el nombre (antoniopleite.noip.me) con la dirección IP del momento.

Tiene sentido, ¿verdad? Sin embargo, hay una pega. Imaginemos que instalamos el DUC en nuestro portátil, pero que la página la alojamos en nuestra Raspberry Pi, la cual va a estar de manera permanente al ladito del router. Algún día nosotros sacaremos el portátil de nuestra casa, y entonces… le estaremos diciendo a NO-IP que relacione nuestro nombre (antoniopleite.noip.me) con la IP del Starbucks de turno, o de la oficina donde trabajamos, o la de la casa de nuestro amigo. Y entonces, como es de esperar, nuestra página no se mostrará al mundo. Lloraríamos. Mucho, después de tanto esfuerzo…
Respuesta: instalar el DUC en la propia Raspberry Pi. (Si el lector es conocedor del tema, es probable que en este momento se encuentre negando con la cabeza mientras piensa “es que es lógico… qué país”, como hacemos en España). Y aquí el core del post:
- Abrir una terminal en la Raspberry Pi (si no estamos por SSH en remoto).
- Ejecutar las siguientes instrucciones en la Pi:
[code language=”bash”]
# Se crea el directorio de descarga
mkdir /home/pi/noip
cd /home/pi/noip
# Descargamos la aplicación
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
# Descomprimimos
tar vzxf noip-duc-linux.tar.gz
# Compilamos e instalamos
cd noip-2.1.9-1 #(o la versión correspondiente)
sudo make
sudo make install
[/code]
Tras compilar e instalar el programa, se nos pedirán nuestras credenciales de usuario de NO-IP, y después los parámetros de configuración. Para iniciar el cliente:
[code language=”bash”]
sudo /usr/local/bin/noip2
[/code]
Y listo. Las instrucciones están sacadas de aquí.
¡Ciao!
P.D.: Querido lector, no intentes acceder a la página web de tu Raspberry Pi desde tu ordenador utilizando el nombre de host (en mi caso antoniopleite.noip.me), si ambos están en la misma LAN, porque no funcionará. En cambio, sí funcionará con la IP privada de la Raspberry Pi. El consejo es modificar el archivo de host del ordenador.