← Semaine 11
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.
l'exemple du cours

L'exemple complet : le serveur IRC du cours

Le fil rouge du module, de l'installation à la spécialisation :

  1. Installation d'InspIRCd (procédure testée, documentée).
  2. Port ouvert dans ufw, service en enable --now, survit au reboot.
  3. Utilisateurs créés, testés avec HexChat et WeeChat.
  4. Améliorations négociées : mot d'accueil, canaux thématiques...
  5. 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 # Quoi sauvegarder ? LES DONNEES + LA CONFIG de votre service # - la config : /etc/monservice/ # - les donnees : selon le service (bases, fichiers, historiques) 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 # Ou sont les logs de votre service ? # - journalctl -u monservice # - ou /var/log/monservice/... 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

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.