ansible-roles/php/tasks/fpm.yml

91 lines
2.8 KiB
YAML

---
- name: "Install PHP FPM packages (jessie)"
apt:
name: '{{ item }}'
state: present
with_items:
- php5-fpm
when: ansible_distribution_release == "jessie"
- name: "Install PHP FPM packages (Debian 9 or later)"
apt:
name: '{{ item }}'
state: present
with_items:
- php-fpm
when: ansible_distribution_major_version | version_compare('9', '>=')
- name: "Set config files for FPM (jessie)"
set_fact:
phpini_fpm_defaults_file: /etc/php5/fpm/conf.d/z-evolinux-defaults.ini
phpini_fpm_custom_file: /etc/php5/fpm/conf.d/zzz-evolinux-custom.ini
php_fpm_defaults_file: /etc/php5/fpm/pool.d/z-evolinux-defaults.conf
php_fpm_custom_file: /etc/php5/fpm/pool.d/zzz-evolinux-custom.conf
when: ansible_distribution_release == "jessie"
- name: "Set config files for FPM (Debian 9 or later)"
set_fact:
phpini_fpm_defaults_file: /etc/php/7.0/fpm/conf.d/z-evolinux-defaults.ini
phpini_fpm_custom_file: /etc/php/7.0/fpm/conf.d/zzz-evolinux-custom.ini
php_fpm_defaults_file: /etc/php/7.0/fpm/pool.d/z-evolinux-defaults.conf
php_fpm_custom_file: /etc/php/7.0/fpm/pool.d/zzz-evolinux-custom.conf
when: ansible_distribution_major_version | version_compare('9', '>=')
- name: Set default php.ini values for FPM
ini_file:
dest: "{{ phpini_fpm_defaults_file }}"
section: PHP
option: "{{ item.option }}"
value: "{{ item.value }}"
mode: "0644"
create: yes
with_items:
- { option: "short_open_tag", value: "Off" }
- { option: "expose_php", value: "Off" }
- { option: "display_errors", value: "Off" }
- { option: "log_errors", value: "On" }
- { option: "html_errors", value: "Off" }
- { option: "allow_url_fopen", value: "Off" }
- name: Disable PHP functions for FPM
ini_file:
dest: "{{ phpini_fpm_defaults_file }}"
section: PHP
option: disable_functions
value: "exec,shell-exec,system,passthru,putenv,popen"
- name: Custom php.ini for FPM
copy:
dest: "{{ phpini_fpm_custom_file }}"
content: |
# Put customized values here.
force: no
- name: Set default PHP FPM values
ini_file:
dest: "{{ php_fpm_defaults_file }}"
section: www
option: "{{ item.option }}"
value: "{{ item.value }}"
mode: "0644"
create: yes
with_items:
- { option: "pm", value: "ondemand" }
- { option: "pm.max_children", value: "100" }
- { option: "pm.process_idle_timeout", value: "10s" }
- { option: "slowlog", value: "log/$pool.log.slow" }
- { option: "request_slowlog_timeout", value: "5s" }
- { option: "pm.status_path", value: "/fpm_status" }
- { option: "request_terminate_timeout", value: "60s" }
- { option: "chroot", value: "/var/www/html" }
when: ansible_distribution_major_version | version_compare('9', '>=')
- name: Custom PHP FPM values
copy:
dest: "{{ php_fpm_custom_file }}"
content: |
# Put customized values here.
force: no