Update to 2021-12-01 19:13

This commit is contained in:
Daniel Berteaud
2021-12-01 19:13:34 +01:00
commit 4c4556c660
2153 changed files with 60999 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
---
- import_tasks: ../includes/webapps_compress_archive.yml
vars:
- root_dir: "{{ wp_root_dir }}"
- version: "{{ wp_current_version }}"
tags: wp

View File

@@ -0,0 +1,9 @@
---
- import_tasks: ../includes/webapps_archive.yml
vars:
- root_dir: "{{ wp_root_dir }}"
- version: "{{ wp_current_version }}"
- db_name: "{{ wp_db_name }}"
tags: wp

View File

@@ -0,0 +1,21 @@
---
- import_tasks: ../includes/webapps_webconf.yml
vars:
- app_id: wordpress_{{ wp_id }}
- php_version: "{{ wp_php_version }}"
- php_fpm_pool: "{{ wp_php_fpm_pool | default('') }}"
tags: wp
- import_tasks: ../includes/webapps_create_mysql_db.yml
vars:
- db_name: "{{ wp_db_name }}"
- db_user: "{{ wp_db_user }}"
- db_server: "{{ wp_db_server }}"
- db_pass: "{{ wp_db_pass }}"
tags: wp
- name: Deploy wp configuration
template: src=wp-config.php.j2 dest={{ wp_root_dir }}/web/wp-config.php owner={{ wp_php_user }} group={{ wp_php_user }} mode=660
tags: wp

View File

@@ -0,0 +1,24 @@
---
- name: Create directory structure
file: path={{ item.dir }} state=directory owner={{ item.owner | default(omit) }} group={{ item.group | default(omit) }} mode={{ item.mode | default(omit) }}
with_items:
- dir: "{{ wp_root_dir }}"
- dir: "{{ wp_root_dir }}/web"
owner: "{{ wp_php_user }}"
group: "{{ wp_php_user }}"
- dir: "{{ wp_root_dir }}/tmp"
owner: "{{ wp_php_user }}"
group: "{{ wp_php_user }}"
mode: 700
- dir: "{{ wp_root_dir }}/sessions"
owner: "{{ wp_php_user }}"
group: "{{ wp_php_user }}"
mode: 700
- dir: "{{ wp_root_dir }}/meta"
mode: 700
- dir: "{{ wp_root_dir }}/backup"
mode: 700
- dir: "{{ wp_root_dir }}/archives"
mode: 700
tags: wp

View File

@@ -0,0 +1,93 @@
---
- block:
- set_fact: wp_install_mode='none'
- set_fact: wp_installed=False
- set_fact: wp_current_version=''
- set_fact: wp_version=''
tags: wp
- name: Install wp-cli
yum:
name:
- wp-cli
tags: wp
- name: Check if wordpress is installed
command: php{{ wp_php_version }} /usr/bin/wp core is-installed
args:
chdir: "{{ wp_root_dir }}/web"
become_user: "{{ wp_php_user }}"
failed_when: False
changed_when: False
register: wp_installed
tags: wp
- name: Set install mode
set_fact: wp_install_mode='install'
when: wp_installed.rc != 0
tags: wp
- when: wp_manage_upgrade == True and wp_installed.rc == 0
tags: wp
block:
- name: Check if an update is available
shell: "php{{ wp_php_version }} /usr/bin/wp core check-update | grep -q 'Success: WordPress is at the latest version'"
args:
chdir: "{{ wp_root_dir }}/web"
become_user: "{{ wp_php_user }}"
changed_when: False
failed_when: False
register: wp_check_new_version
- name: Set upgrade mode
set_fact: wp_install_mode='upgrade'
when: wp_check_new_version.rc != 0
- name: Register current version
command: php{{ wp_php_version }} /usr/bin/wp core version
args:
chdir: "{{ wp_root_dir }}/web"
become_user: "{{ wp_php_user }}"
changed_when: False
register: wp_current_version
- set_fact: wp_current_version={{ wp_current_version.stdout }}
- when: wp_db_pass is not defined
tags: wp
block:
- import_tasks: ../includes/get_rand_pass.yml
vars:
- pass_file: "{{ wp_root_dir }}/meta/ansible_dbpass"
- set_fact: wp_db_pass={{ rand_pass }}
- name: Check is secrets have been created
stat: path={{ wp_root_dir }}/meta/ansible_{{ item }}
register: wp_secrets_files
loop:
- AUTH_KEY
- SECURE_AUTH_KEY
- LOGGED_IN_KEY
- NONCE_KEY
- AUTH_SALT
- SECURE_AUTH_SALT
- LOGGED_IN_SALT
- NONCE_SALT
- WP_CACHE_KEY_SALT
tags: wp
- name: Create missing secrets
shell: curl https://api.wordpress.org/secret-key/1.1/salt | perl -ne '/^define\(.{{ item.item }}.\s*,\s*.(.*).\s*\);/ && print "$1"' > {{ wp_root_dir }}/meta/ansible_{{ item.item }}
args:
creates: " {{ wp_root_dir }}/meta/ansible_{{ item.item }}"
warn: False
loop: "{{ wp_secrets_files.results }}"
when: not item.stat.exists
tags: wp
- name: Read secrets
command: cat {{ wp_root_dir }}/meta/ansible_{{ item.item }}
register: wp_secrets
changed_when: False
loop: "{{ wp_secrets_files.results }}"
tags: wp

