X-Git-Url: http://git.cyclocoop.org/%24self2&var_mode_affiche=squelette?a=blobdiff_plain;f=creation_nouveau_site.yml;h=4759c127827f8ab082261beebced4d495f55a263;hb=c99e640f1cb009b1d95475969b0a5f93778be6f9;hp=89338c1d09f693efde6e7ca0aa90ad0eb565af28;hpb=5f7ed8e1233e5b2bb33ac343113d3fa5bfe77ec3;p=lhc%2Fansible.git diff --git a/creation_nouveau_site.yml b/creation_nouveau_site.yml index 89338c1..4759c12 100644 --- a/creation_nouveau_site.yml +++ b/creation_nouveau_site.yml @@ -1,6 +1,9 @@ # commande pour lancer le playbook: ansible-playbook creation_nouveau_site.yml # attention - Par défaut ce scipt se lancer vers ligatures +# pour ne jouer que la partie permettant de générer le certificat SSL pour le HTTPS lancer la commance ci-dessous: +# ansible-playbook creation_nouveau_site.yml --tags "https" + - name: Promp pour définir les variables du nouveau ite hosts: ligatures become: true # toutes les tâches seront pas défaut éxécuter en tant que root @@ -13,7 +16,7 @@ vars_prompt: - name: SITE - prompt: 'quel type de site?(ex: nuage, www, wiki, paheko ou gestion)' + prompt: 'quel type de site?(ex: nuage, www, paheko ou WP)' private: false default: "nuage" @@ -32,57 +35,41 @@ private: false default: "lhc" - - name: config_php - prompt: 'Faut-il configurer un pool PHP?(ex: oui/non)' - private: false - default: "non" - - name: besoin_https prompt: 'Faut-il configurer un certificat ssl pour le HTTPS?(ex: oui/non)' private: false default: "non" - - name: sftp - prompt: 'besoin de configurer un accès SFTP pour ce compte (ex: oui/non)' - private: false - default: "non" + # pre_tasks: - - name: sftp_key - prompt: "Entrer la clé publique à autoriser pour l'acces SFTP (si nécessaire)" - private: false - default: "non" - - pre_tasks: - - - name: Vérifier le sigle n'est pas déjà utilisé - ansible.builtin.lineinfile: - dest: /etc/passwd - search_string: "site_{{ SIGLE }}" - state: absent - check_mode: true - changed_when: false - register: presence_sigle - failed_when: presence_sigle.changed + # - name: Vérifier le sigle n'est pas déjà utilisé + # ansible.builtin.lineinfile: + # dest: /etc/passwd + # search_string: "site_{{ SIGLE }}_{{ SITE }}" + # state: absent + # check_mode: true + # changed_when: false + # register: presence_sigle + # failed_when: presence_sigle.changed tasks: - name: Inclure la configuration d'un site web basique ansible.builtin.include_tasks: tasks/config_www.yml + - name: Inclure les configurations optionnelles d'un site www + ansible.builtin.include_tasks: tasks/config_options_www.yml + when: SITE != 'nuage' + - name: Inclure la configuration nginx ansible.builtin.include_tasks: tasks/config_nginx.yml vars: template_site: "{{ SITE }}" when: besoin_https == 'non' -# scenario pre-install nginx sans ssl -# test installed=false or needupgrade:true -# test installed=true et needupgrade:false -# puis certbot à la fin -# puis template nginx ssl pour test manuel - - name: Bloc permettant de générer les certificats SSL when: besoin_https == 'oui' + tags: https block: - name: Inclure la configuration nginx http ansible.builtin.include_tasks: tasks/config_nginx.yml @@ -91,7 +78,7 @@ - name: Générer un certififat avec certbot # noqa : command-instead-of-module become: true - ansible.builtin.command: 'certbot certonly -n --nginx -d {{ SITE }}.{{ DOMAIN }}.{{ TLD }}' + ansible.builtin.command: 'certbot certonly -n --nginx -d {{ config_ss_domain | default(SITE) }}.{{ DOMAIN }}.{{ TLD }}' register: certbot_log ignore_errors: true changed_when: false @@ -113,7 +100,15 @@ - name: Inclure la configuration d'un pool PHP ansible.builtin.include_tasks: tasks/config_pool_php.yml - when: config_php == 'oui' or SITE == 'paheko' or SITE == 'gestion' or SITE == 'nuage' + when: config_php == 'oui' or SITE == 'paheko' or SITE == 'WP' or SITE == 'nuage' + + - name: Inclure la configuration d'une bdd postgres + ansible.builtin.include_tasks: tasks/config_bdd_postgres.yml + when: config_bdd == 'postgres' or SITE == 'nuage' + + - name: Inclure la configuration d'une bdd mariadb + ansible.builtin.include_tasks: tasks/config_bdd_mariadb.yml + when: config_bdd == 'mariadb' or SITE == 'WP' - name: Inclure la configuration nextcloud si besoin ansible.builtin.include_tasks: tasks/config_nuage.yml @@ -121,9 +116,15 @@ - name: Inclure la configuration paheko si besoin ansible.builtin.include_tasks: tasks/config_paheko.yml - when: SITE == 'paheko' or SITE == 'gestion' + when: SITE == 'paheko' + + - name: Inclure la configuration WP si besoin + ansible.builtin.include_tasks: tasks/config_wp.yml + when: SITE == 'WP' - name: Inclure le configuration du backup ansible.builtin.include_tasks: tasks/config_backup.yml -# SFTP key + - name: Inclure le configuration SFTP + ansible.builtin.include_tasks: tasks/config_sftp.yml + when: sftp == 'oui'