- name: Téléchargement de Wordpress become: true become_user: "{{ wordpress_user }}" ansible.builtin.command: chdir: "/var/www/{{ wordpress_user }}/{{ wordpress_site }}" cmd: "wp core download --locale='{{ wordpress_locale }}' --skip-content" creates: "/var/www/{{ wordpress_user }}/{{ wordpress_site }}/wp-config-sample.php" # TODO: https://make.wordpress.org/cli/handbook/references/config/#config-files - name: Configuration de Wordpress become: true become_user: "{{ wordpress_user }}" ansible.builtin.shell: chdir: "/var/www/{{ wordpress_user }}/{{ wordpress_site }}" executable: "/usr/bin/bash" cmd: | set -o pipefail wp config create \ --dbhost='{{ wordpress_db_host }}' \ --dbname='{{ wordpress_db_name }}' \ --dbuser='{{ wordpress_db_user }}' \ --dbpass='{{ wordpress_db_pass }}' \ --dbprefix='{{ wordpress_db_prefix }}' \ --dbcharset='{{ wordpress_db_charset }}' \ --extra-php < wp core install --url='{{ wordpress_url }}' --title='{{ wordpress_site_title }}' --admin_user='{{ wordpress_admin_user }}' --admin_password='{{ wordpress_admin_password }}' --admin_email='{{ wordpress_admin_email }}' --locale='{{ wordpress_locale }}' --skip-email creates: "/var/www/{{ wordpress_user }}/{{ wordpress_site }}/wp-content/uploads/ }}" register: "wordpress_out_core_install" changed_when: "'Success: WordPress installed successfully.' in wordpress_out_core_install.stdout" notify: - "Flush Wordpress" - name: Installation des thèmes Wordpress become: true become_user: "{{ wordpress_user }}" loop: "{{ wordpress_themes }}" ansible.builtin.command: chdir: "/var/www/{{ wordpress_user }}/{{ wordpress_site }}" cmd: "wp theme install '{{ item }}'" creates: "/var/www/{{ wordpress_user }}/{{ wordpress_site }}/wp-content/themes/{{ item | basename | splitext | first }}" register: "wordpress_out_theme_install" changed_when: "'Success: Installed 1 of 1 themes' in wordpress_out_theme_install.stdout" notify: - "Flush Wordpress" - name: Activation du thème Wordpress become: true become_user: "{{ wordpress_user }}" ansible.builtin.command: chdir: "/var/www/{{ wordpress_user }}/{{ wordpress_site }}" cmd: "wp theme activate '{{ wordpress_active_theme }}'" register: "wordpress_out_theme_activate" changed_when: "'Success: Switched to ' in wordpress_out_theme_activate.stdout" notify: - "Flush Wordpress" - name: Installation des plugins wordpress-importer et one-click-demo-import vars: wordpress_plugins_to_install: - "wordpress-importer" - "one-click-demo-import" ansible.builtin.include_tasks: "install_plugins.yml" - name: Importation des plugins OCDI become: true become_user: "{{ wordpress_user }}" loop: "{{ wordpress_import_ocdi_indexes }}" ansible.builtin.shell: chdir: "/var/www/{{ wordpress_user }}/{{ wordpress_site }}" executable: "/usr/bin/bash" cmd: | set -o pipefail wp ocdi import --predefined='{{ item }}' \ && touch /var/www/{{ wordpress_user }}/{{ wordpress_site }}/.ocdi_index{{ item }}_imported creates: "/var/www/{{ wordpress_user }}/{{ wordpress_site }}/.ocdi_index{{ item }}_imported" register: "wordpress_out_ocdi_import" changed_when: "'Success: Content import finished!' in wordpress_out_ocdi_import.stdout" notify: - "Flush Wordpress" - name: Installation des plugins Wordpress vars: wordpress_plugins_to_install: "{{ wordpress_plugins }}" ansible.builtin.include_tasks: "install_plugins.yml" - name: Création du répertoire cache de Wordpress ansible.builtin.file: path: "/var/www/{{ wordpress_user }}/{{ wordpress_site }}/wp-content/cache" state: "directory" owner: "{{ wordpress_user }}" group: "www-data" mode: "0775" - name: Apply permissions loop: - "cache" - "upgrade" - "uploads" ansible.builtin.file: path: "/var/www/{{ wordpress_user }}/{{ wordpress_site }}/wp-content/{{ item }}/" owner: "{{ wordpress_user }}" group: "www-data" mode: "u=rwX,g=rwX,o=rX" recurse: true