5 Commits

Author SHA1 Message Date
d0763aebe9 add almalinux target var file 2023-09-12 14:44:55 +02:00
6e42991efa mise au point support multi distribution 2021-09-14 15:01:18 +02:00
5123a8d280 mise au point et test solution 2021-06-10 16:04:48 +02:00
8e6ed730b1 centos8 2021-06-09 15:37:46 +02:00
93ea1c3c8e solution 2021-03-17 22:37:28 +01:00
12 changed files with 61 additions and 40 deletions

View File

@@ -1,19 +0,0 @@
## Variables
*Tâche*: Utiliser des variables pour assouplir l'utilisation d'un rôle
*Condition*: quand on souhaite adapter un rôle ou un playbook à une situation différente, sans avoir à gérer une autre version du playbook.
*Norme*: En utilisant les variables
### Pratique:
Reprendre le rôle récupéré depuis ansible-galaxy, constater ses lacunes
Les corriger une fois qu'elles ont été identifiées.
### Performance
Il est désormais facile d'adapter le rôle pour qu'il traite un autre site que www.orsys.fr

View File

@@ -14,6 +14,15 @@ None
Role Variables
--------------
apache_server_name - nom du site
apache_service_name - nom du service
apache_package_name - nom du package
apache_config_dir - répertoire de config
apache_group_name - nom du groupe apache
#apache_listen_port - port d'écoute - defaut 80
Dependencies
------------

View File

@@ -1 +1,3 @@
#/home/formation/ansible_apache_formation/defaults/main.yml
---
apache_listen_port: 80

View File

@@ -1,4 +1,5 @@
- name: reload httpd
service:
name: "{{ apache_service_name }}"
state: reloaded
---
- name: reload httpd
service:
name: "{{ apache_service_name }}"
state: reloaded

View File

@@ -1,4 +1,7 @@
---
- name: import OS variables
include_vars: "{{ ansible_distribution |lower }}{{ ansible_distribution_major_version }}.yml"
- name: installation
package:
name: "{{ apache_package_name }}"
@@ -8,10 +11,10 @@
notify: reload httpd
template:
src: vhost.conf
dest: /etc/httpd/conf.d/vhost.conf
dest: "{{ apache_config_dir }}/vhost.conf"
mode: 0640
owner: root
group: apache
group: "{{ apache_group_name }}"
- name: enable service
service:
@@ -28,30 +31,30 @@
- name: create documentroot
file:
name: "{{ apache_documentroot }}"
name: "/var/www/{{ apache_server_name }}"
state: directory
- name: create index file
template:
src: index.html
dest: "{{ apache_documentroot }}/index.html"
dest: "/var/www/{{ apache_server_name }}/index.html"
mode: 0644
- name: install python passlib package
package:
name: python-passlib
name: "{{ python_passlib_package }}"
state: present
- name: passwd file
htpasswd:
path: "/etc/httpd/passwd"
path: "{{ apache_config_dir }}/passwd"
name: tom
password: "123Soleil"
mode: 0640
owner: root
group: "apache"
group: "{{ apache_group_name }}"
- name: start service
service:
name: "{{ apache_service_name }}"
state: restarted
state: started

View File

@@ -1,24 +1,23 @@
<VirtualHost *:80>
ServerName {{ apache_server_name }}
ServerAlias www.{{ apache_server_name }}
ServerAlias {{ inventory_hostname }}
DocumentRoot /var/www/html/{{ apache_server_name }}
CustomLog /var/log/httpd/{{ apache_server_name }}_access.log combined
ErrorLog /var/log/httpd/{{ apache_server_name }}_error.log
ServerName {{ apache_server_name }}"
ServerAlias www.{{ apache_server_name }}"
DocumentRoot /var/www/{{ apache_server_name }}"
CustomLog /var/log/{{ apache_service_name }}/{{ apache_server_name }}"_access.log combined
ErrorLog /var/log/{{ apache_service_name }}/{{ apache_server_name }}"_error.log
<Directory />
Options none
Allowoverride none
Require all denied
</Directory>
<Directory {{ apache_documentroot }}>
<Directory /var/www/{{ apache_server_name }}">
Require all granted
</Directory>
<Directory {{ apache_documentroot }}/Private>
<Directory /var/www/{{ apache_server_name }}"/Private>
Options indexes
AuthName "stop"
AuthType Basic
AuthUserFile /etc/httpd/passwd
AuthUserFile {{ apache_config_dir }}/passwd
require valid-user
</Directory>
</VirtualHost>

View File

@@ -0,0 +1,6 @@
#/home/formation/ansible_apache_formation/vars/centos8.yml
python_passlib_package: python3-passlib
apache_service_name: httpd
apache_package_name: httpd
apache_config_dir: /etc/httpd/conf.d
apache_group_name: apache

View File

@@ -0,0 +1 @@
python_passlib_package: python-passlib

View File

@@ -0,0 +1,6 @@
#/home/formation/ansible_apache_formation/vars/centos8.yml
python_passlib_package: python3-passlib
apache_service_name: httpd
apache_package_name: httpd
apache_config_dir: /etc/httpd/conf.d
apache_group_name: apache

View File

@@ -0,0 +1,7 @@
#/home/formation/ansible_apache_formation/vars/debian10.yml
python_passlib_package: python3-passlib
apache_service_name: apache2
apache_package_name: apache2
apache_config_dir: /etc/apache2/sites-enabled
apache_group_name: www-data

4
apache.yml Normal file
View File

@@ -0,0 +1,4 @@
---
- hosts: cibles
role:
- ansible_apache_formation

View File

@@ -0,0 +1,2 @@
apache_server_name: orsys.fr
apache_documentroot: /srv/www/orsys.fr