Système Projet personnel Raspberry Pi 5

Auto-hébergement de mon portfolio sur Raspberry Pi 5

Objectif : publier mon portfolio sur Internet en autonomie, avec une stack web propre, du HTTPS, un durcissement minimal et des pratiques d’exploitation (backup, logs, maintenance).

Livrables PDF + page projet + déploiement
Exposition DNS/DDNS + HTTPS
Durcissement Fail2ban

Compte rendu technique

Problématique

Héberger un site personnel “comme en prod” : publication, accessibilité Internet, HTTPS, et un minimum d’hygiène sécurité, le tout sur un matériel basse consommation.

Solution retenue

Raspberry Pi 5 + Linux + stack web (Apache/PHP), exposition via NAT et DNS, certificat Let's Encrypt, puis exploitation : mises à jour, logs, sauvegardes et anti-bruteforce.

Points sécurité

  • Fail2ban : protection brute-force
  • HTTPS + renouvellement auto

Exploitation

  • Backup automatisé
  • Logs Apache + journal système
  • Contrôles de status (systemctl)
  • Checklist persistante (localStorage)

Cette page met en avant la démarche “ingénierie” : architecture + sécurité + exploitation. La procédure complète est intégrée en PDF plus bas.

Procédure & runbook

Commandes clés

Copie rapide disponible sur chaque bloc.

sudo apt update && sudo apt full-upgrade -y sudo reboot
sudo apt install -y apache2 php libapache2-mod-php
sudo apt install -y ufw fail2ban
sudo ufw default deny incoming
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache -d portfolio.example.tld

Étapes (ultra condensées)

  1. Base OS : flash + SSH + updates + hostname.
  2. Réseau : IP fixe/réservation DHCP + ports 80/443 sur la box.
  3. Sécurité : SSH clés, UFW, Fail2ban.
  4. Web : Apache + PHP (+ DB si besoin) + vhost.
  5. HTTPS : certbot + renouvellement automatique.
  6. Exploitation : sauvegarde rsync + logs + checks.

Bonus “jury/recruteur” : tu peux expliquer comment tu sécurises un service exposé Internet (surface d’attaque, ports, logs, ban, patching).