🛠 Héberger un serveur web léger sur 256 MB de RAM

Raspberry Pi Model B (Rev 1, 2012) — Fiche carte · avance · Schéma : IMG-model-b-rev1-avance-3-modelb1-serveur-web-leger.svg — Model B Rev 1 en serveur, câble Ethernet vers le routeur, navigateur d'un ordinateur affichant une page servie par lighttpd, jauge de RAM 256 MB mise en avant

Objectifs

Transformer le Model B Rev 1 en petit serveur web permanent, en tenant compte de ses deux goulots : 256 MB de RAM partagée CPU/GPU et Ethernet 10/100 derrière la puce LAN9512. Apache est exclu ; on choisit lighttpd (ou busybox httpd) avec quelques pages statiques et un endpoint de statut. Vous apprendrez à dimensionner gpu_mem, servir en systemd et mesurer le débit réel.

Matériel

Code complet

# 1) Liberer de la RAM pour le CPU : /boot/config.txt -> gpu_mem=16
#    (pas d'usage GPU prevu), puis sudo reboot

# 2) Installer et démarrer lighttpd
sudo apt install -y lighttpd
sudo systemctl enable --now lighttpd

# 3) Page de statut dynamique (CGI shell minimal)
sudo mkdir -p /srv/www && echo 'server.document-root = "/srv/www"' | sudo tee /etc/lighttpd/conf-enabled/99-site.conf
printf '#!/bin/sh\necho "Content-Type: text/plain"\necho\nvcgencmd measure_temp\nvcgencmd measure_clock arm\nfree -m | head -2\n' | sudo tee /srv/www/status.cgi
sudo chmod +x /srv/www/status.cgi
echo 'cgi.assign = ( ".cgi" => "" )' | sudo tee -a /etc/lighttpd/conf-enabled/99-site.conf
sudo systemctl restart lighttpd

# 4) Tester depuis un autre poste
curl http://192.168.1.50/status.cgi

# 5) Debit reel (test depuis le PC, attendez-vous a ~5-9 MB/s max)
scp page-test-10Mo.bin pi@192.168.1.50:/tmp/

Vérification attendue

curl 1 renvoie la température, l'horloge ARM et la mémoire libre. free -m` montre 150-200 MB disponibles avec lighttpd seul. Le serveur reste stable en service permanent ; le débit de transfert plafonne à quelques MB/s, cohérent avec l'Ethernet 100 Mbps partagé avec l'USB.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels