Ce tutoriel explique comment mettre en ligne un site web statique sur un Raspberry Pi 5 (Debian Trixie) derrière une Freebox avec une IP fixe, tout en sécurisant l’accès via un certificat SSL DuckDNS.


1. Introduction et architecture réseau

Dans cette configuration, nous contournons l’impossibilité d’utiliser les ports standards (80/443) en utilisant une redirection de ports sur la Freebox.

  • Port externe 50000 (HTTP) → Port interne 80 du Raspberry Pi.
  • Port externe 50001 (HTTPS) → Port interne 443 du Raspberry Pi.
  • Domaine : votre_nom.duckdns.org pointant vers l’IP fixe de la Freebox.

2. Préparation du dossier du site

Pour que le serveur web Nginx puisse servir vos fichiers, nous les plaçons dans un répertoire standard et ajustons les permissions.

Shell

3. Installation et configuration de Nginx

Nginx est un serveur léger et performant, idéal pour le Pi 5.

Installation

Shell

Configuration du « Virtual Host »

Créez un fichier de configuration dédié :

sudo nano /etc/nginx/sites-available/mon_site

Contenu à adapter avec votre domaine :

Shell

4. Sécurisation avec SSL (Let’s Encrypt + DuckDNS)

Puisque le port 80 externe est bloqué, nous utilisons le DNS Challenge.

Installation de Certbot

Shell

Script d’authentification DuckDNS

Créez un script pour valider la propriété du domaine :

nano ~/scripts/duckdns-auth.sh

Shell

(Rendez le script exécutable avec chmod +x).

Génération du certificat

Shell

5. Automatisation des mises à jour (Déploiement)

Pour éviter les fichiers parasites lors de la mise à jour du site, nous utilisons un script basé sur rsync.

Script deploy_site.sh

Shell

6. Maintenance et commandes utiles

  • Vérifier la configuration Nginx : sudo nginx -t
  • Redémarrer le serveur : sudo systemctl restart nginx
  • Voir les logs de visite : sudo tail -f /var/log/nginx/access.log


0 commentaire

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *