Serveur physique web - FunWarry/Projet-ESEO-css-datacenter GitHub Wiki

Introduction

Le serveur physique etudiant.ansible fait partie de l'infrastructure déployée et automatisée via Ansible. Chaque machine virtuelle (VM) est gérée de manière autonome grâce à une architecture de répertoires et de scripts bien définie.

Arborescence des Dossiers

  • Dans chaque serveur physique, sous le répertoire /home/etudis/bureau, se trouve le dossier variables, playbook, et le nom de la fonction du serveur (par exemple, etudiant.ansible).

    • variables : Contient le fichier inventory.ini qui définit les variables nécessaires aux playbooks Ansible.
    • nomFonctionServeur.ansible : Contient le Vagrantfile et les éléments nécessaires au déploiement de base des VMs.
    • playbooks : Contient les fichiers et les rôles nécessaires au déploiement des éléments sur chaque serveur physique.
    • node.yml : Ce fichier va déployer la machine avec la commande vagrant up, attendre que la VM soit déployée et que la connexion SSH soit fonctionnelle, puis exécuter les rôles Ansible.

Déploiement du Serveur Web avec etudiant.ansible

L'automatisation du déploiement du serveur web est effectuée à l'aide du script install_web.sh, situé dans le répertoire scripts/. Ce script est responsable de l'installation et de la configuration des serveurs web sur chaque machine virtuelle déployée.

Machines Déployées

Lors du déploiement, etudiant.ansible configure et déploie deux machines distinctes :

  1. etudiant1 :

    • Installe phpMyAdmin.
    • Configure phpMyAdmin pour qu’il soit accessible via le port 80.
    • L'URL d'accès à cette machine est http://192.168.232.3, où phpMyAdmin sera disponible.
  2. etudiant2 :

    • Déploie une page HTML simple.
    • Configure la page pour qu'elle soit accessible via le port 80.
    • L'URL d'accès à cette machine est http://192.168.232.4, où la page HTML sera affichée.

Une machine relais est également incluse, mais son installation n’est pas automatisée.

Processus de Déploiement

  1. Lors du déploiement via vagrant up, chaque machine est initialement configurée avec un certain nombre de scripts d'installation.

  2. Les scripts suivants sont exécutés sur chaque VM :

    • script_ssh : Ce script autorise les connexions SSH avec mot de passe.
    • config_ssh : Ce script envoie la clé publique de la machine physique vers les machines virtuelles.
    • config_sys : Configure l’IP et le masque de sous-réseau corrects pour chaque machine.
    • script_route : Ce script remet la bonne passerelle de route.

Une fois ces scripts exécutés, Ansible continue en déployant les rôles définis.

Rôles Déployés

Le déploiement d'Ansible sur chaque machine s’effectue avec des rôles spécifiques :

  • Rôle web :

    • Installe phpMyAdmin et configure le serveur web pour l’héberger sur la machine étudiant 1.
    • Déploie une page HTML simple et configure le serveur web pour la rendre accessible sur la machine étudiant 2.
  • Rôle agent_zabbix :

    • Le rôle Ansible installe et configure l'agent Zabbix sur chaque machine virtuelle en ajustant le fichier de configuration et en démarrant le service.

Accès aux Machines

Une fois le déploiement effectué, vous pouvez accéder aux machines de deux manières :

Accès via SSH

  • Accéder à etudiant1 :

    vagrant ssh etudiant1
    
  • Accéder à etudiant2 :

    vagrant ssh etudiant2
    

Accès via un Navigateur

Vous pouvez également visiter les sites déployés via un navigateur :

Machine Relais

Une machine relais est incluse dans l'infrastructure mais n'est pas déployée automatiquement par Ansible. Elle nécessite une configuration manuelle après le déploiement des autres machines. Cette machine a pour rôle de servir de relais pour les connexions entre les machines du projet.