From 910975fd175f572a0db325715ce9c1c5102917c3 Mon Sep 17 00:00:00 2001 From: Thomas Constans Date: Tue, 26 Apr 2022 09:40:15 +0200 Subject: [PATCH] solution --- Readme.md | 10 +++++++++- apache.yml | 5 ++++- centos.yml | 1 + debian.yml | 1 + 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index df1fa94..e52c23a 100644 --- a/Readme.md +++ b/Readme.md @@ -14,9 +14,17 @@ En examinant les différents fichiers présents dans ce dépôt, essayez de déterminez de quelle manière ce playbook a été adapté pour fonctionner aussi bien sur une CentOS qu'une Debian. +L'idée est de transformer en variables toutes les spécificités de chaque distribution (nom +du paquet, du service, de l'utilisateur dédié au service, du répertoire de conf ...) et de définir ces variables dans des fichiers dont le nom correspond à la distribution cible. + +Il suffit de faire ensuite un include de ces fichiers en construisant le nom du fichier autour de la variable "ansible_distribution" + +L'exécution du block de tâches "firewalld", spécifique à CentOS est conditionné à cette distribution via la clause "when" + La tâche "conf httpd" ne fonctionnera pas sur Debian. Pourquoi ? Proposez une solution. -Ce playbook n'est pas complet. Déterminez les éléments manquants et corrigez. +Le nom du groupe est différent, il faut en faire une variable + ** Validation: diff --git a/apache.yml b/apache.yml index 0e4fb7e..e0332c1 100644 --- a/apache.yml +++ b/apache.yml @@ -9,6 +9,9 @@ tasks: + - name: import OS variables + include_vars: "{{ ansible_distribution | lower }}.yml" + - name: install apache package: name: "{{ apache_package_name }}" @@ -20,7 +23,7 @@ dest: "{{ apache_config_dir}}/vhost.conf" mode: 0640 owner: root - group: apache + group: "{{ apache_group_name }}" notify: restart apache - name: activate apache diff --git a/centos.yml b/centos.yml index 901f5e2..067bd3a 100644 --- a/centos.yml +++ b/centos.yml @@ -3,3 +3,4 @@ apache_service_name: httpd apache_package_name: httpd apache_config_dir: /etc/httpd/conf.d apache_log_dir: /var/log/httpd +apache_group_name: apache diff --git a/debian.yml b/debian.yml index e20b885..c491c82 100644 --- a/debian.yml +++ b/debian.yml @@ -3,3 +3,4 @@ apache_service_name: apache2 apache_package_name: apache2 apache_config_dir: /etc/apache2/sites-enabled/ apache_log_dir: /var/log/apache2 +apache_group_name: www-data