ajout du role pour changer le hostname d'un BBB

This commit is contained in:
Antoine Ouvrard
2020-12-09 18:14:26 +01:00
parent 07a1176abe
commit dd12bd0a9b
5 changed files with 93 additions and 1 deletions
+2 -1
View File
@@ -1,4 +1,5 @@
jitsi.komuniki.fr ansible_user=debian ansible_become=true
visio.imio.be ansible_user=debian ansible_become=true
jitsi.entrouvert.com ansible_user=root
bbb.komuniki.fr ansible_user=root
bbb.komuniki.fr ansible_user=root
imio.bbb.komuniki.fr ansible_user=root bbbHostname=imio.bbb.komuniki.fr
+6
View File
@@ -48,3 +48,9 @@
- role: bbb-enable-metrics
tags:
- bbb
- hosts: imio.bbb.komuniki.fr
roles:
- role: bbb-set-hostname
tags:
- imio.bbb
+5
View File
@@ -0,0 +1,5 @@
---
- name: reload nginx
systemd:
name: nginx
state: reloaded
+74
View File
@@ -0,0 +1,74 @@
---
# Set du hostname BBB
# Prérequis : le DNS doit être positionné sur le nouveau nom de domaine
- name: vérification de la présence du hostname dans les variables
fail:
msg: |
la variable `bbbHostname` est obligatoire pour
utiliser le role bbb-set-hostname.
Veuillez la rajouter dans l'inventaire
when:
- bbbHostname is not defined
# Config BBB
- name: Récup du hostname actuellement configuré
fetch:
src: /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
dest: /tmp/
flat: yes
- name : Récup du hostname actuellement configuré
set_fact:
oldHostname: "{{ lookup('ini', 'bigbluebutton.web.serverURL type=properties file=/tmp/bigbluebutton.properties') | urlsplit('hostname') }}"
- name: execution de la commande bigbluebutton qui set le nouveau nom de domaine
command: "bbb-conf --setip {{ bbbHostname }}"
when: oldHostname != bbbHostname
# Config Greenlight
- name: Maj du server name greenlight de la conf bigbluebutton
replace:
path: /root/greenlight/.env
regexp: '(.*){{ oldHostname }}(.*)'
replace: '\1{{ bbbHostname }}\2'
- name: redémarrage de greenlight
shell: "cd /root/greenlight; docker-compose down; docker-compose up -d"
when: oldHostname != bbbHostname
# Config Let's encrypt
- name: Check si le certificat SSL est présent
stat:
path: /etc/letsencrypt/live/{{ bbbHostname }}/fullchain.pem
register: ssl_file
- name: Active la conf nginx nécessaire pour créer un certificat Let's Encrypt
template:
src: ../templates/nginxSSLcheck.conf
dest: /etc/nginx/sites-enabled/
mode: '0644'
when: not ssl_file.stat.exists
- name: Force le redémarrage de Nginx pour prendre en compte la nouvelle conf
systemd:
state: restarted
name: nginx
when: not ssl_file.stat.exists
- name: Certif LE
command: certbot --webroot -w /var/www/bigbluebutton-default/ -d {{ bbbHostname }} certonly
when: not ssl_file.stat.exists
- name: Suppression de la conf temporaire LE
file:
path: /etc/nginx/sites-enabled/nginxSSLcheck.conf
state: absent
notify: reload nginx
- name: Maj du server name nginx de la conf bigbluebutton
replace:
path: /etc/nginx/sites-enabled/bigbluebutton
regexp: '(.*){{ oldHostname }}(.*)'
replace: '\1{{ bbbHostname }}\2'
notify: reload nginx
@@ -0,0 +1,6 @@
server {
listen 80;
listen [::]:80;
server_name {{ bbbHostname }};
root /var/www/bigbluebutton-default/;
}