956cee6f69
As RHEL and CentOS are both longer-lived enterprise-class operating systems the software versions are usually lagging a bit behind. In case one wants the longevity of an Enterprise Linux together with more modern software the Softwarecollections project exists which offers amongst others more modern PHP releases. This commit adds a pillar toggle to use the SCL repo and the ability to select which php version to install.
184 lines
6.0 KiB
Plaintext
184 lines
6.0 KiB
Plaintext
## php.ng pillar examples
|
|
|
|
php:
|
|
# Use external repository instead the default (only Ubuntu family)
|
|
use_external_repo: True
|
|
# Set the external repository name (valid only if use_external_repo is not none)
|
|
external_repo_name: 'ondrej/php'
|
|
# Use Software Collections Repository offering PHP 5.4, 5.5, 5.6, 7.0 and 7.1
|
|
# https://www.softwarecollections.org/en/ for more information.
|
|
# SCL is only supported on RHEL and CentOS and only active when using php.ng
|
|
use_scl_repo: True
|
|
# Which PHP version from the SCL repos to use
|
|
scl_php_version: 71
|
|
# Set the MongoDB driver version. You can specify (optionally) the driver version
|
|
# when you add the php.mongo formula to your execution list
|
|
mongo_version: "1.5.5"
|
|
ng:
|
|
# this section contains mostly grain filtered data, while overrides
|
|
# are possible in the pillar for unique cases, if your OS is not
|
|
# represented, please consider adding it to the map.jinja for
|
|
# upstream inclusion
|
|
lookup:
|
|
|
|
# package definitions, these can be strings, lists of strings, or
|
|
# lists of dictionaries
|
|
pkgs:
|
|
memcached: php5-memcached
|
|
# ensures both will be installed
|
|
curl:
|
|
- php-common
|
|
- curl
|
|
# a dictionary can be used in more complex cases where you want
|
|
# to pass forward special arguments to the pkg.installed call
|
|
# you MUST include the name argument for this to work
|
|
cli:
|
|
-
|
|
name: php-cli
|
|
fromrepo: my-specialrepo
|
|
-
|
|
name: php-common
|
|
skip_verify: True
|
|
|
|
# php-fpm os-specific settings
|
|
fpm:
|
|
conf: /location/of/php-fpm/config.conf
|
|
ini: /location/of/php-fpm/php.ini
|
|
pools: /location/of/php-fpm/pool.d
|
|
service: name-of-php5-fpm-service
|
|
|
|
# the default content of the php5-fpm main config file
|
|
defaults:
|
|
global:
|
|
pid: /var/run/php5-fpm.pid
|
|
|
|
# php-cli os-specific settings
|
|
cli:
|
|
ini: /location/of/php-cli/php.ini
|
|
|
|
# php-fpm settings
|
|
fpm:
|
|
|
|
# settings for the php-fpm service
|
|
service:
|
|
# if True, enables the php-fpm service, if False disables it
|
|
enabled: True
|
|
# additional arguments passed forward to
|
|
# service.enabled/disabled
|
|
opts:
|
|
reload: True
|
|
|
|
# settings for the relevant php-fpm configuration files
|
|
config:
|
|
|
|
# options to manage the php.ini file used by php-fpm
|
|
ini:
|
|
# arguments passed through to file.managed
|
|
opts:
|
|
recurse: True
|
|
# php.ini file contents that will be merged with the
|
|
# defaults in php.ng.ini.defaults. See php.ng.ini.defaults for
|
|
# syntax guidelines.
|
|
settings:
|
|
PHP:
|
|
engine: 'Off'
|
|
extension_dir: '/usr/lib/php/modules/'
|
|
extension: [pdo_mysql.so, iconv.so, openssl.so]
|
|
|
|
# options to manage the php-fpm conf file
|
|
conf:
|
|
# arguments passed through to file.managed
|
|
opts:
|
|
recurse: True
|
|
# php-fpm conf file contents that will be merged with
|
|
# php.ng.lookup.fpm.defaults. See php.ng.ini.defaults for
|
|
# ini-style syntax guidelines.
|
|
settings:
|
|
global:
|
|
pid: /var/run/php-fpm/special-pid.file
|
|
|
|
# settings for fpm-pools
|
|
pools:
|
|
# defaults will apply for each pools settings and can be overwritten by pool settings
|
|
defaults:
|
|
user: nginx
|
|
group: nginx
|
|
listen: /var/run/php-fpm-default.sock
|
|
|
|
# name of the pool file to be managed, this will be appended
|
|
# to the path specified in php.ng.lookup.fpm.pools
|
|
'mypool.conf':
|
|
# If true, the pool file will be managed, if False it will be
|
|
# absent
|
|
enabled: True
|
|
|
|
# Overwrite the filename for ext_pillar that doesn't allow
|
|
# dots in fields names.
|
|
filname: my_other_name.conf
|
|
|
|
# arguments passed forward to file.managed or file.absent
|
|
opts:
|
|
replace: False
|
|
|
|
# pool file contents. See php.ng.ini.defaults for ini-style
|
|
# syntax guidelines.
|
|
settings:
|
|
myapp:
|
|
user: www-data
|
|
group: www-data
|
|
listen: /var/run/php5-fpm-myapp.sock
|
|
listen.owner: www-data
|
|
listen.group: www-data
|
|
listen.mode: 0660
|
|
pm: dynamic
|
|
pm.max_children: 5
|
|
pm.start_servers: 2
|
|
pm.min_spare_servers: 1
|
|
pm.max_spare_servers: 3
|
|
'php_admin_value[memory_limit]': 300M
|
|
|
|
# php-cli settings
|
|
cli:
|
|
# settings to manage the cli's php.ini
|
|
ini:
|
|
# opts passed forward directly to file.managed
|
|
opts:
|
|
replace: False
|
|
# contents of the php.ini file that are merged with defaults
|
|
# from php.ng.ini.defaults. See php.ng.ini.defaults for ini-style
|
|
# syntax guidelines
|
|
settings:
|
|
PHP:
|
|
engine: 'Off'
|
|
|
|
# php-xcache settings
|
|
xcache:
|
|
ini:
|
|
opts: {}
|
|
# contents of the xcache.ini file that are merged with defaults
|
|
# from php.xcache.ini.defaults. See php.ng.ini.defaults for ini-style
|
|
settings:
|
|
xcache:
|
|
xcache.size: 90M
|
|
|
|
# global php.ini settings
|
|
ini:
|
|
# Default php.ini contents. These follow a strict format. The top-
|
|
# level dict keys form ini group headings. Nested key/value
|
|
# pairs represent setting=value statements. If a value is a list,
|
|
# its contents will be joined by commas in final rendering.
|
|
defaults:
|
|
PHP:
|
|
engine: on
|
|
output_buffering: 4096
|
|
disable_functions:
|
|
- pcntl_alarm
|
|
- pcntl_fork
|
|
- pcntl_wait
|
|
'CLI Server':
|
|
cli_server_color: 'On'
|
|
|
|
# When using php.ng.apache2 on FreeBSD:
|
|
# Set this to False if you're not using apache-formula
|
|
use_apache_formula: True
|