From 0b5c81b11e74737d85bad6e145aeb702effb15d8 Mon Sep 17 00:00:00 2001 From: jon4hz Date: Tue, 7 May 2024 19:35:51 +0200 Subject: [PATCH] fix: zabbix-web php configuration --- molecule/zabbix_web/prepare.yml | 12 ++++++++++++ roles/zabbix_web/handlers/main.yml | 11 +++++++++++ roles/zabbix_web/tasks/apache.yml | 13 +++++++++++++ roles/zabbix_web/tasks/main.yml | 5 +++-- roles/zabbix_web/tasks/nginx.yml | 13 +++++++++++++ roles/zabbix_web/templates/apache_vhost.conf.j2 | 4 ++-- roles/zabbix_web/templates/php-fpm.conf.j2 | 2 +- roles/zabbix_web/vars/Suse.yml | 5 ++--- 8 files changed, 57 insertions(+), 8 deletions(-) diff --git a/molecule/zabbix_web/prepare.yml b/molecule/zabbix_web/prepare.yml index 935799eb4..2c4193f40 100644 --- a/molecule/zabbix_web/prepare.yml +++ b/molecule/zabbix_web/prepare.yml @@ -199,6 +199,12 @@ - ansible_distribution_major_version >= '22' - ansible_os_family == "Debian" + - name: Set PHP Version (Suse) + ansible.builtin.set_fact: + __php_default_version_suse: "8" + when: + - ansible_os_family == "Suse" + roles: - role: geerlingguy.apache when: @@ -210,6 +216,12 @@ - role: zabbix_server post_tasks: + - name: Suse | Create default php-fpm config + ansible.builtin.copy: + remote_src: true + src: "/etc/php8/fpm/php-fpm.conf.default" + dest: "/etc/php8/fpm/php-fpm.conf" + - name: "Remove file" ansible.builtin.file: path: "{{ item }}" diff --git a/roles/zabbix_web/handlers/main.yml b/roles/zabbix_web/handlers/main.yml index e97787b12..9086ca546 100644 --- a/roles/zabbix_web/handlers/main.yml +++ b/roles/zabbix_web/handlers/main.yml @@ -34,6 +34,17 @@ enabled: true become: true when: + - ansible_os_family == 'Debian' + - zabbix_web_version is version('5.0', '>=') + +- name: restart php-fpm + ansible.builtin.service: + name: php-fpm + state: restarted + enabled: true + become: true + when: + - ansible_os_family == 'Suse' - zabbix_web_version is version('5.0', '>=') - name: "clean repo files from proxy creds" diff --git a/roles/zabbix_web/tasks/apache.yml b/roles/zabbix_web/tasks/apache.yml index 7e55fe3e9..597719b20 100644 --- a/roles/zabbix_web/tasks/apache.yml +++ b/roles/zabbix_web/tasks/apache.yml @@ -37,6 +37,19 @@ until: zabbix_apache_conf_install is succeeded become: true when: ansible_os_family == "RedHat" + + - name: "Suse | Install zabbix-apache-conf" + ansible.builtin.package: + pkg: zabbix-apache-conf + state: "{{ zabbix_web_package_state }}" + update_cache: true + environment: + http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}" + https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}" + register: zabbix_apache_conf_install + until: zabbix_apache_conf_install is succeeded + become: true + when: ansible_os_family == "Suse" tags: - install diff --git a/roles/zabbix_web/tasks/main.yml b/roles/zabbix_web/tasks/main.yml index b82d8486b..a589841cf 100644 --- a/roles/zabbix_web/tasks/main.yml +++ b/roles/zabbix_web/tasks/main.yml @@ -80,7 +80,7 @@ tags: - config -- name: "Debian | Install PHP" +- name: "Debian / Suse | Install PHP" ansible.builtin.template: src: php-fpm.conf.j2 dest: "{{ zabbix_php_fpm_dir }}/zabbix.conf" @@ -90,8 +90,9 @@ become: true when: - zabbix_web_create_php_fpm - - ansible_os_family == "Debian" + - ansible_os_family in ["Debian", "Suse"] notify: - restart php-fpm-version + - restart php-fpm tags: - config diff --git a/roles/zabbix_web/tasks/nginx.yml b/roles/zabbix_web/tasks/nginx.yml index 1f50263ca..55ac281ba 100644 --- a/roles/zabbix_web/tasks/nginx.yml +++ b/roles/zabbix_web/tasks/nginx.yml @@ -40,6 +40,19 @@ until: zabbix_apache_conf_install is succeeded become: true when: ansible_os_family == "RedHat" + + - name: "Suse | Install zabbix-nginx-conf" + ansible.builtin.package: + pkg: zabbix-nginx-conf + state: "{{ zabbix_web_package_state }}" + update_cache: true + environment: + http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}" + https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}" + register: zabbix_apache_conf_install + until: zabbix_apache_conf_install is succeeded + become: true + when: ansible_os_family == "Suse" tags: - install diff --git a/roles/zabbix_web/templates/apache_vhost.conf.j2 b/roles/zabbix_web/templates/apache_vhost.conf.j2 index 334861d9b..fc7086669 100644 --- a/roles/zabbix_web/templates/apache_vhost.conf.j2 +++ b/roles/zabbix_web/templates/apache_vhost.conf.j2 @@ -36,7 +36,7 @@ DirectoryIndex index.php -{% if ansible_os_family == "RedHat" %} +{% if ansible_os_family in ["RedHat", "Suse"] %} SetHandler "proxy:unix:{{ zabbix_php_fpm_listen }}|fcgi://localhost" @@ -118,7 +118,7 @@ SSLRandomSeed connect builtin DirectoryIndex index.php -{% if ansible_os_family == "RedHat" %} +{% if ansible_os_family in ["RedHat", "Suse"] %} SetHandler "proxy:unix:{{ zabbix_php_fpm_listen }}|fcgi://localhost" diff --git a/roles/zabbix_web/templates/php-fpm.conf.j2 b/roles/zabbix_web/templates/php-fpm.conf.j2 index e6b02cc9e..42860443d 100644 --- a/roles/zabbix_web/templates/php-fpm.conf.j2 +++ b/roles/zabbix_web/templates/php-fpm.conf.j2 @@ -3,7 +3,7 @@ user = {{ zabbix_php_fpm_conf_user if zabbix_php_fpm_conf_user is defined else z group = {{ zabbix_php_fpm_conf_group if zabbix_php_fpm_conf_group is defined else zabbix_web_group }} listen = {{ zabbix_php_fpm_listen }} -{% if zabbix_php_fpm_conf_listen and ansible_os_family != 'Debian' %} +{% if zabbix_php_fpm_conf_listen and ansible_os_family not in ['Debian', 'Suse'] %} listen.acl_users = {{ zabbix_php_fpm_conf_user if zabbix_php_fpm_conf_user is defined else zabbix_web_user }} {% endif %} listen.owner = {{ zabbix_php_fpm_conf_user if zabbix_php_fpm_conf_user is defined else zabbix_web_user }} diff --git a/roles/zabbix_web/vars/Suse.yml b/roles/zabbix_web/vars/Suse.yml index f168fdee0..9b65703c9 100644 --- a/roles/zabbix_web/vars/Suse.yml +++ b/roles/zabbix_web/vars/Suse.yml @@ -5,8 +5,8 @@ _apache_log: apache2 _apache_service: apache2 _apache_vhost_location: /etc/apache2/conf.d/zabbix.conf -_php_fpm_dir: /etc/php-fpm.d -_php_fpm_session: /var/lib/php/session +_php_fpm_dir: "/etc/php8/fpm/php-fpm.d" +_php_fpm_session: /var/lib/php8/sessions _zabbix_php_fpm_listen: /run/php-fpm/zabbix.sock _nginx_user: nginx @@ -19,5 +19,4 @@ _nginx_service: nginx zabbix_valid_web_versions: "15": - 6.4 - - 6.2 - 6.0