View File

@@ -0,0 +1,78 @@
---
- import_tasks: ../includes/webapps_webconf.yml
vars:
- app_id: wordpress_{{ wp_id }}
- php_version: "{{ wp_php_version }}"
- php_fpm_pool: "{{ wp_php_fpm_pool | default('') }}"
tags: wp
- when: wp_install_mode == 'install'
tags: wp
become_user: "{{ wp_php_user }}"
block:
- name: Download wordpress
command: php{{ wp_php_version }} /usr/bin/wp core download --locale={{ wp_locale }}
failed_when: False # Ignore failure, it might have been downloaded previously
args:
chdir: "{{ wp_root_dir }}/web"
- name: Install wordpress
command: >
php{{ wp_php_version }} /usr/bin/wp core install
--url={{ wp_public_url }}
--title=Wordpress
--admin_user={{ wp_admin_user }}
--admin_email={{ wp_admin_email }}
--admin_password='{{ wp_admin_pass }}'
--skip-email
args:
chdir: "{{ wp_root_dir }}/web"
- when: wp_install_mode == 'upgrade'
tags: wp
become_user: "{{ wp_php_user }}"
block:
- name: Upgrade wordpress
command: php{{ wp_php_version }} /usr/bin/wp core update
args:
chdir: "{{ wp_root_dir }}/web"
- name: Upgrade database
command: php{{ wp_php_version }} /usr/bin/wp core update-db
args:
chdir: "{{ wp_root_dir }}/web"
- name: Upgrade locales, plugins and themes
shell: |
php{{ wp_php_version }} /usr/bin/wp core language update
php{{ wp_php_version }} /usr/bin/wp plugin update --all
php{{ wp_php_version }} /usr/bin/wp theme update --all
php{{ wp_php_version }} /usr/bin/wp language plugin update --all
php{{ wp_php_version }} /usr/bin/wp language theme update --all
args:
chdir: "{{ wp_root_dir }}/web"
- name: Set correct SELinux context
sefcontext:
target: "{{ wp_root_dir }}(/.*)?"
setype: httpd_sys_content_t
when: ansible_selinux.status == 'enabled'
tags: wp
- name: Deploy permission script
template: src=perms.sh.j2 dest={{ wp_root_dir }}/perms.sh mode=755
register: wp_perms_script
tags: wp
- name: Set permissions
command: "{{ wp_root_dir }}/perms.sh"
when: wp_install_mode != 'none' or wp_perms_script.changed
tags: wp
- name: Deploy pre/post backup hooks
template: src={{ item }}-backup.sh.j2 dest=/etc/backup/{{ item }}.d/wordpress_{{ wp_id }} mode=750
loop:
- pre
- post
tags: wp

View File

@@ -0,0 +1,11 @@
---
- include: user.yml
- include: directories.yml
- include: facts.yml
- include: archive_pre.yml
when: wp_install_mode == 'upgrade'
- include: conf.yml
- include: install.yml
- include: archive_post.yml
when: wp_install_mode == 'upgrade'

View File

@@ -0,0 +1,7 @@
---
- import_tasks: ../includes/create_system_user.yml
vars:
- user: "{{ wp_php_user }}"
- comment: "PHP FPM for wordpress {{ wp_id }}"
tags: wp