TP 6 : Transformer le playbook Apache en rôle réutilisable

Objectif

Générer la structure standard d’un rôle avec ansible-galaxy init, y migrer les tâches, le handler et le template déjà vus, puis valider que le comportement reste identique une fois le playbook réduit à un simple appel de rôle.

Environnement disponible

Vous disposez de :

  • 1 serveur de contrôle avec Ansible installé
  • 1 client Debian : nrd-web1

Informations de connexion

  • Utilisateur : root
  • Mot de passe : formation

⚠️ Les conteneurs de ce lab repartent de zéro à chaque session (aucune configuration précédente n’est conservée, y compris vos éventuelles clés SSH). Les premières étapes ci-dessous refont donc systématiquement tout le bootstrap.

Ce que vous allez réaliser

  1. Générer une clé SSH et la déployer sur le client
  2. Localiser l’IP du client et créer l’inventaire
  3. Générer la structure du rôle apache avec ansible-galaxy init
  4. Migrer les tâches dans tasks/main.yml
  5. Migrer le handler dans handlers/main.yml
  6. Migrer le template dans templates/
  7. Définir apache_port et server_domain en defaults
  8. Écrire un playbook minimaliste qui appelle le rôle
  9. Vérifier que le comportement (installation + idempotence) reste identique
  10. Surcharger server_domain sans toucher au rôle

Conseils

  • Dans un rôle, les chemins vers templates/ sont implicites : src: nordika.conf.j2, sans le préfixe templates/.
  • Testez d’abord avec les valeurs par défaut, puis surchargez server_domain pour confirmer que la personnalisation fonctionne sans toucher au rôle.