php
Ansible роль PHP 7.x, 8.x
- Роль:
- Плейбуки (вариант с объединением):
- Плейбуки (полная версия):
Платформы
Тестирование | репозиторий: дистрибутив | репозиторий: сторонний |
---|---|---|
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 |
Установка
ansible-galaxy install darexsu.php --force
Поведение объединения
Замена или Объединение словарей (с "hash_behaviour=replace" в ansible.cfg):
# Замена # Объединение
--- ---
vars: vars:
dict: merge:
a: "value" dict:
b: "value" a: "value"
b: "value"
# Как работает объединение?:
Ваши vars [host_vars] --> vars по умолчанию [текущая роль] --> vars по умолчанию [включить роль]
dict: dict: dict:
a: "1" --> a: "1" --> a: "1"
b: "2" --> b: "2"
c: "3"
установка и настройка: PHP (вариант с объединением)
---
- hosts: all
become: true
vars:
merge:
# PHP
php:
enabled: true
version: "7.4"
# PHP -> установка
php_install:
enabled: true
modules: [common, fpm]
# PHP -> конфигурация -> 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 -> конфигурация -> 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: включить роль darexsu.php
include_role:
name: darexsu.php
установка: PHP, репозиторий: дистрибутив (вариант с объединением)
---
- hosts: all
become: true
vars:
merge:
# PHP
php:
enabled: true
version: "7.4"
repo: "distribution"
# PHP -> установка
php_install:
enabled: true
modules: [common, fpm]
tasks:
- name: включить роль darexsu.php
include_role:
name: darexsu.php
установка: PHP, репозиторий: сторонний (вариант с объединением)
---
- hosts: all
become: true
vars:
merge:
# PHP
php:
enabled: true
version: "8.0"
repo: "third_party"
# PHP -> установка
php_install:
enabled: true
modules: [common, fpm]
tasks:
- name: включить роль darexsu.php
include_role:
name: darexsu.php
установка: модули PHP (вариант с объединением)
---
- hosts: all
become: true
vars:
merge:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> установка
php_install:
enabled: true
# PHP -> установка -> установка пользовательских модулей
modules: [common, fpm, gd]
tasks:
- name: включить роль darexsu.php
include_role:
name: darexsu.php
настройка: php.ini (вариант с объединением)
---
- hosts: all
become: true
vars:
merge:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> конфигурация -> 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: включить роль darexsu.php
include_role:
name: darexsu.php
настройка: сокет php-fpm tcpip (вариант с объединением)
---
- hosts: all
become: yes
vars:
merge:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> конфигурация -> пул 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 -> конфигурация -> пул php-fpm -> включить сокет tcp/ip
tcp_ip_socket:
enabled: true
listen: "127.0.0.1:9000"
# PHP -> конфигурация -> пул php-fpm -> отключить сокет unix
unix_socket:
enabled: false
file: "php{{ php.version }}-fpm.sock"
user: "www-data"
group: "www-data"
tasks:
- name: включить роль darexsu.php
include_role:
name: darexsu.php
настройка: сокет php-fpm unix (вариант с объединением)
---
- hosts: all
become: yes
vars:
merge:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> конфигурация -> пул 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 -> конфигурация -> пул php-fpm -> отключить сокет tcp/ip
tcp_ip_socket:
enabled: false
listen: "127.0.0.1:9000"
# PHP -> конфигурация -> пул php-fpm -> включить сокет unix
unix_socket:
enabled: true
file: "php{{ php.version }}-fpm.sock"
user: "www-data"
group: "www-data"
tasks:
- name: включить роль darexsu.php
include_role:
name: darexsu.php
настройка: добавление нескольких конфигураций (вариант с объединением)
---
- hosts: all
become: yes
vars:
merge:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> конфигурация -> пул php-fpm
php_fpm:
# PHP -> конфигурация -> пул php.fpm -> удалить www.conf
www_conf:
enabled: true
state: "absent"
# PHP -> конфигурация -> пул php.fpm -> добавить 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 -> конфигурация -> пул php.fpm -> добавить 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: включить роль darexsu.php
include_role:
name: darexsu.php
установка и настройка: PHP (полная версия)
---
- hosts: all
become: true
vars:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
service:
enabled: true
state: "started"
# PHP -> установка
php_install:
enabled: true
modules: [common, fpm]
# PHP -> конфигурация -> 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 -> конфигурация -> 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: включить роль darexsu.php
include_role:
name: darexsu.php
установка: PHP, репозиторий: дистрибутив (полная версия)
---
- hosts: all
become: true
vars:
# PHP
php:
enabled: true
version: "7.4"
repo: "distribution"
service:
enabled: true
state: "started"
# PHP -> установка
php_install:
enabled: true
modules: [common, fpm]
tasks:
- name: включить роль darexsu.php
include_role:
name: darexsu.php
установка: PHP, репозиторий: сторонний (полная версия)
---
- hosts: all
become: true
vars:
# PHP
php:
enabled: true
version: "8.0"
repo: "third_party"
service:
enabled: true
state: "started"
# PHP -> установка
php_install:
enabled: true
modules: [common, fpm]
tasks:
- name: включить роль darexsu.php
include_role:
name: darexsu.php
установка: модули PHP (полная версия)
---
- hosts: all
become: true
vars:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
service:
enabled: true
state: "started"
# PHP -> установка
php_install:
enabled: true
# PHP -> установка -> установка пользовательских модулей
modules: [common, fpm, gd]
tasks:
- name: включить роль darexsu.php
include_role:
name: darexsu.php
настройка: php.ini (полная версия)
---
- hosts: all
become: true
vars:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
service:
enabled: true
state: "started"
# PHP -> конфигурация -> 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: включить роль darexsu.php
include_role:
name: darexsu.php
настройка: php-fpm tcpip (полная версия)
---
- hosts: all
become: yes
vars:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> конфигурация -> пул 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 -> конфигурация -> пул php-fpm -> включить сокет tcp/ip
tcp_ip_socket:
enabled: true
listen: "127.0.0.1:9000"
# PHP -> конфигурация -> пул php-fpm -> отключить сокет unix
unix_socket:
enabled: false
file: "php{{ php.version }}-fpm.sock"
user: "www-data"
group: "www-data"
tasks:
- name: включить роль darexsu.php
include_role:
name: darexsu.php
настройка: php-fpm unix-сокет (полная версия)
---
- hosts: all
become: yes
vars:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> конфигурация -> пул 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 -> конфигурация -> пул php-fpm -> отключить сокет tcp/ip
tcp_ip_socket:
enabled: false
listen: "127.0.0.1:9000"
# PHP -> конфигурация -> пул php-fpm -> включить сокет unix
unix_socket:
enabled: true
file: "php{{ php.version }}-fpm.sock"
user: "www-data"
group: "www-data"
tasks:
- name: включить роль darexsu.php
include_role:
name: darexsu.php
настройка: добавление нескольких конфигураций (полная версия)
---
- hosts: all
become: yes
vars:
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
# PHP -> конфигурация -> пул php-fpm
php_fpm:
# PHP -> конфигурация -> пул php.fpm -> удалить www.conf
www_conf:
enabled: true
state: "absent"
# PHP -> конфигурация -> пул php.fpm -> добавить 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 -> конфигурация -> пул php.fpm -> добавить 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: включить роль darexsu.php
include_role:
name: darexsu.php
Установить
ansible-galaxy install darexsu/ansible-role-php
Лицензия
mit
Загрузки
2705
Владелец