--- - name: php | create php log directories for pools file: path: "/var/log/php/{{ item.1.version }}/{{ item.0.name }}" state: directory owner: "{{ item.0.user | default('www-data') }}" group: "{{ item.0.group | default('www-data') }}" mode: '0755' recurse: yes loop: "{{ php_pools | subelements('php_versions') }}" when: php_pools is defined and php_pools | length > 0 - name: php | create php-fpm pool configurations template: src: pool.conf.j2 dest: "/etc/php/{{ item.1.version }}/fpm/pool.d/{{ item.0.name }}.conf" owner: root group: root mode: '0644' backup: yes loop: "{{ php_pools | subelements('php_versions') }}" when: php_pools is defined and php_pools | length > 0 notify: - restart php-fpm services - name: php | ensure custom slowlog directory exists (if overridden) file: path: "{{ (item.0.slowlog_path | default('/var/log/php/' ~ item.1.version ~ '/' ~ item.0.name ~ '/php-slow.log')) | dirname }}" state: directory owner: "{{ item.0.user | default('www-data') }}" group: "{{ item.0.group | default('www-data') }}" mode: '0755' recurse: yes loop: "{{ php_pools | subelements('php_versions') }}" when: - php_pools is defined and php_pools | length > 0 - item.0.slowlog_path is not sameas(false) - name: php | ensure custom error_log directory exists (if overridden) file: path: "{{ (item.0.error_log_path | default('/var/log/php/' ~ item.1.version ~ '/' ~ item.0.name ~ '/php-errors.log')) | dirname }}" state: directory owner: "{{ item.0.user | default('www-data') }}" group: "{{ item.0.group | default('www-data') }}" mode: '0755' recurse: yes loop: "{{ php_pools | subelements('php_versions') }}" when: - php_pools is defined and php_pools | length > 0 - item.0.error_log_path is not sameas(false) - name: php | ensure error_log file exists with proper ownership file: path: "{{ item.0.error_log_path | default('/var/log/php/' ~ item.1.version ~ '/' ~ item.0.name ~ '/php-errors.log') }}" state: touch owner: "{{ item.0.user | default('www-data') }}" group: "{{ item.0.group | default('www-data') }}" mode: '0640' loop: "{{ php_pools | subelements('php_versions') }}" when: - php_pools is defined and php_pools | length > 0 - item.0.error_log_path is not sameas(false) - name: php | ensure slowlog file exists with proper ownership file: path: "{{ item.0.slowlog_path | default('/var/log/php/' ~ item.1.version ~ '/' ~ item.0.name ~ '/php-slow.log') }}" state: touch owner: "{{ item.0.user | default('www-data') }}" group: "{{ item.0.group | default('www-data') }}" mode: '0640' loop: "{{ php_pools | subelements('php_versions') }}" when: - php_pools is defined and php_pools | length > 0 - item.0.slowlog_path is not sameas(false) - name: php | remove default www pool if requested file: path: "/etc/php/{{ item.version }}/fpm/pool.d/www.conf" state: absent loop: "{{ php_versions }}" when: - php_remove_default_pool is defined - php_remove_default_pool | bool notify: - restart php-fpm services - name: php | check if logrotate is installed package_facts: manager: "auto" - name: php | create logrotate configuration for php-fpm logs template: src: php-fpm.logrotate.j2 dest: "/etc/logrotate.d/php-fpm" owner: root group: root mode: '0644' when: - php_logrotate_enabled | default(true) | bool - "'logrotate' in ansible_facts.packages" - php_pools is defined and php_pools | length > 0