--- - name: Vérifier si WordPress existe sous /var/www/wordpress stat: path: /var/www/wordpress register: wordpress_dir # Si /var/www/wordpress n'existe pas, alors télécharger WordPress - name: Télécharger l'archive WordPress en utilisant curl command: curl -o /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz args: creates: /tmp/wordpress.tar.gz when: wordpress_dir.stat.exists == False # Si /var/www/wordpress n'existe pas, alors décompresser WordPress - name: Décompacter l'archive WordPress ansible.builtin.unarchive: src: /tmp/wordpress.tar.gz dest: /var/www remote_src: yes owner: www-data group: www-data when: wordpress_dir.stat.exists == False # Vérifier si /var/www/wordpress/wp-config.php existe - name: Vérifier si wp-config.php existe sous /var/www/wordpress stat: path: /var/www/wordpress/wp-config.php register: wp_config # Télécharger des clés secrètes WordPress - name: Télécharger config wp salt command: curl https://api.wordpress.org/secret-key/1.1/salt/ register: wp_salt when: wp_config.stat.exists == False # Créer wp-config.php s'il n'existe pas - name: Create wp-config.php ansible.builtin.template: src: templates/wp-config-sample.php.j2 dest: /var/www/wordpress/wp-config.php owner: www-data group: www-data mode: "0440" when: wp_config.stat.exists == False # Vérifier si WordPress CLI existe - name: Vérifier si wp-cli existe ansible.builtin.stat: path: /usr/local/bin/wp register: wp_cli # Télécharger WordPress CLI - name: Télécharger wp-cli command: curl -o /usr/local/bin/wp https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar args: creates: /usr/local/bin/wp when: wp_cli.stat.exists == False # Rendre WordPress CLI exécutable - name: Rendre WordPress CLI exécutable command: chmod +x /usr/local/bin/wp # Vérifier si WordPress est installé (tables de la base de données initialisées) - name: Vérifier si WordPress est installé command: sudo -u www-data wp core is-installed --path=/var/www/wordpress register: wp_installed ignore_errors: yes # Installer Wordpress avec wp core install (cwd: /var/www/wordpress) - name: Installer WordPress command: sudo -u www-data wp core install --url={{ wp_site_url }} --title="{{ wp_site_title }}" --admin_user={{ wp_username }} --admin_password={{ wp_password }} --admin_email={{ wp_admin_email }} # WP-CLI complains if we run it as root, so we become a regular user become: no # Shou args: chdir: /var/www/wordpress when: wp_installed.rc != 0