From 20a365ed9bfad37ba5b1f58776958079d0c27d41 Mon Sep 17 00:00:00 2001 From: HgO Date: Tue, 10 Aug 2021 20:09:05 +0200 Subject: [PATCH 1/7] install php8 by default from sury repository --- roles/dokuwiki/tasks/main.yml | 3 --- roles/dokuwiki/vars/main.yml | 3 +++ roles/grav/tasks/main.yml | 3 --- roles/grav/vars/main.yml | 2 ++ roles/php_fpm/molecule/default/prepare.yml | 16 ++++++++++++++++ roles/php_fpm/tasks/main.yml | 13 ++++++++++++- 6 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 roles/php_fpm/molecule/default/prepare.yml diff --git a/roles/dokuwiki/tasks/main.yml b/roles/dokuwiki/tasks/main.yml index 23c0d21..902e8c7 100644 --- a/roles/dokuwiki/tasks/main.yml +++ b/roles/dokuwiki/tasks/main.yml @@ -7,9 +7,6 @@ - name: Installation de PHP import_role: name: php_fpm - vars: - # Dokuwiki handles php session name by itself - php_fpm_session_name: "" tags: ['php_fpm'] - name: Configuration du site (caddy, php-fpm, etc.) diff --git a/roles/dokuwiki/vars/main.yml b/roles/dokuwiki/vars/main.yml index 8a5971f..78baecf 100644 --- a/roles/dokuwiki/vars/main.yml +++ b/roles/dokuwiki/vars/main.yml @@ -1,3 +1,4 @@ +php_version: "7.4" php_modules: - php-curl - php-gd @@ -5,3 +6,5 @@ php_modules: - php-mbstring - php-zip - php-apcu +# Dokuwiki handles php session name by itself +php_fpm_session_name: "" diff --git a/roles/grav/tasks/main.yml b/roles/grav/tasks/main.yml index 7d27a79..24a102c 100644 --- a/roles/grav/tasks/main.yml +++ b/roles/grav/tasks/main.yml @@ -7,9 +7,6 @@ - name: Installation de PHP import_role: name: php_fpm - vars: - # Grav handles php session name by itself - php_fpm_session_name: "" tags: ['php_fpm'] - name: Installation de Composer diff --git a/roles/grav/vars/main.yml b/roles/grav/vars/main.yml index b2bc0f1..a65e61a 100644 --- a/roles/grav/vars/main.yml +++ b/roles/grav/vars/main.yml @@ -7,3 +7,5 @@ php_modules: - php-apcu - php-yaml - php-sqlite3 +# Grav handles php session name by itself +php_fpm_session_name: "" diff --git a/roles/php_fpm/molecule/default/prepare.yml b/roles/php_fpm/molecule/default/prepare.yml new file mode 100644 index 0000000..a611e5f --- /dev/null +++ b/roles/php_fpm/molecule/default/prepare.yml @@ -0,0 +1,16 @@ +--- +- name: Prepare + hosts: all + become: true + + pre_tasks: + - name: Mise à jour du cache APT + apt: + update_cache: true + cache_valid_time: 3600 + + tasks: + - name: Installation de GPG + package: + name: gpg + state: present diff --git a/roles/php_fpm/tasks/main.yml b/roles/php_fpm/tasks/main.yml index 25bbd0f..82101f8 100644 --- a/roles/php_fpm/tasks/main.yml +++ b/roles/php_fpm/tasks/main.yml @@ -1,6 +1,17 @@ +- name: Ajout de la clé GPG de Sury dans APT + apt_key: + url: https://packages.sury.org/php/apt.gpg + state: present + +- name: Ajout du dépôt Sury + apt_repository: + repo: deb https://packages.sury.org/php/ {{ ansible_distribution_release }} main + filename: sury-php + state: present + - name: Installation de PHP {{ php_version }} et de ses modules package: - name: "{{ php_packages + php_modules | map('regex_replace', '$', php_version) | list }}" + name: "{{ (php_packages + php_modules) | map('regex_replace', '^php', 'php' + php_version) | list }}" state: present - name: Installation de imagemagick -- GitLab From 4aae66ffdd5c9a635da1fa991f14fdd74874509e Mon Sep 17 00:00:00 2001 From: HgO Date: Tue, 10 Aug 2021 20:54:11 +0200 Subject: [PATCH 2/7] simplify php install and remove uneeded handlers --- roles/ceph_s3/handlers/main.yml | 3 --- roles/ceph_s3/tasks/main.yml | 4 ---- roles/commun/handlers/main.yml | 4 ++++ roles/php_fpm/tasks/main.yml | 23 +++++++++++++++-------- roles/php_fpm/vars/main.yml | 3 --- roles/telegraf/handlers/main.yml | 3 --- roles/telegraf/tasks/main.yml | 4 ---- 7 files changed, 19 insertions(+), 25 deletions(-) delete mode 100644 roles/ceph_s3/handlers/main.yml delete mode 100644 roles/telegraf/handlers/main.yml diff --git a/roles/ceph_s3/handlers/main.yml b/roles/ceph_s3/handlers/main.yml deleted file mode 100644 index 53491dd..0000000 --- a/roles/ceph_s3/handlers/main.yml +++ /dev/null @@ -1,3 +0,0 @@ -- name: update apt cache - apt: - update_cache: true diff --git a/roles/ceph_s3/tasks/main.yml b/roles/ceph_s3/tasks/main.yml index 82287b4..637a1c1 100644 --- a/roles/ceph_s3/tasks/main.yml +++ b/roles/ceph_s3/tasks/main.yml @@ -9,10 +9,6 @@ repo: "deb http://download.proxmox.com/debian/ceph-{{ ceph_proxmox_version }} {{ ansible_distribution_release }} main" filename: proxmox-ceph state: present - notify: update apt cache - -- name: Trigger APT handler - meta: flush_handlers - name: Installation des plugins Telegraf import_role: diff --git a/roles/commun/handlers/main.yml b/roles/commun/handlers/main.yml index 78bfe03..c4272a5 100644 --- a/roles/commun/handlers/main.yml +++ b/roles/commun/handlers/main.yml @@ -1,5 +1,9 @@ --- +- name: update apt cache + apt: + update_cache: true + - name: restart ssh service: name: ssh diff --git a/roles/php_fpm/tasks/main.yml b/roles/php_fpm/tasks/main.yml index 82101f8..03c52f9 100644 --- a/roles/php_fpm/tasks/main.yml +++ b/roles/php_fpm/tasks/main.yml @@ -9,17 +9,13 @@ filename: sury-php state: present -- name: Installation de PHP {{ php_version }} et de ses modules +- name: Installation de PHP et PHP-FPM package: - name: "{{ (php_packages + php_modules) | map('regex_replace', '^php', 'php' + php_version) | list }}" + name: + - "{{ php_executable }}" + - "{{ php_fpm_executable }}" state: present -- name: Installation de imagemagick - package: - name: imagemagick - state: present - when: "'php-imagick' in php_modules" - - name: Récupération et définition de la dernière version de PHP when: php_version == "" block: @@ -33,6 +29,17 @@ set_fact: php_version: "{{ _php_version.stdout }}" +- name: Installation des modules PHP + package: + name: "{{ php_modules | map('regex_replace', '^php', 'php' + php_version) | list }}" + state: present + +- name: Installation de imagemagick + package: + name: imagemagick + state: present + when: "'php-imagick' in php_modules" + - name: Copie de la configuration OPCache template: src: opcache.ini.j2 diff --git a/roles/php_fpm/vars/main.yml b/roles/php_fpm/vars/main.yml index 9dc15e4..870727a 100644 --- a/roles/php_fpm/vars/main.yml +++ b/roles/php_fpm/vars/main.yml @@ -1,5 +1,2 @@ -php_packages: - - php - - php-fpm php_executable: "php{{ php_version }}" php_fpm_executable: php{{ php_version }}-fpm diff --git a/roles/telegraf/handlers/main.yml b/roles/telegraf/handlers/main.yml deleted file mode 100644 index 53491dd..0000000 --- a/roles/telegraf/handlers/main.yml +++ /dev/null @@ -1,3 +0,0 @@ -- name: update apt cache - apt: - update_cache: true diff --git a/roles/telegraf/tasks/main.yml b/roles/telegraf/tasks/main.yml index 79e76d3..ffa509a 100644 --- a/roles/telegraf/tasks/main.yml +++ b/roles/telegraf/tasks/main.yml @@ -17,10 +17,6 @@ repo: deb https://repos.influxdata.com/debian {{ ansible_distribution_release }} stable state: present filename: telegraf - notify: update apt cache - -- name: Trigger APT handler - meta: flush_handlers - name: Installation de Telegraf apt: -- GitLab From dfad91177ecae18f2ec57d2d44e1ceaf862a4ff0 Mon Sep 17 00:00:00 2001 From: HgO Date: Tue, 10 Aug 2021 21:49:15 +0200 Subject: [PATCH 3/7] move php-fpm vars into task vars --- roles/dokuwiki/tasks/main.yml | 11 +++++++++++ roles/dokuwiki/vars/main.yml | 10 ---------- roles/grav/tasks/main.yml | 12 ++++++++++++ roles/grav/vars/main.yml | 11 ----------- 4 files changed, 23 insertions(+), 21 deletions(-) delete mode 100644 roles/dokuwiki/vars/main.yml delete mode 100644 roles/grav/vars/main.yml diff --git a/roles/dokuwiki/tasks/main.yml b/roles/dokuwiki/tasks/main.yml index 902e8c7..5e6683f 100644 --- a/roles/dokuwiki/tasks/main.yml +++ b/roles/dokuwiki/tasks/main.yml @@ -7,6 +7,17 @@ - name: Installation de PHP import_role: name: php_fpm + vars: + php_version: "7.4" + php_modules: + - php-curl + - php-gd + - php-xml + - php-mbstring + - php-zip + - php-apcu + # Dokuwiki handles php session name by itself + php_fpm_session_name: "" tags: ['php_fpm'] - name: Configuration du site (caddy, php-fpm, etc.) diff --git a/roles/dokuwiki/vars/main.yml b/roles/dokuwiki/vars/main.yml deleted file mode 100644 index 78baecf..0000000 --- a/roles/dokuwiki/vars/main.yml +++ /dev/null @@ -1,10 +0,0 @@ -php_version: "7.4" -php_modules: - - php-curl - - php-gd - - php-xml - - php-mbstring - - php-zip - - php-apcu -# Dokuwiki handles php session name by itself -php_fpm_session_name: "" diff --git a/roles/grav/tasks/main.yml b/roles/grav/tasks/main.yml index 24a102c..bc2e6cb 100644 --- a/roles/grav/tasks/main.yml +++ b/roles/grav/tasks/main.yml @@ -7,6 +7,18 @@ - name: Installation de PHP import_role: name: php_fpm + vars: + php_modules: + - php-curl + - php-gd + - php-xml + - php-mbstring + - php-zip + - php-apcu + - php-yaml + - php-sqlite3 + # Grav handles php session name by itself + php_fpm_session_name: "" tags: ['php_fpm'] - name: Installation de Composer diff --git a/roles/grav/vars/main.yml b/roles/grav/vars/main.yml deleted file mode 100644 index a65e61a..0000000 --- a/roles/grav/vars/main.yml +++ /dev/null @@ -1,11 +0,0 @@ -php_modules: - - php-curl - - php-gd - - php-xml - - php-mbstring - - php-zip - - php-apcu - - php-yaml - - php-sqlite3 -# Grav handles php session name by itself -php_fpm_session_name: "" -- GitLab From d0be756ecdf733564ef31071b8301cf068937a50 Mon Sep 17 00:00:00 2001 From: HgO Date: Tue, 10 Aug 2021 21:50:51 +0200 Subject: [PATCH 4/7] remove php-apcu --- roles/dokuwiki/tasks/main.yml | 1 - roles/grav/tasks/main.yml | 1 - roles/nextcloud/vars/main.yml | 1 - 3 files changed, 3 deletions(-) diff --git a/roles/dokuwiki/tasks/main.yml b/roles/dokuwiki/tasks/main.yml index 5e6683f..3ce492f 100644 --- a/roles/dokuwiki/tasks/main.yml +++ b/roles/dokuwiki/tasks/main.yml @@ -15,7 +15,6 @@ - php-xml - php-mbstring - php-zip - - php-apcu # Dokuwiki handles php session name by itself php_fpm_session_name: "" tags: ['php_fpm'] diff --git a/roles/grav/tasks/main.yml b/roles/grav/tasks/main.yml index bc2e6cb..b217d46 100644 --- a/roles/grav/tasks/main.yml +++ b/roles/grav/tasks/main.yml @@ -14,7 +14,6 @@ - php-xml - php-mbstring - php-zip - - php-apcu - php-yaml - php-sqlite3 # Grav handles php session name by itself diff --git a/roles/nextcloud/vars/main.yml b/roles/nextcloud/vars/main.yml index 8b5b7f5..51fd1ad 100644 --- a/roles/nextcloud/vars/main.yml +++ b/roles/nextcloud/vars/main.yml @@ -8,7 +8,6 @@ postgres_packages: - acl nextcloud_php_modules: - - php-apcu - php-curl - php-bcmath - php-bz2 -- GitLab From 3df687e73320bba4cb58d47edbb659a90f21307b Mon Sep 17 00:00:00 2001 From: HgO Date: Wed, 11 Aug 2021 12:46:43 +0200 Subject: [PATCH 5/7] install php-opcache --- roles/dokuwiki/tasks/main.yml | 1 + roles/grav/tasks/main.yml | 1 + roles/nextcloud/vars/main.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/roles/dokuwiki/tasks/main.yml b/roles/dokuwiki/tasks/main.yml index 3ce492f..3171244 100644 --- a/roles/dokuwiki/tasks/main.yml +++ b/roles/dokuwiki/tasks/main.yml @@ -10,6 +10,7 @@ vars: php_version: "7.4" php_modules: + - php-opcache - php-curl - php-gd - php-xml diff --git a/roles/grav/tasks/main.yml b/roles/grav/tasks/main.yml index b217d46..889e244 100644 --- a/roles/grav/tasks/main.yml +++ b/roles/grav/tasks/main.yml @@ -9,6 +9,7 @@ name: php_fpm vars: php_modules: + - php-opcache - php-curl - php-gd - php-xml diff --git a/roles/nextcloud/vars/main.yml b/roles/nextcloud/vars/main.yml index 51fd1ad..015d793 100644 --- a/roles/nextcloud/vars/main.yml +++ b/roles/nextcloud/vars/main.yml @@ -8,6 +8,7 @@ postgres_packages: - acl nextcloud_php_modules: + - php-opcache - php-curl - php-bcmath - php-bz2 -- GitLab From 32fa67980e8be186d5a3dd4d03cf7ec6fa6df774 Mon Sep 17 00:00:00 2001 From: HgO Date: Wed, 11 Aug 2021 13:05:31 +0200 Subject: [PATCH 6/7] split install default vs extra php modules --- roles/dokuwiki/tasks/main.yml | 7 ------- roles/grav/tasks/main.yml | 12 +++--------- roles/nextcloud/tasks/main.yml | 12 +++++++++++- roles/nextcloud/vars/main.yml | 17 ----------------- roles/php_fpm/defaults/main.yml | 2 +- roles/php_fpm/tasks/main.yml | 30 +++++++++++++++++++++++++++--- 6 files changed, 42 insertions(+), 38 deletions(-) diff --git a/roles/dokuwiki/tasks/main.yml b/roles/dokuwiki/tasks/main.yml index 3171244..afaca4c 100644 --- a/roles/dokuwiki/tasks/main.yml +++ b/roles/dokuwiki/tasks/main.yml @@ -9,13 +9,6 @@ name: php_fpm vars: php_version: "7.4" - php_modules: - - php-opcache - - php-curl - - php-gd - - php-xml - - php-mbstring - - php-zip # Dokuwiki handles php session name by itself php_fpm_session_name: "" tags: ['php_fpm'] diff --git a/roles/grav/tasks/main.yml b/roles/grav/tasks/main.yml index 889e244..459318d 100644 --- a/roles/grav/tasks/main.yml +++ b/roles/grav/tasks/main.yml @@ -8,15 +8,9 @@ import_role: name: php_fpm vars: - php_modules: - - php-opcache - - php-curl - - php-gd - - php-xml - - php-mbstring - - php-zip - - php-yaml - - php-sqlite3 + php_extra_modules: + - yaml + - sqlite3 # Grav handles php session name by itself php_fpm_session_name: "" tags: ['php_fpm'] diff --git a/roles/nextcloud/tasks/main.yml b/roles/nextcloud/tasks/main.yml index acfc6c2..d5db039 100644 --- a/roles/nextcloud/tasks/main.yml +++ b/roles/nextcloud/tasks/main.yml @@ -9,7 +9,17 @@ name: php_fpm vars: php_version: "{{ nextcloud_php_version }}" - php_modules: "{{ nextcloud_php_modules }}" + php_extra_modules: + - bcmath + - bz2 + - fileinfo + - gmp + - imagick + - intl + - json + - pgsql + - redis + tags: ['php_fpm'] - name: Installation l'application web diff --git a/roles/nextcloud/vars/main.yml b/roles/nextcloud/vars/main.yml index 015d793..5a8474b 100644 --- a/roles/nextcloud/vars/main.yml +++ b/roles/nextcloud/vars/main.yml @@ -6,20 +6,3 @@ postgres_packages: - libpq-dev - python3-psycopg2 - acl - -nextcloud_php_modules: - - php-opcache - - php-curl - - php-bcmath - - php-bz2 - - php-fileinfo - - php-gd - - php-gmp - - php-imagick - - php-intl - - php-json - - php-mbstring - - php-pgsql - - php-redis - - php-xml - - php-zip diff --git a/roles/php_fpm/defaults/main.yml b/roles/php_fpm/defaults/main.yml index 35d9753..dadb7c7 100644 --- a/roles/php_fpm/defaults/main.yml +++ b/roles/php_fpm/defaults/main.yml @@ -1,6 +1,6 @@ php_version: "" php_config_dir: "/etc/php/{{ php_version }}" -php_modules: [] +php_extra_modules: [] php_fpm_config_dir: "{{ php_config_dir }}/fpm" php_fpm_pool_dir: "{{ php_fpm_config_dir }}/pool.d" diff --git a/roles/php_fpm/tasks/main.yml b/roles/php_fpm/tasks/main.yml index 03c52f9..23e7686 100644 --- a/roles/php_fpm/tasks/main.yml +++ b/roles/php_fpm/tasks/main.yml @@ -29,16 +29,40 @@ set_fact: php_version: "{{ _php_version.stdout }}" -- name: Installation des modules PHP +- name: Installation des modules PHP par défaut package: - name: "{{ php_modules | map('regex_replace', '^php', 'php' + php_version) | list }}" + name: "{{ php_module }}" state: present + loop: + - cli + - curl + - gd + - mbstring + - opcache + - xml + - zip + loop_control: + loop_var: module_name + label: "{{ php_module }}" + vars: + php_module: "{{ php_executable }}-{{ module_name }}" + +- name: Installation des modules PHP additionnels + package: + name: "{{ php_module }}" + state: present + loop: "{{ php_extra_modules }}" + loop_control: + loop_var: module_name + label: "{{ php_module }}" + vars: + php_module: "{{ php_executable }}-{{ module_name }}" - name: Installation de imagemagick package: name: imagemagick state: present - when: "'php-imagick' in php_modules" + when: "'imagick' in php_extra_modules" - name: Copie de la configuration OPCache template: -- GitLab From 5c6195ae55544469694f1c625eea5225a2247d4a Mon Sep 17 00:00:00 2001 From: HgO Date: Sat, 14 Aug 2021 16:50:59 +0200 Subject: [PATCH 7/7] rm install php latest version --- roles/nextcloud/defaults/main.yml | 2 -- roles/nextcloud/tasks/main.yml | 2 +- roles/php_fpm/defaults/main.yml | 2 +- roles/php_fpm/tasks/main.yml | 15 +-------------- 4 files changed, 3 insertions(+), 18 deletions(-) diff --git a/roles/nextcloud/defaults/main.yml b/roles/nextcloud/defaults/main.yml index 256f685..a5a5601 100644 --- a/roles/nextcloud/defaults/main.yml +++ b/roles/nextcloud/defaults/main.yml @@ -17,8 +17,6 @@ nextcloud_src_archive: "{{ nextcloud_src_dir }}/{{ nextcloud_install_url | basen nextcloud_data_dir: "{{ web_app_dist_dir }}/data" nextcloud_import_file: "{{ web_app_dist_dir }}/config/import.json" -nextcloud_php_version: "" - nextcloud_postgres_install_enabled: true nextcloud_database_driver: pgsql nextcloud_database_name: nextcloud diff --git a/roles/nextcloud/tasks/main.yml b/roles/nextcloud/tasks/main.yml index d5db039..7910b0d 100644 --- a/roles/nextcloud/tasks/main.yml +++ b/roles/nextcloud/tasks/main.yml @@ -8,7 +8,7 @@ import_role: name: php_fpm vars: - php_version: "{{ nextcloud_php_version }}" + php_version: "8.0" php_extra_modules: - bcmath - bz2 diff --git a/roles/php_fpm/defaults/main.yml b/roles/php_fpm/defaults/main.yml index dadb7c7..652a177 100644 --- a/roles/php_fpm/defaults/main.yml +++ b/roles/php_fpm/defaults/main.yml @@ -1,4 +1,4 @@ -php_version: "" +php_version: "8.0" php_config_dir: "/etc/php/{{ php_version }}" php_extra_modules: [] diff --git a/roles/php_fpm/tasks/main.yml b/roles/php_fpm/tasks/main.yml index 23e7686..ade17c1 100644 --- a/roles/php_fpm/tasks/main.yml +++ b/roles/php_fpm/tasks/main.yml @@ -16,19 +16,6 @@ - "{{ php_fpm_executable }}" state: present -- name: Récupération et définition de la dernière version de PHP - when: php_version == "" - block: - - name: Récupération de la dernière version de PHP - # Regex: https://unix.stackexchange.com/questions/13466/can-grep-output-only-specified-groupings-that-match/13467#13467 - shell: php -v | sed -n 's/^PHP \([[:digit:]]\.[[:digit:]]\).*/\1/p' - changed_when: false - register: _php_version - - - name: Définition de la dernière version de PHP - set_fact: - php_version: "{{ _php_version.stdout }}" - - name: Installation des modules PHP par défaut package: name: "{{ php_module }}" @@ -75,7 +62,7 @@ - reload php-fpm tags: ['php_config'] -- name: Activation de php{{ php_version }}-fpm au démarrage +- name: Activation de {{ php_fpm_executable }} au démarrage service: name: "{{ php_fpm_executable }}" state: started -- GitLab