diff --git a/README.md b/README.md index e0ef0ec..5448e0e 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,12 @@ None Role Variables -------------- -php_pool_name: default www_{{ php_version_nodot }} +php_pool_name: default {{ php_fpm_pool_user }}_{{ php_version_nodot }} +php_fpm_listen_socket: NO DEFAULT +php_fpm_create_pool: default false php_version: STRING default "8.2" php_fpm_pool_user: default apache php_fpm_pool_group: default apache -php_fpm_listen_url: default 127.0.0.1:90{{ php_version_nodot }} php_pm: static php_pm_max_children: 1000 php_pm_max_requests: 10000 diff --git a/defaults/main.yml b/defaults/main.yml index a2ae7ae..5d8dd7e 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,17 +1,17 @@ --- # defaults file for php-fpm php_version: "8.2" -php_version_string: "{{ php_version | string }}" -php_version_nodot: "{{php_version_string[0]}}{{php_version_string[2]}}" -php_pool_name: "www_{{ php_version_nodot }}" +php_version_nodot: "{{php_version[0]}}{{php_version[2]}}" +php_pool_name: "{{ php_fpm_pool_user }}_{{ php_version_nodot }}" +php_fpm_create_pool: False php_fpm_pool_user: "{{ apache_user }}" php_fpm_pool_group: "{{ apache_group }}" -php_fpm_listen_url: 127.0.0.1:90{{ php_version_nodot }} php_pm: static php_pm_max_children: 100 php_pm_max_requests: 10000 php_pm_status_url: /phpstatus -php_packages: [ 'php{{ php_version_nodot }}-php-common' ] +php_packages: +- 'php{{ php_version_nodot }}-php-common' php_min_spare_servers: 5 php_max_spare_servers: 35 php_use_phpmyadmin: false diff --git a/tasks/php-fpm.yml b/tasks/php-fpm.yml index 5454020..b515984 100644 --- a/tasks/php-fpm.yml +++ b/tasks/php-fpm.yml @@ -37,33 +37,50 @@ - name: create socket directory if needed file: - path: "{{ php_fpm_listen_url|dirname }}" + path: "{{ php_fpm_listen_socket|dirname }}" state: directory owner: "{{ php_fpm_pool_user }}" - when: php_fpm_listen_url[0] == '/' + +- name: install php-fpm + ansible.builtin.package: + name: '{{ php_fpm_package }}' + state: present - name: install php packages ansible.builtin.package: - name: "{{ php_packages }}" + name: "{{ php_packages }}" state: present - name: disable default pool copy: content: "" dest: "{{ php_fpm_pool_dir }}/www.conf" - notify: restart php-fpm - name: configure php-fpm pool 2 template: src: www.conf dest: "{{ php_fpm_pool_dir }}/{{ php_pool_name }}.conf" notify: restart php-fpm + when: php_fpm_create_pool -- name: start and enable service +- name: setup apache config file + ansible.builtin.template: + src: php_apache_config.conf.jj + dest: /etc/apache2/php_fpm_{{ php_version }}_{{ php_pool_name }}.conf.inc + owner: root + group: root + mode: 0644 + +- name: enable service service: name: "{{ php_service_name }}" enabled: yes + +- name: start service + service: + name: "{{ php_service_name }}" state: started + when: php_fpm_create_pool - name: configure logrotate template: diff --git a/templates/php_apache_config.conf.jj b/templates/php_apache_config.conf.jj new file mode 100644 index 0000000..099f228 --- /dev/null +++ b/templates/php_apache_config.conf.jj @@ -0,0 +1,3 @@ + + SetHandler "proxy:unix:{{ php_fpm_listen_socket }}|fcgi://localhost/" + \ No newline at end of file diff --git a/templates/www.conf b/templates/www.conf index 5f75c1b..73ac58b 100644 --- a/templates/www.conf +++ b/templates/www.conf @@ -1,7 +1,7 @@ -[{{ php_pool_name }}] +[{{ php_pool_name }}_{{ php_version }}] user = {{ php_fpm_pool_user }} group = {{ php_fpm_pool_group }} -listen = {{ php_fpm_listen_url }} +listen = {{ php_fpm_listen_socket }} listen.backlog = 511 listen.mode = 0660 listen.owner = {{ php_fpm_pool_user }} diff --git a/vars/debian.yml b/vars/debian.yml index 479934d..c918a89 100644 --- a/vars/debian.yml +++ b/vars/debian.yml @@ -5,3 +5,4 @@ php_service_name: php{{ php_version }}-fpm php_fpm_lib_dir: /var/lib/php/ apache_user: www-data apache_group: www-data +php_fpm_package: "php{{ php_version }}-fpm" diff --git a/vars/redhat.yml b/vars/redhat.yml index a810d22..1a80e43 100644 --- a/vars/redhat.yml +++ b/vars/redhat.yml @@ -6,3 +6,4 @@ php_fpm_log_dir: "/var/opt/remi/php{{ php_version_nodot }}/log/php-fpm/" php_fpm_lib_dir: "/var/opt/remi/php{{ php_version_nodot }}/lib/php/" apache_user: apache apache_group: apache +php_fpm_package: "php{{ php_version_nodot }}-php-fpm"