1 # commande pour lancer le playbook: ansible-playbook creation_nouveau_site.yml
2 # attention - Par défaut ce scipt se lancer vers ligatures
4 - name: Promp pour définir les variables du nouveau ite
6 become: true # toutes les tâches seront pas défaut éxécuter en tant que root
9 # config_nginx: true à l'avenir on pourrait demander à l'utilisateur de choisir si il veut configurer nginx
10 # nouvelle_version: 27.1.7 # nextcloud
11 # ancienne_version: 27.1.6 # nextcloud
16 prompt: 'quel type de site?(ex: nuage, www, wiki, paheko)'
21 prompt: 'TLD du site à mettre à jour?(ex: org)'
26 prompt: 'Domaine du site à mettre à jour?(ex: heureux-cyclage)'
28 default: "heureux-cyclage"
31 prompt: 'Sigle du site à mettre à jour?(ex: lhc)'
36 prompt: 'Faut-il configurer un pool PHP?(ex: oui/non)'
41 prompt: 'Faut-il configurer un certificat ssl pour le HTTPS?(ex: oui/non)'
46 prompt: 'besoin de configurer un accès SFTP pour ce compte (ex: oui/non)'
51 prompt: "Entrer la clé publique à autoriser pour l'acces SFTP (si nécessaire)"
57 - name: Vérifier le sigle n'est pas déjà utilisé
58 ansible.builtin.lineinfile:
60 search_string: "site_{{ SIGLE }}"
64 register: presence_sigle
65 failed_when: presence_sigle.changed
69 - name: Inclure la configuration d'un site web basique
70 ansible.builtin.include_tasks: tasks/config_www.yml
72 - name: Inclure la configuration d'un pool PHP
73 ansible.builtin.include_tasks: tasks/config_pool_php.yml
74 when: config_php == 'oui' or SITE == 'paheko' or SITE == 'nuage'
76 - name: Inclure la configuration nextcloud si besoin
77 ansible.builtin.include_tasks: tasks/config_nuage.yml
80 - name: Inclure la configuration paheko si besoin
81 ansible.builtin.include_tasks: tasks/config_paheko.yml
82 when: SITE == 'paheko'
85 ## Mettre à jour la conf de borgmatic pour intégrer les dossiers du nouveau nuage dans 'source_directories'
87 # vim /etc/borgmatic/config.yaml
89 # - /home/sites/data/${TLD}/${DOMAIN}/${SITE}/config
90 # - /home/sites/data/${TLD}/${DOMAIN}/${SITE}/data
92 # - name: Bloc permettant de générer les certificats SSL
93 # when: besoin_https == 'oui'
95 # - name: Inclure la configuration nginx http
96 # ansible.builtin.include_tasks: tasks/config_nginx.yml
98 # template_site: 'http'
100 # - name: Générer un certififat avec certbot # noqa : command-instead-of-module
102 # ansible.builtin.command: 'certbot certonly -i nginx -d {{ SITE }}.{{ DOMAIN }}.{{ TLD }}'
103 # register: certbot_log
104 # changed_when: false
106 # - name: Afficher les logs certbot
107 # ansible.builtin.debug:
109 # when: certbot_log is defined
111 # - name: Inclure la configuration nginx
112 # ansible.builtin.include_tasks: tasks/config_nginx.yml
114 # template_site: "{{ SITE }}"