Compare commits
15 Commits
a450453093
...
enhanceLog
| Author | SHA1 | Date | |
|---|---|---|---|
| 4cce5f1af7 | |||
| 26eec53f99 | |||
| b7d8e461eb | |||
| 53cb9bd8e9 | |||
| ebbe1f23dd | |||
| c9795a3b74 | |||
| 7969bbc511 | |||
| 7452a3c726 | |||
| 0ef129113a | |||
| 55bfe10b00 | |||
| c8f375eebd | |||
| 4bbaa585a6 | |||
| 57a2eb71da | |||
| d2bdd28804 | |||
| 5277c6a2da |
45
README.md
45
README.md
@@ -13,18 +13,19 @@ None
|
|||||||
|
|
||||||
Role Variables
|
Role Variables
|
||||||
--------------
|
--------------
|
||||||
php_poolname: default www (version will be appended)
|
php_pool_name: default {{ php_fpm_pool_user }}_{{ php_version_nodot }}
|
||||||
php_version: default 81
|
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_user: default apache
|
||||||
php_fpm_pool_group: default apache
|
php_fpm_pool_group: default apache
|
||||||
php_fpm_listen_url: default 127.0.0.1:90{{ php_version }}
|
|
||||||
php_pm: static
|
php_pm: static
|
||||||
php_pm_max_children: 1000
|
php_pm_max_children: 1000
|
||||||
php_pm_max_requests: 10000
|
php_pm_max_requests: 10000
|
||||||
php_min_spare_servers: 5
|
php_min_spare_servers: 5
|
||||||
php_max_spare_servers: 35
|
php_max_spare_servers: 35
|
||||||
php_pm_status_url: /phpstatus
|
php_pm_status_url: /phpstatus
|
||||||
php_packages: [ 'php{{ php_version }}-php-common' ]
|
php_packages: [ 'php{{ php_version_nodot }}-php-common' ]
|
||||||
php_use_phpmyadmin: default false
|
php_use_phpmyadmin: default false
|
||||||
pma_install_dir: /var/www/html
|
pma_install_dir: /var/www/html
|
||||||
pma_version: 5.2.1
|
pma_version: 5.2.1
|
||||||
@@ -44,30 +45,30 @@ Including an example of how to use your role (for instance, with variables passe
|
|||||||
roles:
|
roles:
|
||||||
- role: tconstans.php-fpm
|
- role: tconstans.php-fpm
|
||||||
vars:
|
vars:
|
||||||
php_poolname: pool1
|
php_pool_name: pool1
|
||||||
php_fpm_listen_url: "/srv/pool1/php-fpm.sock"
|
php_fpm_listen_url: "/srv/pool1/php-fpm.sock"
|
||||||
php_version: 74
|
php_version_nodot: 74
|
||||||
php_packages:
|
php_packages:
|
||||||
- php{{ php_version }}-php-mbstring
|
- php{{ php_version_nodot }}-php-mbstring
|
||||||
- php{{ php_version }}-php-mysqlnd
|
- php{{ php_version_nodot }}-php-mysqlnd
|
||||||
- php{{ php_version }}-php-pdo
|
- php{{ php_version_nodot }}-php-pdo
|
||||||
- php{{ php_version }}-php-xml
|
- php{{ php_version_nodot }}-php-xml
|
||||||
- php{{ php_version }}-php-gd
|
- php{{ php_version_nodot }}-php-gd
|
||||||
- php{{ php_version }}-php-posix
|
- php{{ php_version_nodot }}-php-posix
|
||||||
- php{{ php_version }}-php-ldap
|
- php{{ php_version_nodot }}-php-ldap
|
||||||
- php{{ php_version }}-php-curl
|
- php{{ php_version_nodot }}-php-curl
|
||||||
- php{{ php_version }}-php-iconv
|
- php{{ php_version_nodot }}-php-iconv
|
||||||
- php{{ php_version }}-php-openssl
|
- php{{ php_version_nodot }}-php-openssl
|
||||||
- php{{ php_version }}-php-zip
|
- php{{ php_version_nodot }}-php-zip
|
||||||
- php{{ php_version }}-php-zlib
|
- php{{ php_version_nodot }}-php-zlib
|
||||||
- php{{ php_version }}-php-ctype
|
- php{{ php_version_nodot }}-php-ctype
|
||||||
- role: tconstans.php-fpm
|
- role: tconstans.php-fpm
|
||||||
vars:
|
vars:
|
||||||
php_poolname: pool2
|
php_pool_name: pool2
|
||||||
php_fpm_listen_url: "/srv/pool2/php-fpm.sock"
|
php_fpm_listen_url: "/srv/pool2/php-fpm.sock"
|
||||||
php_version: 80
|
php_version_nodot: 80
|
||||||
php_packages:
|
php_packages:
|
||||||
- php{{ php_version }}-php-zip
|
- php{{ php_version_nodot }}-php-zip
|
||||||
License
|
License
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
---
|
---
|
||||||
# defaults file for php-fpm
|
# defaults file for php-fpm
|
||||||
php_poolname: www
|
php_version: "8.2"
|
||||||
php_version: 81
|
php_version_nodot: "{{php_version[0]}}{{php_version[2]}}"
|
||||||
php_fpm_pool_user: apache
|
php_pool_name: "{{ php_fpm_pool_user }}_{{ php_version_nodot }}"
|
||||||
php_fpm_pool_group: apache
|
php_fpm_create_pool: False
|
||||||
php_fpm_listen_url: 127.0.0.1:90{{ php_version }}
|
php_fpm_pool_user: "{{ apache_user }}"
|
||||||
|
php_fpm_pool_group: "{{ apache_group }}"
|
||||||
php_pm: static
|
php_pm: static
|
||||||
php_pm_max_children: 100
|
php_pm_max_children: 100
|
||||||
php_pm_max_requests: 10000
|
php_pm_max_requests: 10000
|
||||||
php_pm_status_url: /phpstatus
|
php_pm_status_url: /phpstatus
|
||||||
php_packages: [ 'php{{ php_version }}-php-common' ]
|
|
||||||
php_min_spare_servers: 5
|
php_min_spare_servers: 5
|
||||||
php_max_spare_servers: 35
|
php_max_spare_servers: 35
|
||||||
php_use_phpmyadmin: false
|
php_use_phpmyadmin: false
|
||||||
|
|||||||
@@ -2,5 +2,5 @@
|
|||||||
# handlers file for php-fpm
|
# handlers file for php-fpm
|
||||||
- name: restart php-fpm
|
- name: restart php-fpm
|
||||||
service:
|
service:
|
||||||
name: php{{ php_version }}-php-fpm
|
name: "{{ php_service_name }}"
|
||||||
state: restarted
|
state: restarted
|
||||||
@@ -3,52 +3,101 @@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
|
- name: import os vars
|
||||||
|
tags: always
|
||||||
|
include_vars: "{{ ansible_os_family|lower }}.yml"
|
||||||
|
|
||||||
- name: install repository definitions
|
- name: install repository definitions
|
||||||
package:
|
ansible.builtin.package:
|
||||||
name:
|
name:
|
||||||
- "https://rpms.remirepo.net/enterprise/remi-release-{{ ansible_distribution_major_version }}.rpm"
|
- "https://rpms.remirepo.net/enterprise/remi-release-{{ ansible_distribution_major_version }}.rpm"
|
||||||
- epel-release
|
- epel-release
|
||||||
- yum-utils
|
- yum-utils
|
||||||
state: present
|
state: present
|
||||||
|
when: ansible_os_family=='RedHat'
|
||||||
|
|
||||||
|
- name: "setup repository - debian"
|
||||||
|
block:
|
||||||
|
- name: Check if my_package is installed
|
||||||
|
command: dpkg-query -W debsuryorg-archive-keyring
|
||||||
|
register: my_package_check_deb
|
||||||
|
failed_when: my_package_check_deb.rc > 1
|
||||||
|
changed_when: my_package_check_deb.rc == 1
|
||||||
|
|
||||||
|
- name: setup repo key
|
||||||
|
ansible.builtin.get_url:
|
||||||
|
url: https://packages.sury.org/debsuryorg-archive-keyring.deb
|
||||||
|
dest: /tmp/debsuryorg-archive-keyring.deb
|
||||||
|
when: my_package_check_deb.rc==1
|
||||||
|
|
||||||
|
- name: install key
|
||||||
|
ansible.builtin.apt:
|
||||||
|
state: present
|
||||||
|
deb: /tmp/debsuryorg-archive-keyring.deb
|
||||||
|
when: my_package_check_deb.rc==1
|
||||||
|
|
||||||
|
|
||||||
|
- name: setup source list
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: php_sury_sources.list
|
||||||
|
dest: /etc/apt/sources.list.d/php_sury.sources.list
|
||||||
|
register: repo_setup
|
||||||
|
|
||||||
|
- name: update cache
|
||||||
|
ansible.builtin.apt:
|
||||||
|
update_cache: true
|
||||||
|
when: repo_setup.changed
|
||||||
|
when: ansible_os_family | lower == 'debian'
|
||||||
|
|
||||||
- name: create socket directory if needed
|
- name: create socket directory if needed
|
||||||
file:
|
ansible.builtin.file:
|
||||||
path: "{{ php_fpm_listen_url|dirname }}"
|
path: "{{ php_fpm_listen_socket|dirname }}"
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ php_fpm_pool_user }}"
|
owner: "{{ php_fpm_pool_user }}"
|
||||||
when: php_fpm_listen_url[0] == '/'
|
|
||||||
|
|
||||||
|
|
||||||
- name: install php-fpm
|
- name: install php-fpm
|
||||||
yum:
|
ansible.builtin.package:
|
||||||
name:
|
name: '{{ php_fpm_packages}}'
|
||||||
- php{{php_version}}-php-fpm
|
state: present
|
||||||
state: installed
|
|
||||||
|
|
||||||
- name: install php packages
|
- name: install php packages
|
||||||
yum:
|
ansible.builtin.package:
|
||||||
name: "{{ php_packages }}"
|
name: "{{ php_packages }}"
|
||||||
state: present
|
state: present
|
||||||
|
when: php_packages is defined
|
||||||
|
|
||||||
- name: disable default pool
|
- name: disable default pool
|
||||||
copy:
|
copy:
|
||||||
content: ""
|
content: ""
|
||||||
dest: "/etc/opt/remi/php{{ php_version }}/php-fpm.d/www.conf"
|
dest: "{{ php_fpm_pool_dir }}/www.conf"
|
||||||
notify: restart php-fpm
|
|
||||||
|
|
||||||
- name: configure php-fpm pool 2
|
- name: configure php-fpm pool 2
|
||||||
template:
|
template:
|
||||||
src: www.conf
|
src: www.conf
|
||||||
dest: /etc/opt/remi/php{{ php_version }}/php-fpm.d/{{ php_poolname }}_{{ php_version }}.conf
|
dest: "{{ php_fpm_pool_dir }}/{{ php_pool_name }}.conf"
|
||||||
notify: restart php-fpm
|
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:
|
service:
|
||||||
name: php{{php_version}}-php-fpm
|
name: "{{ php_service_name }}"
|
||||||
enabled: yes
|
enabled: yes
|
||||||
|
|
||||||
|
- name: start service
|
||||||
|
service:
|
||||||
|
name: "{{ php_service_name }}"
|
||||||
state: started
|
state: started
|
||||||
|
when: php_fpm_create_pool
|
||||||
|
|
||||||
- name: configure logrotate
|
- name: configure logrotate
|
||||||
template:
|
template:
|
||||||
src: logrotate.conf.jj
|
src: logrotate.conf.jj
|
||||||
dest: /etc/logrotate.d/php-fpm.conf
|
dest: "/etc/logrotate.d/php-fpm-{{php_version }}.conf"
|
||||||
|
|||||||
@@ -1,12 +1,17 @@
|
|||||||
/var/opt/remi/php{{ php_version }}/log/php-fpm/*log {
|
#{{ ansible_managed }}
|
||||||
|
{{ php_fpm_log_dir }}/php_fpm*{{ php_version_nodot }}*.log {
|
||||||
daily
|
daily
|
||||||
rotate 15
|
rotate 15
|
||||||
missingok
|
missingok
|
||||||
notifempty
|
notifempty
|
||||||
sharedscripts
|
sharedscripts
|
||||||
postrotate
|
postrotate
|
||||||
/bin/systemctl reload php{{ php_version }}-php-fpm
|
if [ -x /usr/lib/php/php{{ php_version }}-fpm-reopenlogs ]; then
|
||||||
endscript
|
/usr/lib/php/php{{ php_version }}-fpm-reopenlogs;
|
||||||
|
else
|
||||||
|
/bin/systemctl reload {{ php_service_name }}
|
||||||
|
fi
|
||||||
|
endscript
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
4
templates/php_apache_config.conf.jj
Normal file
4
templates/php_apache_config.conf.jj
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
"{{ ansible_managed }}"
|
||||||
|
<FilesMatch \.php$>
|
||||||
|
SetHandler "proxy:unix:{{ php_fpm_listen_socket }}|fcgi://localhost/"
|
||||||
|
</FilesMatch>
|
||||||
2
templates/php_sury_sources.list
Normal file
2
templates/php_sury_sources.list
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
#{{ ansible_managed }}
|
||||||
|
deb [signed-by=/etc/apt/trusted.gpg.d/debsuryorg-archive.gpg] https://packages.sury.org/php/ {{ ansible_distribution_release }} main
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
[{{ php_poolname}}_{{ php_version }}]
|
;{{ ansible_managed }}
|
||||||
|
[{{ php_pool_name }}]
|
||||||
user = {{ php_fpm_pool_user }}
|
user = {{ php_fpm_pool_user }}
|
||||||
group = {{ php_fpm_pool_group }}
|
group = {{ php_fpm_pool_group }}
|
||||||
listen = {{ php_fpm_listen_url }}
|
listen = {{ php_fpm_listen_socket }}
|
||||||
listen.backlog = 511
|
listen.backlog = 511
|
||||||
listen.mode = 0660
|
listen.mode = 0660
|
||||||
listen.owner = {{ php_fpm_pool_user }}
|
listen.owner = {{ php_fpm_pool_user }}
|
||||||
@@ -15,9 +16,9 @@ pm.max_requests = {{ php_pm_max_requests }}
|
|||||||
pm.status_path = {{ php_pm_status_url }}
|
pm.status_path = {{ php_pm_status_url }}
|
||||||
ping.path = /ping
|
ping.path = /ping
|
||||||
access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
|
access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
|
||||||
access.log = /var/opt/remi/php{{ php_version }}/log/php-fpm/$pool.access.log
|
access.log = {{ php_fpm_log_dir }}php_fpm_$pool.access.log
|
||||||
slowlog = /var/opt/remi/php{{ php_version }}/log/php-fpm/$pool.slow.log
|
slowlog = {{ php_fpm_log_dir }}php_fpm_$pool.slow.log
|
||||||
request_slowlog_timeout = 5s
|
request_slowlog_timeout = 5s
|
||||||
php_value[session.save_handler] = files
|
php_value[session.save_handler] = files
|
||||||
php_value[session.save_path] = /var/opt/remi/php{{ php_version }}/lib/php/session
|
php_value[session.save_path] = {{ php_fpm_lib_dir }}/sessions
|
||||||
php_value[soap.wsdl_cache_dir] = /var/opt/remi/php{{ php_version }}/lib/php/wsdlcache
|
php_value[soap.wsdl_cache_dir] = {{ php_fpm_lib_dir }}/wsdlcache
|
||||||
|
|||||||
10
vars/debian.yml
Normal file
10
vars/debian.yml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#/home/tom/Documents/Opendoor/Technique/Ansible/roles/tco.php-fpm/vars/debian.yml
|
||||||
|
php_fpm_pool_dir: /etc/php/{{ php_version }}/fpm/pool.d/
|
||||||
|
php_fpm_log_dir: /var/log/
|
||||||
|
php_service_name: php{{ php_version }}-fpm
|
||||||
|
php_fpm_lib_dir: /var/lib/php/
|
||||||
|
apache_user: www-data
|
||||||
|
apache_group: www-data
|
||||||
|
php_fpm_packages:
|
||||||
|
- "php{{ php_version }}-fpm"
|
||||||
|
- "php{{ php_version }}-common"
|
||||||
11
vars/redhat.yml
Normal file
11
vars/redhat.yml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#/home/tom/Documents/Opendoor/Technique/Ansible/roles/tco.php-fpm/vars/redhat.yml
|
||||||
|
|
||||||
|
php_fpm_pool_dir: /etc/opt/remi/php{{ php_version_nodot }}/php-fpm.d/
|
||||||
|
php_service_name: "php{{ php_version_nodot }}-php-fpm"
|
||||||
|
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_packages:
|
||||||
|
- "php{{ php_version_nodot }}-php-fpm"
|
||||||
|
- "php{{ php_version_nodot }}-php-common"
|
||||||
Reference in New Issue
Block a user