Merge pull request #157 from bawuenet/master

Enable Softwarecollections on RHEL and CentOS
This commit is contained in:
Niels Abspoel 2018-10-21 20:18:39 +02:00 committed by GitHub
commit 1b15758a93
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 72 additions and 43 deletions

View File

@ -72,6 +72,18 @@ php_ppa_{{ state }}:
{% endif %}
{% endif %}
{% elif grains['os_family'] == "RedHat" and (state == 'cli' or state == 'fpm' or state == 'php') %}
{% set use_scl_repo = salt['pillar.get']('php:use_scl_repo', False) %}
{% set scl_php_version = salt['pillar.get']('php:scl_php_version', 71) %}
{% if use_scl_repo and grains['os'] == 'CentOS' %}
php_centos_scl_enable_{{ state }}:
pkg.installed:
- name: centos-release-scl
{% elif use_scl_repo and grains['os'] == 'RedHat' %}
php_redhat_scl_enable_{{ state }}:
cmd.run:
- name: yum-config-manager --enable rhel-server-rhscl-{{ grains['osmajorrelease'] }}-rpms
{% endif %}
{% endif %}
php_install_{{ state }}:

View File

@ -2490,6 +2490,17 @@
}, merge=True) %}
{%- else %}
{%- set useversion = phpng_version | replace(".", "-") -%}
{#- Red Hat Softwarecollection prefix lookup belongs to the Red Hat part
further down but has to go here due to Jinja parsing rules. -#}
{%- if salt['pillar.get']('php:use_scl_repo', False) -%}
{%- set rh_prefix = 'rh-php{}-'.format(salt['pillar.get']('php:scl_php_version', '')) -%}
{%- set sclo_prefix = 'sclo-php{}-'.format(salt['pillar.get']('php:scl_php_version', '')) -%}
{%- set path_suffix = 'opt/rh/rh-php{}/'.format(salt['pillar.get']('php:scl_php_version', '')) -%}
{%- else -%}
{%- set rh_prefix = '' -%}
{%- set sclo_prefix = '' -%}
{%- set path_suffix = '' -%}
{%- endif -%}
{%- set php = salt['pillar.get']('php:ng', {
'lookup': salt['grains.filter_by']({
'Debian': {
@ -2692,84 +2703,84 @@
'pkgs': {
'adodb': 'php-adodb',
'apc': 'php-pecl-apc',
'apcu': 'php-pecl-apcu',
'bcmath': 'php-bcmath',
'apcu': rh_prefix + 'php-pecl-apcu',
'bcmath': rh_prefix + 'php-bcmath',
'build_pkgs': ['openssl-devel', 'gcc'],
'cache-lite': 'php-pear-Cache-Lite',
'cgi': 'php-cgi',
'cli': 'php-cli',
'cgi': rh_prefix + 'php-cgi',
'cli': rh_prefix + 'php-cli',
'composer': 'composer',
'composer_bin': 'composer',
'console-table': 'php-pear-Console-Table',
'curl': ['php-common', 'curl'],
'dev': 'php-devel',
'ext_conf_path': '/etc/php.d',
'fpm': 'php-fpm',
'gd': 'php-gd',
'geoip': 'php-pecl-geoip',
'dev': rh_prefix + 'php-devel',
'ext_conf_path': '/etc/' + path_suffix + 'php.d',
'fpm': rh_prefix + 'php-fpm',
'gd': rh_prefix + 'php-gd',
'geoip': sclo_prefix + 'php-pecl-geoip',
'geshi': 'php-geshi',
'gettext': 'php-php-gettext',
'http': 'php-pecl-http',
'imagick': 'php-pecl-imagick',
'imap': 'php-imap',
'intl': 'php-intl',
'json': 'php-common',
'ldap': 'php-ldap',
'http': sclo_prefix + 'php-pecl-http',
'imagick': sclo_prefix + 'php-pecl-imagick',
'imap': sclo_prefix + 'php-imap',
'intl': rh_prefix + 'php-intl',
'json': rh_prefix + 'php-common',
'ldap': rh_prefix + 'php-ldap',
'local_bin': '/usr/local/bin',
'auth-sasl': 'php-pear-Auth-SASL',
'mail': 'php-pear-Mail',
'mbstring': 'php-mbstring',
'mcrypt': 'php-mcrypt',
'mbstring': rh_prefix + 'php-mbstring',
'mcrypt': sclo_prefix + 'php-mcrypt',
'memcache': 'php-pecl-memcache',
'memcached': 'php-pecl-memcached',
'memcached': sclo_prefix + 'php-pecl-memcached',
'mysql': 'php-mysql',
'mysqlnd': 'php-mysqlnd',
'mysqlnd': rh_prefix + 'php-mysqlnd',
'net-smtp': 'php-pear-Net-SMTP',
'net4': 'php-pear-Net-IPv4',
'oauth': 'php-pecl-oauth',
'opcache': 'php-pecl-zendopcache',
'pear': 'php-pear',
'pgsql': 'php-pgsql',
'php': 'php',
'pspell': 'php-pspell',
'redis': 'php-pecl-redis',
'pear': rh_prefix + 'php-pear',
'pgsql': rh_prefix + 'php-pgsql',
'php': rh_prefix + 'php',
'pspell': rh_prefix + 'php-pspell',
'redis': sclo_prefix + 'php-pecl-redis',
'seclib': 'php-phpseclib',
'snmp': 'php-snmp',
'soap': 'php-soap',
'sqlite': 'php-pdo',
'ssh2': 'php-pecl-ssh2',
'snmp': rh_prefix + 'php-snmp',
'soap': rh_prefix + 'php-soap',
'sqlite': rh_prefix + 'php-pdo',
'ssh2': sclo_prefix + 'php-pecl-ssh2',
'suhosin5_ext': 'suhosin.so',
'suhosin5_repo': 'https://github.com/sektioneins/suhosin',
'suhosin7_ext': 'suhosin7.so',
'suhosin7_repo': 'https://github.com/sektioneins/suhosin7',
'tcpdf': 'php-tcpdf',
'temp_dir': '/tmp',
'tidy': 'php-tidy',
'uuid': 'php-pecl-uuid',
'tidy': sclo_prefix + 'php-tidy',
'uuid': sclo_prefix + 'php-pecl-uuid',
'xcache': 'php-xcache',
'xdebug': 'php-pecl-xdebug',
'xml': 'php-xml',
'xsl': 'php-xml',
'zip': 'php',
'xdebug': sclo_prefix + 'php-pecl-xdebug',
'xml': rh_prefix + 'php-xml',
'xsl': rh_prefix + 'php-xml',
'zip': rh_prefix + 'php',
},
'fpm': {
'conf': '/etc/php-fpm.conf',
'ini': '/etc/php.ini',
'pools': '/etc/php-fpm.d',
'service': 'php-fpm',
'conf': '/etc/' + path_suffix + 'php-fpm.conf',
'ini': '/etc/' + path_suffix + 'php.ini',
'pools': '/etc/' + path_suffix + 'php-fpm.d',
'service': rh_prefix + 'php-fpm',
'defaults': {
'global': {
'pid': '/var/run/php-fpm/php-fpm.pid',
'error_log': '/var/log/php-fpm/error.log',
'pid': '/var/' + path_suffix + 'run/php-fpm/php-fpm.pid',
'error_log': '/var/' + path_suffix + 'log/php-fpm/error.log',
},
'include': '/etc/php-fpm.d/*.conf',
'include': '/etc/' + path_suffix + 'php-fpm.d/*.conf',
},
},
'cli': {
'ini': '/etc/php.ini',
'ini': '/etc/' + path_suffix + 'php.ini',
},
'xcache': {
'ini': '/etc/php.d/xcache.ini',
'ini': '/etc/' + path_suffix + 'php.d/xcache.ini',
},
},
'Suse': {

View File

@ -5,6 +5,12 @@ php:
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"