darexsu.php
Rôle Ansible PHP 7.x, 8.x
- Rôle :
- Playbooks (version de fusion) :
- Playbooks (version complète) :
Plateformes
Test | dépôt : distribution | dépôt : tiers |
---|---|---|
Debian 11 | PHP 7.4 | Sury |
Debian 10 | PHP 7.3 | Sury |
Ubuntu 20.04 | PHP 7.4 | ppa:andrej |
Ubuntu 18.04 | PHP 7.2 | ppa:andrej |
Oracle Linux 8 | PHP 7.2-7.4 | Remi |
Rocky Linux 8 | PHP 7.2-7.4 | Remi |
Installation
ansible-galaxy install darexsu.php --force
Comportement de fusion
Remplacer ou fusionner des dictionnaires (avec "hash_behaviour=replace" dans ansible.cfg) :
# Remplacer # Fusionner
--- ---
vars: vars:
dict: merge:
a: "value" dict:
b: "value" a: "value"
b: "value"
# Comment fonctionne la fusion ? :
Vos vars [host_vars] --> vars par défaut [rôle actuel] --> vars par défaut [inclure rôle]
dict: dict: dict:
a: "1" --> a: "1" --> a: "1"
b: "2" --> b: "2"
c: "3"
installer et configurer : PHP (version de fusion)
---
- hosts: all
become: true
vars:
merge:
# PHP
php:
enabled: true
version: "7.4"
# PHP -> installation
php_install:
enabled: true
modules: [common, fpm]
# PHP -> configurer -> php.ini
php_ini:
enabled: true
file: "php.ini"
src: "php_ini.j2"
backup: false
data:
php:
max_execution_time: "30"
max_input_time: "60"
memory_limit: "128M"
upload_max_filesize: "2M"
# PHP -> configurer -> php.fpm
php_fpm:
www_conf:
enabled: true
file: "www.conf"
state: "present"
data:
webserver_user: "www-data"
webserver_group: "www-data"
pm: "dynamic"
pm_max_children: "10"
pm_start_servers: "5"
pm_min_spare_servers: "5"
pm_max_spare_servers: "5"
pm_max_requests: "500"
unix_socket:
enabled: true
file: "php{{ php.version }}-fpm.sock"
user: "www-data"
group: "www-data"
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php
installer : PHP, dépôt : distribution (version de fusion)
---
- hosts: all
become: true
vars:
merge:
# PHP
php:
enabled: true
version: "7.4"
repo: "distribution"
# PHP -> installation
php_install:
enabled: true
modules: [common, fpm]
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php
installer : PHP, dépôt : tiers (version de fusion)
---
- hosts: all
become: true
vars:
merge:
# PHP
php:
enabled: true
version: "8.0"
repo: "third_party"
# PHP -> installation
php_install:
enabled: true
modules: [common, fpm]
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php
installer : modules PHP (version de fusion)
---
- hosts: all
become: true
vars:
merge:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> installation
php_install:
enabled: true
# Modules personnalisés
modules: [common, fpm, gd]
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php
configurer : php.ini (version de fusion)
---
- hosts: all
become: true
vars:
merge:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> configurer -> php.ini
php_ini:
enabled: true
data:
php:
engine: "On"
short_open_tag: "Off"
precision: "14"
output_buffering: "4096"
zlib_output_compression: "Off"
implicit_flush: "Off"
# ...
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php
configurer : socket php-fpm tcpip (version de fusion)
---
- hosts: all
become: yes
vars:
merge:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> configurer -> piscine php-fpm
php_fpm:
www_conf:
enabled: true
file: "www.conf"
state: "present"
src: "php_fpm.j2"
backup: true
data:
webserver_user: "www-data"
webserver_group: "www-data"
pm: "dynamic"
pm_max_children: "10"
pm_start_servers: "5"
pm_min_spare_servers: "5"
pm_max_spare_servers: "5"
pm_max_requests: "500"
# PHP -> configurer -> piscine php-fpm -> activer socket tcp/ip
tcp_ip_socket:
enabled: true
listen: "127.0.0.1:9000"
# PHP -> configurer -> piscine php-fpm -> désactiver socket unix
unix_socket:
enabled: false
file: "php{{ php.version }}-fpm.sock"
user: "www-data"
group: "www-data"
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php
configurer : socket php-fpm unix (version de fusion)
---
- hosts: all
become: yes
vars:
merge:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> configurer -> piscine php-fpm
php_fpm:
www_conf:
enabled: true
file: "www.conf"
state: "present"
src: "php_fpm.j2"
backup: true
data:
webserver_user: "www-data"
webserver_group: "www-data"
pm: "dynamic"
pm_max_children: "10"
pm_start_servers: "5"
pm_min_spare_servers: "5"
pm_max_spare_servers: "5"
pm_max_requests: "500"
# PHP -> configurer -> piscine php-fpm -> désactiver socket tcp/ip
tcp_ip_socket:
enabled: false
listen: "127.0.0.1:9000"
# PHP -> configurer -> piscine php-fpm -> activer socket unix
unix_socket:
enabled: true
file: "php{{ php.version }}-fpm.sock"
user: "www-data"
group: "www-data"
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php
configurer : ajouter plusieurs configurations (version de fusion)
---
- hosts: all
become: yes
vars:
merge:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> configurer -> piscine php-fpm
php_fpm:
# PHP -> configurer -> piscine php.fpm -> supprimer www.conf
www_conf:
enabled: true
state: "absent"
# PHP -> configurer -> piscine php.fpm -> ajouter new.conf
first_conf:
enabled: true
file: "first.conf"
state: "present"
src: "php_fpm.j2"
backup: true
data:
webserver_user: "www-data"
webserver_group: "www-data"
pm: "dynamic"
pm_max_children: "10"
pm_start_servers: "5"
pm_min_spare_servers: "5"
pm_max_spare_servers: "5"
pm_max_requests: "500"
tcp_ip_socket:
enabled: false
listen: "127.0.0.1:9000"
unix_socket:
enabled: true
file: "php{{ php.version }}-first-fpm.sock"
user: "www-data"
group: "www-data"
# PHP -> configurer -> piscine php.fpm -> ajouter second.conf
second_conf:
enabled: true
file: "second.conf"
state: "present"
src: "php_fpm.j2"
backup: true
data:
webserver_user: "www-data"
webserver_group: "www-data"
pm: "dynamic"
pm_max_children: "10"
pm_start_servers: "5"
pm_min_spare_servers: "5"
pm_max_spare_servers: "5"
pm_max_requests: "500"
tcp_ip_socket:
enabled: false
listen: "127.0.0.1:9000"
unix_socket:
enabled: true
file: "php{{ php.version }}-second-fpm.sock"
user: "www-data"
group: "www-data"
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php
installer et configurer : PHP (version complète)
---
- hosts: all
become: true
vars:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
service:
enabled: true
state: "started"
# PHP -> installation
php_install:
enabled: true
modules: [common, fpm]
# PHP -> configurer -> php.ini
php_ini:
enabled: true
file: "php.ini"
src: "php_ini.j2"
backup: false
data:
php:
engine: "On"
short_open_tag: "Off"
precision: "14"
output_buffering: "4096"
zlib_output_compression: "Off"
implicit_flush: "Off"
unserialize_callback_func: ""
serialize_precision: "-1"
disable_functions: ""
disable_classes: ""
zend_enable_gc: ""
zend_exception_ignore_args: "On"
zend_exception_string_param_max_len: "0"
expose_php: "On"
max_execution_time: "30"
max_input_time: "60"
memory_limit: "128M"
error_reporting: "E_ALL & ~E_DEPRECATED & ~E_STRICT"
display_errors: "Off"
display_startup_errors: "Off"
log_errors: "On"
log_errors_max_len: "1024"
ignore_repeated_errors: "Off"
ignore_repeated_source: "Off"
report_memleaks: "On"
variables_order: "GPCS"
request_order: "GP"
register_argc_argv: "Off"
auto_globals_jit: "On"
post_max_size: "8M"
auto_prepend_file: ""
auto_append_file: ""
default_mimetype: "text/html"
default_charset: "UTF-8"
doc_root: ""
user_dir: ""
enable_dl: "Off"
file_uploads: "On"
upload_max_filesize: "2M"
max_file_uploads: "20"
allow_url_fopen: "On"
allow_url_include: "Off"
default_socket_timeout: "60"
# PHP -> configurer -> php.fpm
php_fpm:
www_conf:
enabled: true
file: "www.conf"
state: "present"
src: "php_fpm.j2"
backup: false
data:
webserver_user: "www-data"
webserver_group: "www-data"
pm: "dynamic"
pm_max_children: "10"
pm_start_servers: "5"
pm_min_spare_servers: "5"
pm_max_spare_servers: "5"
pm_max_requests: "500"
tcp_ip_socket:
enabled: false
listen: "127.0.0.1:9000"
unix_socket:
enabled: true
file: "php{{ php.version }}-fpm.sock"
user: "www-data"
group: "www-data"
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php
installer : PHP, dépôt : distribution (version complète)
---
- hosts: all
become: true
vars:
# PHP
php:
enabled: true
version: "7.4"
repo: "distribution"
service:
enabled: true
state: "started"
# PHP -> installation
php_install:
enabled: true
modules: [common, fpm]
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php
installer : PHP, dépôt : tiers (version complète)
---
- hosts: all
become: true
vars:
# PHP
php:
enabled: true
version: "8.0"
repo: "third_party"
service:
enabled: true
state: "started"
# PHP -> installation
php_install:
enabled: true
modules: [common, fpm]
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php
installer : modules PHP (version complète)
---
- hosts: all
become: true
vars:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
service:
enabled: true
state: "started"
# PHP -> installation
php_install:
enabled: true
# PHP -> installation -> installer des modules personnalisés
modules: [common, fpm, gd]
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php
configurer : php.ini (version complète)
---
- hosts: all
become: true
vars:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
service:
enabled: true
state: "started"
# PHP -> configurer -> php.ini
php_ini:
enabled: true
file: "php.ini"
src: "php_ini.j2"
backup: false
data:
php:
engine: "On"
short_open_tag: "Off"
precision: "14"
output_buffering: "4096"
zlib_output_compression: "Off"
implicit_flush: "Off"
unserialize_callback_func: ""
serialize_precision: "-1"
disable_functions: ""
disable_classes: ""
zend_enable_gc: ""
zend_exception_ignore_args: "On"
zend_exception_string_param_max_len: "0"
expose_php: "On"
max_execution_time: "30"
max_input_time: "60"
memory_limit: "128M"
error_reporting: "E_ALL & ~E_DEPRECATED & ~E_STRICT"
display_errors: "Off"
display_startup_errors: "Off"
log_errors: "On"
log_errors_max_len: "1024"
ignore_repeated_errors: "Off"
ignore_repeated_source: "Off"
report_memleaks: "On"
variables_order: "GPCS"
request_order: "GP"
register_argc_argv: "Off"
auto_globals_jit: "On"
post_max_size: "8M"
auto_prepend_file: ""
auto_append_file: ""
default_mimetype: "text/html"
default_charset: "UTF-8"
doc_root: ""
user_dir: ""
enable_dl: "Off"
file_uploads: "On"
upload_max_filesize: "2M"
max_file_uploads: "20"
allow_url_fopen: "On"
allow_url_include: "Off"
default_socket_timeout: "60"
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php
configurer : socket php-fpm tcpip (version complète)
---
- hosts: all
become: yes
vars:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> configurer -> piscine php-fpm
php_fpm:
www_conf:
enabled: true
file: "www.conf"
state: "present"
src: "php_fpm.j2"
backup: true
data:
webserver_user: "www-data"
webserver_group: "www-data"
pm: "dynamic"
pm_max_children: "10"
pm_start_servers: "5"
pm_min_spare_servers: "5"
pm_max_spare_servers: "5"
pm_max_requests: "500"
# PHP -> configurer -> piscine php-fpm -> activer socket tcp/ip
tcp_ip_socket:
enabled: true
listen: "127.0.0.1:9000"
# PHP -> configurer -> piscine php-fpm -> désactiver socket unix
unix_socket:
enabled: false
file: "php{{ php.version }}-fpm.sock"
user: "www-data"
group: "www-data"
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php
configurer : socket php-fpm unix (version complète)
---
- hosts: all
become: yes
vars:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> configurer -> piscine php-fpm
php_fpm:
www_conf:
enabled: true
file: "www.conf"
state: "present"
src: "php_fpm.j2"
backup: true
data:
webserver_user: "www-data"
webserver_group: "www-data"
pm: "dynamic"
pm_max_children: "10"
pm_start_servers: "5"
pm_min_spare_servers: "5"
pm_max_spare_servers: "5"
pm_max_requests: "500"
# PHP -> configurer -> piscine php-fpm -> désactiver socket tcp/ip
tcp_ip_socket:
enabled: false
listen: "127.0.0.1:9000"
# PHP -> configurer -> piscine php-fpm -> activer socket unix
unix_socket:
enabled: true
file: "php{{ php.version }}-fpm.sock"
user: "www-data"
group: "www-data"
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php
configurer : ajouter plusieurs configurations (version complète)
---
- hosts: all
become: yes
vars:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> configurer -> piscine php-fpm
php_fpm:
# PHP -> configurer -> piscine php.fpm -> supprimer www.conf
www_conf:
enabled: true
state: "absent"
# PHP -> configurer -> piscine php.fpm -> ajouter new.conf
first_conf:
enabled: true
file: "first.conf"
state: "present"
src: "php_fpm.j2"
backup: true
data:
webserver_user: "www-data"
webserver_group: "www-data"
pm: "dynamic"
pm_max_children: "10"
pm_start_servers: "5"
pm_min_spare_servers: "5"
pm_max_spare_servers: "5"
pm_max_requests: "500"
tcp_ip_socket:
enabled: false
listen: "127.0.0.1:9000"
unix_socket:
enabled: true
file: "php{{ php.version }}-first-fpm.sock"
user: "www-data"
group: "www-data"
# PHP -> configurer -> piscine php.fpm -> ajouter second.conf
second_conf:
enabled: true
file: "second.conf"
state: "present"
src: "php_fpm.j2"
backup: true
data:
webserver_user: "www-data"
webserver_group: "www-data"
pm: "dynamic"
pm_max_children: "10"
pm_start_servers: "5"
pm_min_spare_servers: "5"
pm_max_spare_servers: "5"
pm_max_requests: "500"
tcp_ip_socket:
enabled: false
listen: "127.0.0.1:9000"
unix_socket:
enabled: true
file: "php{{ php.version }}-second-fpm.sock"
user: "www-data"
group: "www-data"
tasks:
- name: inclure le rôle darexsu.php
include_role:
name: darexsu.php