Files
Ansible/README.md
2026-04-04 18:25:21 +02:00

2.4 KiB

🚀 Ansible Training: Database & Firewall Deployment

Ce projet est un bac à sable (sandbox) destiné à apprendre et pratiquer l'automatisation avec Ansible. L'objectif est de déployer une pile de base de données sécurisée sur une machine virtuelle Linux distante. 📋 Présentation du Projet


L'automatisation réalise les actions suivantes :

Mise à jour des dépôts et installation du serveur/client MariaDB.

Configuration du Pare-feu via nftables (déploiement d'un fichier de configuration personnalisé).

Gestion des services : s'assure que la base de données et le firewall sont actifs et activés au démarrage.

🏗️ Architecture

Machine de contrôle : Mon PC local (sous Linux/WSL).

Machine distante (Managed Node) : VM d'entraînement Linux (Debian/Ubuntu).

    IP : 192.168.1.119 (configurée dans l'inventaire).

    Utilisateur : maxime avec privilèges sudo.

📁 Structure du Projet

Plaintext

.
├── ansible.cfg          # Configuration globale d'Ansible (remote_user, become, etc.)
├── ansible/
│   ├── inventory/
│   │   └── inventory.ini # Liste des hôtes et variables de connexion
│   ├── playbook/
│   │   └── site.yml      # Master Playbook (point d'entrée)
│   └── modules/          # Fichiers de configuration à déployer
│       └── nftables.conf
└── README.md            # Cette documentation

🚀 Utilisation

Pré-requis

Ansible installé localement.

L'utilitaire sshpass (pour la connexion par mot de passe).

Une VM Linux accessible via SSH.

Lancer le déploiement

Pour exécuter l'intégralité de la configuration, utilise la commande suivante : Bash

ansible-playbook -i ansible/inventory/inventory.ini ansible/playbook/site.yml -k -K

-k : Demande le mot de passe SSH.

-K : Demande le mot de passe SUDO (become).

Concepts abordés

Au cours de cet entraînement, les concepts suivants ont été abordés :

    Idempotence : Relancer le playbook ne modifie le serveur que si nécessaire.

    Gestion des Handlers : Redémarrage automatique des services uniquement en cas de changement de configuration.

    Escalade de privilèges : Utilisation de become pour les tâches administratives.

    Structure de projet : Organisation des fichiers et gestion des chemins relatifs.