semaine 11 - consolidation
Boucler son serveur d'entreprise
Dernière ligne droite du module 3 : les améliorations se finissent, les scripts s'automatisent, la documentation se peaufine - et le projet se livre.
- Finaliser les améliorations du devis.
- Les scripts obligatoires : backup et surveillance de log.
- La livraison : Notes, Readme, démonstration.
l'exemple du cours
L'exemple complet : le serveur IRC du cours
Le fil rouge du module, de l'installation à la spécialisation :
- Installation d'InspIRCd (procédure testée, documentée).
- Port ouvert dans ufw, service en enable --now, survit au reboot.
- Utilisateurs créés, testés avec HexChat et WeeChat.
- Améliorations négociées : mot d'accueil, canaux thématiques...
- Spécialisation : atheme pour le nickserv (authentification des surnoms) - deux fichiers de config à marier : inspircd.conf et atheme.conf.
Chaque service a son équivalent : le webmail pour le courriel, les partages pour Samba, les bibliothèques pour les médias. Même chemin, saveurs différentes.
script 1
Le script de backup de VOTRE service
La sauvegarde rotative (vue au module 4, cas concret ici) adaptée à votre service :
#!/bin/bash
cd /etc
tar czf /home/prenom/sauvegarde/monservice-config.tgz monservice/
aujourdhui=$(date +%Y-%m-%d)
cd /home/prenom/sauvegarde
mv monservice-config.tgz monservice-config.$aujourdhui.tgz
ilYaSeptJours=$(date --date '- 7 day' +%Y-%m-%d)
if [ -e monservice-config.$ilYaSeptJours.tgz ]; then
rm monservice-config.$ilYaSeptJours.tgz
fi
$ crontab -e
0 3 * * * /home/prenom/script/backup-service.sh
script 2
Le script de surveillance de log
Chaque service écrit son journal : votre script le surveille et rapporte.
#!/bin/bash
horodatage=$(date +%Y-%m-%d-%Hh%M)
rapport=/home/prenom/surveillance/rapport-$horodatage.txt
echo "Rapport de surveillance : $horodatage" > $rapport
echo "Connexions du jour :" >> $rapport
sudo journalctl -u monservice --since today | grep -ci "connect" >> $rapport
echo "Erreurs du jour :" >> $rapport
sudo journalctl -u monservice --since today -p err | tail -n 5 >> $rapport
Les événements à surveiller dépendent du service : connexions, erreurs, tentatives refusées... Discutez-en avec le client (prof) avant de programmer.
la livraison
La check-list de livraison
Le service
- Installé, actif, survit au reboot
- Port ouvert proprement dans ufw
- 3 utilisateurs fonctionnels
Les améliorations
- Celles du devis approuvé, configurées
- Testables par le client avec un logiciel client
Les documents
- Notes d'installation complètes
- Readme (utilisateurs, accès)
- Devis avec l'état de chaque fiche
Les scripts
- Backup rotatif en crontab
- Surveillance de log fonctionnelle
la demonstration
Bien démontrer son travail
- Préparez le parcours de démonstration : connexion client, tour des améliorations, preuve que les scripts tournent (fichiers de sauvegarde datés, rapports de surveillance).
- Montrez les pièges surmontés : c'est là que votre débrouillardise brille.
- Ayez vos Notes sous la main : toute question du client doit trouver sa réponse dedans.
Un service qui marche sans documentation, c'est un service qui meurt au premier départ d'employé. Les Notes VALENT le service.
resume du module
Le module 3 en une image
Semaine 8
Le paradigme et la trousse : apt, systemctl, journalctl.
Semaine 9
Installation documentée et devis négocié.
Semaine 10
Le tour des services et les améliorations configurées.
Semaine 11
Scripts, documentation, livraison : un vrai fournisseur de services.
Le laboratoire de la semaine 11 vous guide vers la livraison. Ensuite : le module Automatisations transformera vos scripts en machine bien huilée.