From 5e304544edf82a176a20ff26feb3f4e6c89d412b Mon Sep 17 00:00:00 2001 From: Chad Heuschober Date: Tue, 20 May 2014 15:59:25 -0400 Subject: [PATCH] Adds full fpm pools management. --- php/ng/adodb.sls | 2 + php/ng/apc.sls | 2 + php/ng/cgi.sls | 2 + php/ng/cli.sls | 2 + php/ng/curl.sls | 2 + php/ng/files/php.ini | 28 +++ php/ng/files/php.ini.jinja | 16 -- php/ng/fpm/config.sls | 26 +++ php/ng/fpm/init.sls | 15 ++ php/ng/fpm/install.sls | 2 + php/ng/fpm/pools.sls | 16 ++ php/ng/fpm/pools_config.sls | 33 ++++ php/ng/fpm/service.sls | 17 ++ php/ng/gd.sls | 2 + php/ng/imagick.sls | 2 + php/ng/imap.sls | 2 + php/ng/ini.sls | 16 +- php/ng/init.sls | 2 + php/ng/installed.jinja | 6 + php/ng/ldap.sls | 2 + php/ng/map.jinja | 336 ++++++++++++++++++++++++++++++++++++ php/ng/map_ng.jinja | 216 ----------------------- php/ng/mbstring.sls | 2 + php/ng/mcrypt.sls | 2 + php/ng/memcache.sls | 2 + php/ng/memcached.sls | 2 + php/ng/mysql.sls | 2 + php/ng/mysqlnd.sls | 2 + php/ng/pear.sls | 2 + php/ng/pgsql.sls | 2 + php/ng/soap.sls | 2 + php/ng/suhosin.sls | 2 + php/ng/xml.sls | 2 + 33 files changed, 529 insertions(+), 240 deletions(-) create mode 100644 php/ng/adodb.sls create mode 100644 php/ng/apc.sls create mode 100644 php/ng/cgi.sls create mode 100644 php/ng/cli.sls create mode 100644 php/ng/curl.sls create mode 100644 php/ng/files/php.ini delete mode 100644 php/ng/files/php.ini.jinja create mode 100644 php/ng/fpm/config.sls create mode 100644 php/ng/fpm/init.sls create mode 100644 php/ng/fpm/install.sls create mode 100644 php/ng/fpm/pools.sls create mode 100644 php/ng/fpm/pools_config.sls create mode 100644 php/ng/fpm/service.sls create mode 100644 php/ng/gd.sls create mode 100644 php/ng/imagick.sls create mode 100644 php/ng/imap.sls create mode 100644 php/ng/init.sls create mode 100644 php/ng/installed.jinja create mode 100644 php/ng/ldap.sls create mode 100644 php/ng/map.jinja delete mode 100644 php/ng/map_ng.jinja create mode 100644 php/ng/mbstring.sls create mode 100644 php/ng/mcrypt.sls create mode 100644 php/ng/memcache.sls create mode 100644 php/ng/memcached.sls create mode 100644 php/ng/mysql.sls create mode 100644 php/ng/mysqlnd.sls create mode 100644 php/ng/pear.sls create mode 100644 php/ng/pgsql.sls create mode 100644 php/ng/soap.sls create mode 100644 php/ng/suhosin.sls create mode 100644 php/ng/xml.sls diff --git a/php/ng/adodb.sls b/php/ng/adodb.sls new file mode 100644 index 0000000..5561747 --- /dev/null +++ b/php/ng/adodb.sls @@ -0,0 +1,2 @@ +{% set state = 'adodb' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/apc.sls b/php/ng/apc.sls new file mode 100644 index 0000000..d1c7f1a --- /dev/null +++ b/php/ng/apc.sls @@ -0,0 +1,2 @@ +{% set state = 'apc' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/cgi.sls b/php/ng/cgi.sls new file mode 100644 index 0000000..655e92a --- /dev/null +++ b/php/ng/cgi.sls @@ -0,0 +1,2 @@ +{% set state = 'cgi' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/cli.sls b/php/ng/cli.sls new file mode 100644 index 0000000..c52a6ef --- /dev/null +++ b/php/ng/cli.sls @@ -0,0 +1,2 @@ +{% set state = 'cli' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/curl.sls b/php/ng/curl.sls new file mode 100644 index 0000000..6ad15ed --- /dev/null +++ b/php/ng/curl.sls @@ -0,0 +1,2 @@ +{% set state = 'curl' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/files/php.ini b/php/ng/files/php.ini new file mode 100644 index 0000000..20ae67e --- /dev/null +++ b/php/ng/files/php.ini @@ -0,0 +1,28 @@ +{%- macro php_block(section, settings) %} + + {%- if settings is number or settings is string %} +{{ section }} = {{ settings }} + {%- else %} +[{{ section }}] + {%- for setting, value in settings.items() -%} + {%- if value is number or value is string %} + {{ setting }} = {{ value }} + {%- elif value is iterable -%} + {%- if setting == 'error_reporting' %} + {{ setting }} = {{ value|join(" & ") }} + {%- else %} + {{ setting }} = {{ value|join(",") }} + {%- endif -%} + {%- endif %} + {%- endfor -%} + {%- endif -%} +{%- endmacro -%} + +; PHP configuration file. +; +; **** DO NOT EDIT THIS FILE **** +; +; This file is managed by Salt +{%- for section, settings in config.items() -%} +{{ php_block(section, settings) }} +{%- endfor -%} diff --git a/php/ng/files/php.ini.jinja b/php/ng/files/php.ini.jinja deleted file mode 100644 index 5675f86..0000000 --- a/php/ng/files/php.ini.jinja +++ /dev/null @@ -1,16 +0,0 @@ -; This file is managed by Salt, do not edit -; -{%- for section, settings in config|dictsort %} -[{{ section }}] - {%- for setting, value in settings|dictsort %} - {% if value is number or value is string -%} -{{ setting }} = {{ value }} - {%- elif value is iterable -%} - {%- if setting == 'error_reporting' %} -{{ setting }} = {{ value|join(" & ") }} - {%- else -%} -{{ setting }} = {{ value|join(",") }} - {%- endif -%} - {%- endif %} - {%- endfor %} -{% endfor %} diff --git a/php/ng/fpm/config.sls b/php/ng/fpm/config.sls new file mode 100644 index 0000000..fd49961 --- /dev/null +++ b/php/ng/fpm/config.sls @@ -0,0 +1,26 @@ +# Manages the php-fpm main ini file +{% from 'php/ng/map.jinja' import php, sls_block with context %} + +{% set ini_settings = php.ini.defaults %} +{% do ini_settings.update(php.fpm.config.ini.settings) %} + +{% set conf_settings = php.lookup.fpm.defaults %} +{% do conf_settings.update(php.fpm.config.conf.settings) %} + +php_fpm_ini_config: + file.managed: + {{ sls_block(php.fpm.config.ini.opts) }} + - name: {{ php.lookup.fpm.ini }} + - source: salt://php/ng/files/php.ini + - template: jinja + - context: + config: {{ ini_settings }} + +php_fpm_conf_config: + file.managed: + {{ sls_block(php.fpm.config.conf.opts) }} + - name: {{ php.lookup.fpm.conf }} + - source: salt://php/ng/files/php.ini + - template: jinja + - context: + config: {{ conf_settings }} diff --git a/php/ng/fpm/init.sls b/php/ng/fpm/init.sls new file mode 100644 index 0000000..298e969 --- /dev/null +++ b/php/ng/fpm/init.sls @@ -0,0 +1,15 @@ +# php.ng.fpm +# +# Meta-state to fully install php. + +include: + - php.ng.fpm.config + - php.ng.fpm.service + - php.ng.fpm.pools + +extend: + php_fpm_service: + service: + - watch: + - file: php_fpm_ini_config + - file: php_fpm_conf_config diff --git a/php/ng/fpm/install.sls b/php/ng/fpm/install.sls new file mode 100644 index 0000000..6fda19e --- /dev/null +++ b/php/ng/fpm/install.sls @@ -0,0 +1,2 @@ +{% set state = 'fpm' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/fpm/pools.sls b/php/ng/fpm/pools.sls new file mode 100644 index 0000000..c41f45c --- /dev/null +++ b/php/ng/fpm/pools.sls @@ -0,0 +1,16 @@ +# Manages the php-fpm pools config files +{% from 'php/ng/map.jinja' import php, sls_block with context %} +{% from 'php/ng/fpm/pools_config.sls' import pool_states with context %} +{% from 'php/ng/fpm/service.sls' import service_function with context %} + +include: + - php.ng.fpm.service + - php.ng.fpm.pools_config + +extend: + php_fpm_service: + service.{{ service_function }}: + - watch: + {%- for pool in pool_states %} + - file: {{ pool }} + {% endfor -%} diff --git a/php/ng/fpm/pools_config.sls b/php/ng/fpm/pools_config.sls new file mode 100644 index 0000000..61f0ba4 --- /dev/null +++ b/php/ng/fpm/pools_config.sls @@ -0,0 +1,33 @@ +# Manages the php-fpm pools config files +{% from 'php/ng/map.jinja' import php, sls_block with context %} + +# Simple path concatenation. +{% macro path_join(file, root) -%} + {{ root ~ '/' ~ file }} +{%- endmacro %} + +{% set pool_states = [] %} + +{% for pool, config in php.fpm.pools.managed.items() %} +{% set state = 'php_fpm_pool_conf_' ~ loop.index0 %} +{% set fpath = path_join(pool, php.lookup.fpm.pools) %} + +{{ state }}: +{% if config.enabled %} + file.managed: + {{ sls_block(php.fpm.pools.managed_opts) }} + - name: {{ fpath }} + - source: salt://php/ng/files/php.ini + - template: jinja + - context: + config: {{ config.settings }} +{% else %} + file.absent: + - name: {{ fpath }} +{% endif %} + +{% do pool_states.append(state) %} +{% endfor %} + + + diff --git a/php/ng/fpm/service.sls b/php/ng/fpm/service.sls new file mode 100644 index 0000000..b729ebb --- /dev/null +++ b/php/ng/fpm/service.sls @@ -0,0 +1,17 @@ +# Manages the php-fpm service. +{% from 'php/ng/map.jinja' import php, sls_block with context %} +{% set service_function = {True:'running', False:'dead'}.get(php.fpm.service.enabled) %} + +include: + - php.ng.fpm.install + +php_fpm_service: + service.{{ service_function }}: + {{ sls_block(php.fpm.service.opts) }} + - name: {{ php.lookup.fpm.service }} + - enable: {{ php.fpm.service.enabled }} + - require: + - sls: php.ng.fpm.install + - watch: + - pkg: php_install_fpm + diff --git a/php/ng/gd.sls b/php/ng/gd.sls new file mode 100644 index 0000000..fe55c71 --- /dev/null +++ b/php/ng/gd.sls @@ -0,0 +1,2 @@ +{% set state = 'gd' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/imagick.sls b/php/ng/imagick.sls new file mode 100644 index 0000000..7bfcd46 --- /dev/null +++ b/php/ng/imagick.sls @@ -0,0 +1,2 @@ +{% set state = 'imagick' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/imap.sls b/php/ng/imap.sls new file mode 100644 index 0000000..20b015e --- /dev/null +++ b/php/ng/imap.sls @@ -0,0 +1,2 @@ +{% set state = 'imap' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/ini.sls b/php/ng/ini.sls index bc1fd2b..2730a70 100644 --- a/php/ng/ini.sls +++ b/php/ng/ini.sls @@ -1,12 +1,12 @@ -{% from "php/ng/map_ng.jinja" import php with context %} +# php.ng.ini.sls +# +# Generic php.ini management state. +{% from "php/ng/map.jinja" import php, sls_block with context %} -php-ini: +php_ini: file.managed: - - name: {{ php.lookup.php_ini }} - - source: salt://php/ng/files/php.ini.jinja - - user: root - - group: root - - mode: 644 + {{ sls_block(php.ini.file_opts) }} + - source: salt://php/ng/files/php.ini - template: jinja - context: - config: {{ php.ini_settings }} \ No newline at end of file + config: {{ php.ini.settings }} diff --git a/php/ng/init.sls b/php/ng/init.sls new file mode 100644 index 0000000..80bd5da --- /dev/null +++ b/php/ng/init.sls @@ -0,0 +1,2 @@ +{% set state = 'php' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/installed.jinja b/php/ng/installed.jinja new file mode 100644 index 0000000..ce4236b --- /dev/null +++ b/php/ng/installed.jinja @@ -0,0 +1,6 @@ +# Template for installing packages. +{% from "php/ng/map.jinja" import php, sls_block with context %} +php_install_{{ state }}: + pkg.installed: + {{ sls_block(php.get(state).pkg_opts) }} + - name: {{ php.lookup.pkgs.get(state) }} diff --git a/php/ng/ldap.sls b/php/ng/ldap.sls new file mode 100644 index 0000000..f75346d --- /dev/null +++ b/php/ng/ldap.sls @@ -0,0 +1,2 @@ +{% set state = 'ldap' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/map.jinja b/php/ng/map.jinja new file mode 100644 index 0000000..8ae2f6c --- /dev/null +++ b/php/ng/map.jinja @@ -0,0 +1,336 @@ +{% macro sls_block(dict) %} + {% for key, value in dict.items() %} + - {{ key }}: {{ value|json() }} + {% endfor %} +{% endmacro %} + +{% set php = salt['pillar.get']('php:ng', { + 'lookup': salt['grains.filter_by']({ + 'Debian': { + 'pkgs': { + 'php': 'php5', + 'apc': 'php-apc', + 'cgi': 'php5-cgi', + 'cli': 'php5-cli', + 'curl': 'php5-curl', + 'fpm': 'php5-fpm', + 'gd': 'php5-gd', + 'mbstring': 'php5', + 'mcrypt': 'php5-mcrypt', + 'memcache': 'php5-memcache', + 'memcached': 'php5-memcached', + 'mysql': 'php5-mysql', + 'mysqlnd': 'php5-mysqlnd', + 'pear': ' php-pear', + 'soap': ' php-soap', + 'xml': ' php5-xml', + 'imagick': 'php5-imagick', + 'suhosin': 'php5-suhosin', + 'imap': 'php5-imap', + 'adodb': 'php5-adodb', + 'pgsql': 'php5-pgsql', + 'ldap': 'php5-ldap', + }, + 'fpm': { + 'conf': '/etc/php5/fpm/php-fpm.conf', + 'ini': '/etc/php5/fpm/php.ini', + 'pools': '/etc/php5/fpm/pool.d', + 'service': 'php5-fpm', + 'defaults': odict([ + ('global', odict([ + ('pid', '/var/run/php5-fpm.pid'), + ('error_log', '/var/log/php5-fpm.log'), + ('include', '/etc/php5/fpm/pool.d/*.conf'), + ])), + ]), + }, + 'apache2_mod_php_ini': '/etc/php5/apache2/php.ini', + }, + 'RedHat': { + 'pkgs': { + 'php': 'php', + 'apc': 'php-pecl-apc', + 'cgi': 'php-cgi', + 'cli': 'php-cli', + 'curl': 'curl', + 'fpm': 'php-fpm', + 'gd': 'php-gd', + 'mbstring': 'php-mbstring', + 'mcrypt': 'php-mcrypt', + 'memcache': 'php-pecl-memcache', + 'memcached': 'php-pecl-memcached', + 'mysql': 'php-mysql', + 'mysqlnd': 'php-mysqlnd', + 'pear': ' php-pear', + 'soap': ' php-soap', + 'xml': ' php-xml', + 'imagick': 'php-imagick', + 'suhosin': 'php-suhosin', + 'imap': 'php-imap', + 'adodb': 'php-adodb', + 'pgsql': 'php-pgsql', + 'ldap': 'php-ldap', + }, + 'fpm': { + 'conf': '/etc/php-fpm.conf', + 'ini': '/etc/php.ini', + 'pools': '/etc/php-fpm.d', + 'service': 'php-fpm', + 'defaults': { + 'global': { + 'pid': '/var/run/php-fpm/php-fpm.pid', + 'error_log': '/var/log/php-fpm/error.log', + 'include': '/etc/php-fpm.d/*.conf', + }, + }, + }, + 'apache2_mod_php_ini': '/etc/php.ini', + }, + }), + 'adodb': { + 'pkg_opts': {}, + }, + 'apc': { + 'pkg_opts': {}, + }, + 'cgi': { + 'pkg_opts': {}, + }, + 'cli': { + 'pkg_opts': {}, + }, + 'curl': { + 'pkg_opts': {}, + }, + 'fpm': { + 'pkg_opts': {}, + 'service': { + 'enabled': True, + 'opts': {}, + }, + 'config': { + 'ini': { + 'opts': {}, + 'settings': {}, + }, + 'conf': { + 'opts': {}, + 'settings': {}, + }, + }, + 'pools': { + 'managed_opts': {}, + 'absent_opts': {}, + 'managed': {}, + }, + }, + 'gd': { + 'pkg_opts': {}, + }, + 'imagick': { + 'pkg_opts': {}, + }, + 'imap': { + 'pkg_opts': {}, + }, + 'ini': { + 'defaults': { + 'PHP': { + 'engine': 'On', + 'short_open_tag': 'Off', + 'asp_tags': 'Off', + 'precision': 14, + 'output_buffering': 4096, + 'zlib.output_compression': 'Off', + 'implicit_flush': 'Off', + 'serialize_precision': 17, + 'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled', + 'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror', + 'pcntl_sigprocmask','pcntl_sigwaitinfo','pcntl_sigtimedwait','pcntl_exec','pcntl_getpriority','pcntl_setpriority'], + 'zend.enable_gc': 'On', + 'expose_php': 'On', + 'max_execution_time': 30, + 'max_input_time': 60, + 'max_input_nesting_level': 64, + 'max_input_vars': 1000, + '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', + 'track_errors': 'Off', + 'html_errors': 'On', + 'variables_order': 'GPCS', + 'request_order': 'GP', + 'register_argc_argv': 'Off', + 'auto_globals_jit': 'On', + 'post_max_size': '8M', + 'default_mimetype': '"text/html"', + '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 + }, + 'CLI Server': { + 'cli_server.color': 'On' + }, + 'Date': { + 'date.timezone': 'America/New_York' + }, + 'Pdo_mysql': { + 'pdo_mysql.cache_size': 2000 + }, + 'mail function': { + 'SMTP': 'localhost', + 'mail.add_x_header': 'On' + }, + 'SQL': { + 'sql.safe_mode': 'Off' + }, + 'ODBC': { + 'odbc.allow_persistent': 'On', + 'odbc.check_persistent': 'On', + 'odbc.max_persistent': '-1', + 'odbc.max_links': '-1', + 'odbc.defaultlrl': 4096, + 'odbc.defaultbinmode': 1 + }, + 'Interbase': { + 'ibase.allow_persistent': 1, + 'ibase.max_persistent': -1, + 'ibase.max_links': -1, + 'ibase.timestampformat': '"%Y-%m-%d %H:%M:%S"', + 'ibase.dateformat': '"%Y-%m-%d"', + 'ibase.timeformat': '"%H:%M:%S"' + }, + 'MySQL': { + 'mysql.allow_local_infile': 'On', + 'mysql.allow_persistent': 'On', + 'mysql.cache_size': '2000', + 'mysql.max_persistent': -1, + 'mysql.max_links': -1, + 'mysql.connect_timeout': 60, + 'mysql.trace_mode': 'Off' + }, + 'MySQLi': { + 'mysqli.max_persistent': -1, + 'mysqli.allow_persistent': 'On', + 'mysqli.max_links': -1, + 'mysqli.cache_size': 2000, + 'mysqli.default_port': 3306, + 'mysqli.reconnect': 'Off' + }, + 'mysqlnd': { + 'mysqlnd.collect_statistics': 'On', + 'mysqlnd.collect_memory_statistics': 'Off' + }, + 'PostgreSQL': { + 'pgsql.allow_persistent': 'On', + 'pgsql.auto_reset_persistent': 'Off', + 'pgsql.max_persistent': -1, + 'pgsql.max_links': -1, + 'pgsql.ignore_notice': 0, + 'pgsql.log_notice': 0 + }, + 'Sybase-CT': { + 'sybct.allow_persistent': 'On', + 'sybct.max_persistent': -1, + 'sybct.max_links': -1, + 'sybct.min_server_severity': 10, + 'sybct.min_client_severity': 10 + }, + 'bcmath': { + 'bcmath.scale': 0 + }, + 'Session': { + 'session.save_handler': 'files', + 'session.use_strict_mode': 0, + 'session.use_cookies': 1, + 'session.use_only_cookies': 1, + 'session.name': 'PHPSESSID', + 'session.auto_start': 0, + 'session.cookie_lifetime': 0, + 'session.cookie_path': '/', + 'session.serialize_handler': 'php', + 'session.gc_probability': 0, + 'session.gc_divisor': 1000, + 'session.gc_maxlifetime': 1440, + 'session.bug_compat_42': 'Off', + 'session.bug_compat_warn': 'Off', + 'session.cache_limiter': 'nocache', + 'session.cache_expire': '180', + 'session.use_trans_sid': 0, + 'session.hash_function': 0, + 'session.hash_bits_per_character': 5, + 'url_rewriter.tags': '"a=href,area=href,frame=src,input=src,form=fakeentry"' + }, + 'MSSQL': { + 'mssql.allow_persistent': 'On', + 'mssql.max_persistent': -1, + 'mssql.max_links': -1, + 'mssql.min_error_severity': 10, + 'mssql.min_message_severity': 10, + 'mssql.compatibility_mode': 'Off', + 'mssql.secure_connection': 'Off' + }, + 'Tidy': { + 'tidy.clean_output': 'Off' + }, + 'soap': { + 'soap.wsdl_cache_enabled': 1, + 'soap.wsdl_cache_dir': '"/tmp"', + 'soap.wsdl_cache_ttl': 86400, + 'soap.wsdl_cache_limit': 5 + }, + 'ldap': { + 'ldap.max_links': -1 + }, + }, + }, + 'init': { + 'pkg_opts': {}, + }, + 'ldap': { + 'pkg_opts': {}, + }, + 'mbstring': { + 'pkg_opts': {}, + }, + 'mcrypt': { + 'pkg_opts': {}, + }, + 'memcache': { + 'pkg_opts': {}, + }, + 'memcached': { + 'pkg_opts': {}, + }, + 'mysql': { + 'pkg_opts': {}, + }, + 'mysqlnd': { + 'pkg_opts': {}, + }, + 'pear': { + 'pkg_opts': {}, + }, + 'pgsql': { + 'pkg_opts': {}, + }, + 'soap': { + 'pkg_opts': {}, + }, + 'suhosin': { + 'pkg_opts': {}, + }, + 'xml': { + 'pkg_opts': {}, + }, +}, merge=True) %} diff --git a/php/ng/map_ng.jinja b/php/ng/map_ng.jinja deleted file mode 100644 index eec87d2..0000000 --- a/php/ng/map_ng.jinja +++ /dev/null @@ -1,216 +0,0 @@ -{% set php = { - 'lookup': salt['grains.filter_by']({ - 'Debian': { - 'php_pkg': 'php5', - 'apc_pkg': 'php-apc', - 'cgi_pkg': 'php5-cgi', - 'cli_pkg': 'php5-cli', - 'curl_pkg': 'php5-curl', - 'fpm_pkg': 'php5-fpm', - 'gd_pkg': 'php5-gd', - 'mbstring_pkg': 'php5', - 'mcrypt_pkg': 'php5-mcrypt', - 'memcache_pkg': 'php5-memcache', - 'memcached_pkg': 'php5-memcached', - 'mysql_pkg': 'php5-mysql', - 'mysqlnd_pkg': 'php5-mysqlnd', - 'pear_pkg': ' php-pear', - 'soap_pkg': ' php-soap', - 'fpm_service': 'php5-fpm', - 'xml_pkg': ' php5-xml', - 'imagick_pkg': 'php5-imagick', - 'suhosin_pkg': 'php5-suhosin', - 'imap_pkg': 'php5-imap', - 'adodb_pkg': 'php5-adodb', - 'pgsql_pkg': 'php5-pgsql', - 'ldap_pkg': 'php5-ldap', - 'php_ini': '/etc/php5/apache2/php.ini', - }, - 'RedHat': { - 'php_pkg': 'php', - 'apc_pkg': 'php-pecl-apc', - 'cgi_pkg': 'php-cgi', - 'cli_pkg': 'php-cli', - 'curl_pkg': 'curl', - 'fpm_pkg': 'php-fpm', - 'gd_pkg': 'php-gd', - 'mbstring_pkg': 'php-mbstring', - 'mcrypt_pkg': 'php-mcrypt', - 'memcache_pkg': 'php-pecl-memcache', - 'memcached_pkg': 'php-pecl-memcached', - 'mysql_pkg': 'php-mysql', - 'mysqlnd_pkg': 'php-mysqlnd', - 'pear_pkg': ' php-pear', - 'soap_pkg': ' php-soap', - 'fpm_service': 'php-fpm', - 'xml_pkg': ' php-xml', - 'imagick_pkg': 'php-imagick', - 'suhosin_pkg': 'php-suhosin', - 'imap_pkg': 'php-imap', - 'adodb_pkg': 'php-adodb', - 'pgsql_pkg': 'php-pgsql', - 'ldap_pkg': 'php-ldap', - 'php_ini': '/etc/php.ini', - }, -}, merge=salt['pillar.get']('php:lookup')), - 'ini_settings': salt['pillar.get']('php:ini_settings', { - 'PHP': { - 'engine': 'On', - 'short_open_tag': 'Off', - 'asp_tags': 'Off', - 'precision': 14, - 'output_buffering': 4096, - 'zlib.output_compression': 'Off', - 'implicit_flush': 'Off', - 'serialize_precision': 17, - 'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled', - 'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror', - 'pcntl_sigprocmask','pcntl_sigwaitinfo','pcntl_sigtimedwait','pcntl_exec','pcntl_getpriority','pcntl_setpriority'], - 'zend.enable_gc': 'On', - 'expose_php': 'On', - 'max_execution_time': 30, - 'max_input_time': 60, - 'max_input_nesting_level': 64, - 'max_input_vars': 1000, - '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', - 'track_errors': 'Off', - 'html_errors': 'On', - 'variables_order': 'GPCS', - 'request_order': 'GP', - 'register_argc_argv': 'Off', - 'auto_globals_jit': 'On', - 'post_max_size': '8M', - 'default_mimetype': '"text/html"', - '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 - }, - 'CLI Server': { - 'cli_server.color': 'On' - }, - 'Date': { - 'date.timezone': 'America/New_York' - }, - 'Pdo_mysql': { - 'pdo_mysql.cache_size': 2000 - }, - 'mail function': { - 'SMTP': 'localhost', - 'mail.add_x_header': 'On' - }, - 'SQL': { - 'sql.safe_mode': 'Off' - }, - 'ODBC': { - 'odbc.allow_persistent': 'On', - 'odbc.check_persistent': 'On', - 'odbc.max_persistent': '-1', - 'odbc.max_links': '-1', - 'odbc.defaultlrl': 4096, - 'odbc.defaultbinmode': 1 - }, - 'Interbase': { - 'ibase.allow_persistent': 1, - 'ibase.max_persistent': -1, - 'ibase.max_links': -1, - 'ibase.timestampformat': '"%Y-%m-%d %H:%M:%S"', - 'ibase.dateformat': '"%Y-%m-%d"', - 'ibase.timeformat': '"%H:%M:%S"' - }, - 'MySQL': { - 'mysql.allow_local_infile': 'On', - 'mysql.allow_persistent': 'On', - 'mysql.cache_size': '2000', - 'mysql.max_persistent': -1, - 'mysql.max_links': -1, - 'mysql.connect_timeout': 60, - 'mysql.trace_mode': 'Off' - }, - 'MySQLi': { - 'mysqli.max_persistent': -1, - 'mysqli.allow_persistent': 'On', - 'mysqli.max_links': -1, - 'mysqli.cache_size': 2000, - 'mysqli.default_port': 3306, - 'mysqli.reconnect': 'Off' - }, - 'mysqlnd': { - 'mysqlnd.collect_statistics': 'On', - 'mysqlnd.collect_memory_statistics': 'Off' - }, - 'PostgreSQL': { - 'pgsql.allow_persistent': 'On', - 'pgsql.auto_reset_persistent': 'Off', - 'pgsql.max_persistent': -1, - 'pgsql.max_links': -1, - 'pgsql.ignore_notice': 0, - 'pgsql.log_notice': 0 - }, - 'Sybase-CT': { - 'sybct.allow_persistent': 'On', - 'sybct.max_persistent': -1, - 'sybct.max_links': -1, - 'sybct.min_server_severity': 10, - 'sybct.min_client_severity': 10 - }, - 'bcmath': { - 'bcmath.scale': 0 - }, - 'Session': { - 'session.save_handler': 'files', - 'session.use_strict_mode': 0, - 'session.use_cookies': 1, - 'session.use_only_cookies': 1, - 'session.name': 'PHPSESSID', - 'session.auto_start': 0, - 'session.cookie_lifetime': 0, - 'session.cookie_path': '/', - 'session.serialize_handler': 'php', - 'session.gc_probability': 0, - 'session.gc_divisor': 1000, - 'session.gc_maxlifetime': 1440, - 'session.bug_compat_42': 'Off', - 'session.bug_compat_warn': 'Off', - 'session.cache_limiter': 'nocache', - 'session.cache_expire': '180', - 'session.use_trans_sid': 0, - 'session.hash_function': 0, - 'session.hash_bits_per_character': 5, - 'url_rewriter.tags': '"a=href,area=href,frame=src,input=src,form=fakeentry"' - }, - 'MSSQL': { - 'mssql.allow_persistent': 'On', - 'mssql.max_persistent': -1, - 'mssql.max_links': -1, - 'mssql.min_error_severity': 10, - 'mssql.min_message_severity': 10, - 'mssql.compatibility_mode': 'Off', - 'mssql.secure_connection': 'Off' - }, - 'Tidy': { - 'tidy.clean_output': 'Off' - }, - 'soap': { - 'soap.wsdl_cache_enabled': 1, - 'soap.wsdl_cache_dir': '"/tmp"', - 'soap.wsdl_cache_ttl': 86400, - 'soap.wsdl_cache_limit': 5 - }, - 'ldap': { - 'ldap.max_links': -1 - } - }, merge=True) - -}%} diff --git a/php/ng/mbstring.sls b/php/ng/mbstring.sls new file mode 100644 index 0000000..f8dcbca --- /dev/null +++ b/php/ng/mbstring.sls @@ -0,0 +1,2 @@ +{% set state = 'mbstring' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/mcrypt.sls b/php/ng/mcrypt.sls new file mode 100644 index 0000000..e69fe13 --- /dev/null +++ b/php/ng/mcrypt.sls @@ -0,0 +1,2 @@ +{% set state = 'mcrypt' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/memcache.sls b/php/ng/memcache.sls new file mode 100644 index 0000000..f140102 --- /dev/null +++ b/php/ng/memcache.sls @@ -0,0 +1,2 @@ +{% set state = 'memcache' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/memcached.sls b/php/ng/memcached.sls new file mode 100644 index 0000000..9509c25 --- /dev/null +++ b/php/ng/memcached.sls @@ -0,0 +1,2 @@ +{% set state = 'memcached' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/mysql.sls b/php/ng/mysql.sls new file mode 100644 index 0000000..ad0cfe7 --- /dev/null +++ b/php/ng/mysql.sls @@ -0,0 +1,2 @@ +{% set state = 'mysql' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/mysqlnd.sls b/php/ng/mysqlnd.sls new file mode 100644 index 0000000..90af175 --- /dev/null +++ b/php/ng/mysqlnd.sls @@ -0,0 +1,2 @@ +{% set state = 'mysqld' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/pear.sls b/php/ng/pear.sls new file mode 100644 index 0000000..560d25a --- /dev/null +++ b/php/ng/pear.sls @@ -0,0 +1,2 @@ +{% set state = 'pear' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/pgsql.sls b/php/ng/pgsql.sls new file mode 100644 index 0000000..859e1e9 --- /dev/null +++ b/php/ng/pgsql.sls @@ -0,0 +1,2 @@ +{% set state = 'pgsql' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/soap.sls b/php/ng/soap.sls new file mode 100644 index 0000000..28f2344 --- /dev/null +++ b/php/ng/soap.sls @@ -0,0 +1,2 @@ +{% set state = 'soap' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/suhosin.sls b/php/ng/suhosin.sls new file mode 100644 index 0000000..9099199 --- /dev/null +++ b/php/ng/suhosin.sls @@ -0,0 +1,2 @@ +{% set state = 'suhosin' %} +{% include "php/ng/installed.jinja" %} diff --git a/php/ng/xml.sls b/php/ng/xml.sls new file mode 100644 index 0000000..70c974e --- /dev/null +++ b/php/ng/xml.sls @@ -0,0 +1,2 @@ +{% set state = 'xml' %} +{% include "php/ng/installed.jinja" %}