Compare commits

4 Commits

Author SHA1 Message Date
14662a811a solution abr 2023-09-21 09:48:05 +02:00
68929bc91d tp abr 2023-09-21 09:47:20 +02:00
47b37fbcc8 typo 2022-04-26 09:40:38 +02:00
1456280ca8 variante on etudie et adapte un playbook existant 2022-04-26 09:34:53 +02:00
4 changed files with 85 additions and 13 deletions

View File

@@ -10,14 +10,22 @@
** Pratique ** ** Pratique **
Adapter le playbook apache.yml pour qu'il fonctionne sur la machine _debian_: Récupérer la solution de l'atelier handler
Identifier dans le playbook et le fichier vhost.conf toutes les spécificités de RedHat (qui vont empécher le playbook de fonctionner)
Trouver la solution à cette problématique (exécution conditionnelle, variabilisation ...)
Implémenter la solution
Sur la debian, la configuration par défaut entre en conflit avec la notre:
Modifier le playbook pour que le fichier /etc/apache2/sites-enabled/000-default.conf soit supprimé UNIQUEMENT sur la debian, avec redémarrage du service apache si besoin
1. identifiez les différences entre OS (nom des packages, des services, répertoires différents, ...)
2. essayez de trouver une solution permettant de gérer ses différences.
** Validation: ** Validation:
le playbook s'exécute correctement sur la machine debian ```bash
curl debian1
Chaque cible héberge plusieurs sites différents. <span style="text-align: center;background-color: #FD5401; font-size: 42px;">Hello World</span>
Proposition de solution: voir la branche "solution" ```

View File

@@ -1,15 +1,62 @@
--- ---
- name: install apache via ansible playbook - name: install apache via ansible playbook
hosts: centos hosts: all
handlers:
- name: restart apache
service:
name: "{{ apache_service_name }}"
state: restarted
tasks: tasks:
- name: read OS var file
include_vars: "{{ ansible_os_family | lower }}.yml"
- name: install apache - name: install apache
yum: package:
name: httpd name: "{{ apache_package_name }}"
state: present state: latest
- name: conf httpd
template:
src: vhost.conf
dest: "{{ apache_config_dir }}/vhost.conf"
mode: 0640
owner: root
group: "{{ apache_group }}"
notify: restart apache
- name: delete defaultconf on debian
file:
path: "{{ apache_config_dir }}/000-default.conf"
state: absent
notify: restart apache
when: ansible_os_family == 'Debian'
- name: call handlers, if needed
ansible.builtin.meta: flush_handlers
- name: activate apache - name: activate apache
service: service:
name: httpd name: "{{ apache_service_name }}"
enabled: yes enabled: yes
state: started state: started
- name: open firewall port
firewalld:
service: http
permanent: yes
immediate: yes
state: enabled
ignore_errors: yes
when: ansible_os_family=='RedHat'
- name: create documentroot
file:
name: /var/www/html/example.org
state: directory
- name: create index file
copy:
src: index.txt
dest: /var/www/html/example.org/index.html
mode: 0644

9
debian.yml Normal file
View File

@@ -0,0 +1,9 @@
#/home/formation/sib_12_handlers/debian.yml
---
apache_service_name: apache2
apache_package_name: apache2
apache_user: www-data
apache_group: www-data
apache_config_dir: /etc/apache2/sites-enabled/
apache_log_dir: /var/log/apache2/

8
redhat.yml Normal file
View File

@@ -0,0 +1,8 @@
#/home/formation/sib_12_handlers/redhat.yml
---
apache_service_name: httpd
apache_package_name: httpd
apache_user: apache
apache_group: apache
apache_config_dir: /etc/httpd/conf.d/
apache_log_dir: /var/log/httpd/