🛠 Héberger un serveur web léger
Objectifs
Installer un serveur web minimal (lighttpd) sur les 512 MB du Model B Rev 2, servir une page statique sur le port 80 via l'Ethernet 10/100, et dimensionner les attentes à cause du bus USB unique partagé avec le LAN9512.
Matériel
- Raspberry Pi Model B Rev 2, Raspbian legacy 32 bits, connexion Ethernet (pas de WiFi sur cette carte)
- Accès SSH (tuto modelb2-ethernet-ssh) ou écran/clavier
- Carte SD en bon état : un serveur web qui log sur une SD usée corrompt la carte
Code complet
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 débit 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 réseau:
curl -s http://192.168.1.50/
Vérification attendue
curl 2 renvoie le titre de la page ; depuis un autre poste du réseau, la même page s'affiche dans un navigateur ; netstat` montre lighttpd en écoute sur le port 80. Le débit réel plafonne bien en dessous de 100 Mbps quand un périphérique USB est actif, ce qui est normal sur cette architecture.
Erreurs fréquentes
- Publier directement sur Internet sans avis : exposer un port 80 domestique suppose un choix assumé (NAT, pare-feu) ; privilégier l'usage local.
- Apache à la place de lighttpd : sur 512 MB et ARMv6, Apache gaspille la RAM disponible.
- Logs sur la SD qui usent la carte : limiter la verbosité ou rediriger vers tmpfs.
- Oublier le redémarrage du service après modification de configuration :
force-reload, pas justestart.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
led_blink.pyPythonbutton_led.pyPythonservo_sweep.pyPythondht_temp.pyPythonoled_i2c.pyPythonmcp3008_read.pyPython