Pour héberger mon site portfolio, j'ai mis en place un serveur Apache sur une Raspberry pi.
Images du projet :
Raspberry pi
Actuellement dans le boîtier officiel. Elle est branchée via ethernet sur un switch réseau et ne requiert pas d'écran pour fonctionner
Boîtier ouvert
Voici l'intérieur du boîtier. Un ventilateur, ainsi qu'un radiateur ont été ajoutés
Accès SSH
Accès au terminal de la Raspberry pi via SSH avec PuTTY
Transfert de fichiers
Synchronisation des fichiers via SFTP avec WinSCP
Tableau de bord Grafana
Page d'accueil du tableau de bord Grafana, non configuré
Explication :
Pour mettre en place un serveur Apache sur une Raspberry pi,
j'ai installé et paramétré différents logiciels et packets Linux,
tel qu'un pare feu ou bien la gestion automatique des packets / upgrades / DNS.
Liste des packets installés :
Serveur :
Apache : Mise en place du serveur Apache afin d'héberger en ligne mon site portfolio.
Php : Utilisation de PHP pour les pages web
Certbot : Créé par Letsencrypt afin de faciliter le processus d'obtention de certificat SSL pour avoir des connexions HTTPS.
La configuration de virtualhost Apache / création de clés et l'obtention de certificats sont automatisés.
Utilitaires :
Nano : Éditeur de texte, utilisé pour changer les fichiers systèmes et visualiser les logs.
Unzip : Utilitaire de décompression de fichier zip.
Wget : Téléchargements de fichiers / packets ou logiciels via HTTP ou HTTPS.
Curl : Récupération de contenu via une URL
Git : Récupération de repositories et projets open source.
Networking et sécurité :
Ufw : Pare feu paramétré afin d’autoriser les connexions seulement sur les ports nécessaires.
OpenVPN : Serveur VPN me permettant de me connecter à distance sur mon réseau local. Il créé une paire de clés pour chaque utilisateur voulu avec mot de passe afin de sécuriser l'accès
Fail2ban : Protection contre le crack par force brute du mot de passe SSH. Ban au bout de x connexions ratées les adresses IP.
Unnatended-upgrades : Automatisation via des cronjob des mises a jour système.
Grafana : Tableau de bord qui permet de visualiser en temps réel de Data Source. Utilise le port 3000.
Data Sources utilisés par grafana :
Prometheus : Monitoring de l'état du serveur via des graphs. Utilise le port 9090.
Loki : Gestion et visualisation des logs. Utilise le port 3100.
Logiciels utilisés :
Visual studio code : Utilisé sur mes ordinateurs afin de coder en local sur le portfolio.
PuTTY : Logiciel utilisé afin d'accéder via SSH au terminal de ma Raspberry pi.
WinSCP :
OpenVPN connect : Client de connexion SSH à un serveur OpenVPN. Requiert d'importer un fichier de paramétrage OpenVPN crée côté serveur.
VNC Viewer : Accès au bureau GNOME de ma Raspberry pi à distance, sans avoir besoin d'écran (headless access).
Je vais bientôt abandonner cette manière d'accéder à ma Raspberry pi, en migrant vers une installation CLI de Raspberry pi OS.