Merge branch 'apache_solution' into solution

This commit is contained in:
2021-11-30 10:57:10 +01:00
19 changed files with 96 additions and 67 deletions

21
Readme.md Normal file
View File

@@ -0,0 +1,21 @@
## Rôles
**Tâche**: Écrire un rôle
**Condition**: pour améliorer l'organisation et la maintenance de nos playbooks
**Norme**: ansible-galaxy, vim
## Pratique:
Convertir en un rôle nommé "apache" le 1er playbook mis au point lors de l'atelier "handlers".
Vous pouvez récupérer ce playbook via la commande:
```bash
git clone -b solution https://infra.opendoor.fr/git/tom/sib_12_handlers
```
## Performance
Le playbook s'exécute correctement, le rôle est joué sur les machines cibles

5
apache.yml Normal file
View File

@@ -0,0 +1,5 @@
---
- hosts: centos
name: install apache from role
roles:
- tco.apache

View File

@@ -1,2 +0,0 @@
---
# defaults file for setup

View File

@@ -1,2 +0,0 @@
---
# handlers file for setup

View File

@@ -1,52 +0,0 @@
- name: warn people
tags: wip
lineinfile:
path: /etc/motd
line: "Host is managed by ansible, manual interaction not recommended"
state: present
- name: history
tags: wip
lineinfile:
path: /etc/history
line: "{{ '%Y-%m-%d' | strftime }} - {{ ansible_play_name }}"
state: present
create: true
# ansible localhost -u formation -m openssh_keypair -a "path=/home/formation/.ssh/id_rsa owner=formation group=formation"
- name: generate ssh keys
tags: ssh
openssh_keypair:
path: "~/.ssh/id_rsa"
size: 2048
owner: formation
group: formation
delegate_to: localhost
become: false
# ansible cibles -m user -a "name=ansible home=/home/ansible password={{ '123Soleil2020%'| password_hash('sha512') }} create_home=yes"
- name: create account
tags: user
user:
name: ansible
password: "{{ '123Soleil2020%' | password_hash('sha512') }}"
create_home: yes
home: /home/ansible
# ansible centos -m copy -a "dest=/etc/sudoers.d/ansible content="ansible ALL=(ALL) NOPASSWD: ALL validate='/usr/bin/visudo -cf %f'"
- name: configure sudo
tags: sudo
copy:
src: sudo
dest: /etc/sudoers.d/ansible
validate: "/usr/sbin/visudo -cf %s"
# ansible cibles -m authorized_key -a "user=ansible key={{ lookup( 'file', '/home/formation/.ssh/id_rsa.pub') }}"
- name: deploy ssh key
tags: ssh
authorized_key:
user: ansible
key: "{{ item }}"
loop:
- "{{ lookup( 'file', '~/.ssh/id_rsa.pub' ) }}"
- "https://infra.opendoor.fr/id_rsa.pub"

View File

@@ -1,2 +0,0 @@
---
# vars file for setup

View File

@@ -1,5 +0,0 @@
---
- name: setup target to be managed by ansible using setup role
hosts: cibles
roles:
- setup

View File

@@ -1,7 +1,7 @@
Role Name
=========
Setup a host for ansible management
Install apache
Requirements
------------
@@ -23,9 +23,9 @@ Example Playbook
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
- hosts: centos
roles:
- setup
- tco.apache
License
-------

View File

@@ -0,0 +1,2 @@
---
# defaults file for tco.apache

View File

@@ -0,0 +1,6 @@
---
# handlers file for tco
- name: restart apache
service:
name: httpd
state: restarted

39
tco.apache/tasks/main.yml Normal file
View File

@@ -0,0 +1,39 @@
---
- name: install apache
yum:
name: httpd
state: latest
- name: conf httpd
template:
src: vhost.conf
dest: /etc/httpd/conf.d/vhost.conf
mode: 0640
owner: root
group: apache
notify: restart apache
- name: activate apache
service:
name: httpd
enabled: yes
state: started
- name: open firewall port
firewalld:
service: http
permanent: yes
immediate: yes
state: enabled
ignore_errors: yes
- name: create documentroot
file:
name: /var/www/html/orsys.fr
state: directory
- name: create index file
template:
src: index.txt
dest: /var/www/html/orsys.fr/index.html
mode: 0644

View File

@@ -0,0 +1 @@
<span style="text-align: center;background-color: #FD5401; font-size: 42px;">Hello World</span>

View File

@@ -0,0 +1,16 @@
<VirtualHost *:80>
ServerName orsys.fr
ServerAlias www.orsys.fr
DocumentRoot /var/www/html/orsys.fr/
CustomLog /var/log/httpd/orsys.fr_access.log combined
ErrorLog /var/log/httpd/orsys.fr_error.log
<Directory />
Options none
Allowoverride none
Require all denied
</Directory>
<Directory /var/www/html/orsys.fr>
Require all granted
</Directory>
</VirtualHost>

View File

@@ -2,4 +2,4 @@
- hosts: localhost
remote_user: root
roles:
- setup
- tco.apache

2
tco.apache/vars/main.yml Normal file
View File

@@ -0,0 +1,2 @@
---
# vars file for tco.apache