🛠 Héberger un serveur web léger
Objetivos
Instalar un servidor web mínimo (lighttpd) en los 512 MB del Model B Rev 2, servir una página estática en el puerto 80 a través de Ethernet 10/100 y ajustar las expectativas debido al bus USB único compartido con el LAN9512.
Material
- Raspberry Pi Model B Rev 2, Raspbian legacy de 32 bits, conexión Ethernet (sin WiFi en esta placa)
- Acceso SSH (tutorial modelb2-ethernet-ssh) o pantalla/teclado
- Tarjeta SD en buen estado: un servidor web que registra en una SD desgastada corrompe la tarjeta
Código completo
sudo apt update && sudo apt install -y lighttpd
sudo lighty-enable-mod fastcgi 2>/dev/null || true
sudo service lighttpd force-reload
# Page de test
sudo mkdir -p /var/www/html
echo "<h1>Bonjour depuis le Model B Rev 2</h1>" | sudo tee /var/www/html/index.html
# Ecoute et debit attendu (10/100 partage le bus USB 480 Mbps avec les ports USB)
sudo netstat -tlnp | grep :80
curl -s http://localhost/ | head -2
# Depuis un poste du reseau:
curl -s http://192.168.1.50/
Verificación esperada
curl 2 devuelve el título de la página; desde otro equipo de la red, la misma página se muestra en un navegador; netstat` muestra lighttpd a la escucha en el puerto 80. El caudal real se limita claramente por debajo de 100 Mbps cuando un dispositivo USB está activo, lo cual es normal en esta arquitectura.
Errores frecuentes
- Publicar directamente en Internet sin criterio: exponer un puerto 80 doméstico implica una decisión consciente (NAT, cortafuegos); priorice el uso local.
- Usar Apache en lugar de lighttpd: en 512 MB y ARMv6, Apache desperdicia la RAM disponible.
- Registros en la SD que desgastan la tarjeta: limitar la verbosidad o redirigir hacia tmpfs.
- Olvidar reiniciar el servicio tras modificar la configuración: use
force-reload, no solostart.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
led_blink.pyPythonbutton_led.pyPythonservo_sweep.pyPythondht_temp.pyPythonoled_i2c.pyPythonmcp3008_read.pyPython