Objectif
Écrire un playbook capable d’installer et de démarrer un serveur web sur deux familles d’OS différentes, en utilisant when et les facts pour adapter automatiquement les tâches — sans écrire deux playbooks séparés.
Environnement disponible
Vous disposez de :
- 1 serveur de contrôle avec Ansible installé
- 2 clients :
nrd-web1(Debian 13)nrd-alma1(AlmaLinux 9)
Informations de connexion
- Utilisateur :
root - Mot de passe :
formation
Ce que vous allez réaliser
- Configurer l’accès SSH par clé sur les deux clients
- Créer l’inventaire avec les deux hôtes
- Écrire un playbook unique qui installe Apache (Debian) ou Nginx (AlmaLinux) selon
ansible_os_family - Démarrer le bon service selon l’OS
- Exécuter le playbook et observer les tâches
skippedselon la machine - Vérifier avec
ansible_factsque chaque machine a bien reçu le bon paquet
Conseils
- Le nom du paquet web change selon l’OS (
apache2sur Debian,nginxsur AlmaLinux —httpdexiste aussi sur AlmaLinux mais on utilisenginxici pour bien marquer visuellement la différence dans les logs). - Le module de gestion des paquets change aussi :
ansible.builtin.aptsur Debian,ansible.builtin.dnfsur AlmaLinux. - Une tâche non exécutée à cause d’un
whenfaux apparaît enskipped, pas en erreur — c’est normal et attendu ici.