Merge branch 'freebsd-support'

This commit is contained in:
Alexander Weidinger 2018-03-15 22:23:58 +01:00
commit 566a18ddca
14 changed files with 107 additions and 10 deletions

View File

@ -49,7 +49,7 @@ Disabled on opensuse not available, only fastcgi
Installs the php-cli package.
``php.composer``
-----------
----------------
Installs [composer](https://getcomposer.org) and keeps it updated.
@ -247,6 +247,11 @@ Manages the php-cli ini file.
Installs the php-cli package.
``php.ng.composer``
-------------------
Installs [composer](https://getcomposer.org) and keeps it updated.
``php.ng.curl``
---------------

View File

@ -41,7 +41,11 @@ install-composer:
update-composer:
cmd.run:
- name: "{{ install_file }} selfupdate"
- unless: test $(date -d "60 days $({{ install_file }} --version | cut -d ' ' -f 4,5)" "+%s") \> $(date "+%s")
{% if grains['os_family'] == 'FreeBSD' %}
- unless: test $(date -v+60d -j -f "%Y-%m-%d %H:%M:%S" "$({{ install_file }} --version | cut -d ' ' -f 4,5)" "+%s") -gt $(date "+%s")
{% else %}
- unless: test $(date -d "60 days $({{ install_file }} --version | cut -d ' ' -f 4,5)" "+%s") -gt $(date "+%s")
{% endif %}
- cwd: {{ php.local_bin }}
- env:
- HOME: {{ salt_user_home }}

View File

@ -417,5 +417,10 @@
'xml_pkg': ['php5-xmlreader','php5-xmlwriter','php5-xmlrpc'],
'zip_pkg': 'php5-zip',
},
'FreeBSD': {
'local_bin': '/usr/local/bin',
'composer_bin': 'composer',
'temp_dir': '/tmp',
},
}, merge=salt['pillar.get']('php:lookup')) %}
{%- endif %}

View File

@ -0,0 +1,14 @@
{% from "php/ng/map.jinja" import php with context %}
{% from "php/ng/map.jinja" import phpng_version with context %}
{% set major = phpng_version.split('.')|first %}
LoadModule php{{ major }}_module /usr/local/libexec/{{ php.lookup.apache2.name }}/libphp{{ major }}.so
DirectoryIndex index.html index.php
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>

View File

@ -1,4 +1,4 @@
# Manages the libapache2-mod-php5 main ini file
# Manages the main Apache2 ini file
{% from "php/ng/map.jinja" import php with context %}
{% from "php/ng/ini.jinja" import php_ini %}

View File

@ -1,8 +1,8 @@
# Installs libapache2-mod-php5 package and manages the associated php.ini on os Debian
{% if grains['os_family'] == "Debian" %}
include:
{% if grains['os_family'] in ["Debian", "FreeBSD"] %}
- php.ng.apache2.install
{% endif %} #END: os = Debian|FreeBSD
{% if grains['os_family'] == "Debian" %}
- php.ng.apache2.ini
extend:
@ -10,5 +10,4 @@ extend:
file:
- require:
- sls: php.ng.apache2.install
{% endif %} #END: os = debian

View File

@ -1,2 +1,18 @@
{% from "php/ng/map.jinja" import php with context %}
{% set state = 'apache2' %}
{% include "php/ng/installed.jinja" %}
{% if grains['os_family'] == "FreeBSD" %}
{{ php.lookup.apache2.module_config }}:
file.managed:
- source: salt://php/ng/apache2/files/mod_php.conf.jinja
- template: jinja
{% if salt['pillar.get']('php:ng:use_apache_formula', True) %}
- makedirs: true
- require_in:
- sls: apache
- watch_in:
- module: apache-restart
{% endif %} #END: use apache formula
{% endif %} #END: os = debian

View File

@ -12,6 +12,14 @@
include:
- php.ng
{% if grains['os_family'] == 'FreeBSD' %}
- php.ng.filter
- php.ng.hash
- php.ng.json
- php.ng.mbstring
- php.ng.openssl
- php.ng.phar
{% endif %}
get-composer:
file.managed:
@ -41,7 +49,11 @@ install-composer:
update-composer:
cmd.run:
- name: "{{ install_file }} selfupdate"
- unless: test $(date -d "60 days $({{ install_file }} --version | cut -d ' ' -f 4,5)" "+%s") \> $(date "+%s")
{% if grains['os_family'] == 'FreeBSD' %}
- unless: test $(date -v+60d -j -f "%Y-%m-%d %H:%M:%S" "$({{ install_file }} --version | cut -d ' ' -f 4,5)" "+%s") -gt $(date "+%s")
{% else %}
- unless: test $(date -d "60 days $({{ install_file }} --version | cut -d ' ' -f 4,5)" "+%s") -gt $(date "+%s")
{% endif %}
- cwd: {{ php.lookup.pkgs.local_bin }}
- env:
- HOME: {{ salt_user_home }}

2
php/ng/filter.sls Normal file
View File

@ -0,0 +1,2 @@
{% set state = 'filter' %}
{% include "php/ng/installed.jinja" %}

2
php/ng/hash.sls Normal file
View File

@ -0,0 +1,2 @@
{% set state = 'hash' %}
{% include "php/ng/installed.jinja" %}

View File

@ -1,10 +1,12 @@
# -*- coding: utf-8 -*-
# vim: ft=jinja
{%- set phpng_version = salt['pillar.get']('php:ng:version', '7.0')|string %}
{%- set freebsd_phpng_version = phpng_version.replace('.', '') %}
{%- if salt['grains.get']('os') == "Ubuntu" %}
{%- set use_external_repo = salt['pillar.get']('php:use_external_repo', False) %}
{%- if use_external_repo %}
{%- set phpng_version = salt['pillar.get']('php:ng:version', '7.0')|string %}
{%- if salt['grains.get']('osrelease')|string >= '16.04' %}
{%- set php = salt['pillar.get']('php:ng', {
'lookup': salt['grains.filter_by']({
@ -664,6 +666,7 @@
'cgi': 'php-cgi',
'cli': 'php-cli',
'console-table': 'php-console-table',
'composer_bin': 'composer',
'curl': 'php-curl',
'dev': 'php7.1-dev',
'fpm': 'php-fpm',
@ -677,6 +680,7 @@
'intl': 'php-intl',
'json': 'php-json',
'ldap': 'php-ldap',
'local_bin': '/usr/local/bin',
'mbstring': 'php-mbstring',
'mcrypt': 'php-mcrypt',
'memcache': 'php-memcache',
@ -702,6 +706,7 @@
'suhosin': 'php',
'sybase': 'php-sybase',
'tcpdf': 'php-tcpdf',
'temp_dir': '/tmp',
'tidy': 'php7.1-tidy',
'xcache': 'php',
'xdebug': 'php-xdebug',
@ -1028,6 +1033,7 @@
'cgi': 'php-cgi',
'cli': 'php-cli',
'console-table': 'php-console-table',
'composer_bin': 'composer',
'curl': 'php-curl',
'dev': 'php7.0-dev',
'fpm': 'php-fpm',
@ -1041,6 +1047,7 @@
'intl': 'php-intl',
'json': 'php-json',
'ldap': 'php-ldap',
'local_bin': '/usr/local/bin',
'mbstring': 'php-mbstring',
'mcrypt': 'php-mcrypt',
'memcache': 'php-memcache',
@ -1066,6 +1073,7 @@
'suhosin': 'php',
'sybase': 'php-sybase',
'tcpdf': 'php-tcpdf',
'temp_dir': '/tmp',
'tidy': 'php7.0-tidy',
'xcache': 'php',
'xdebug': 'php-xdebug',
@ -1767,7 +1775,6 @@
{%- endif %}
{%- endif %}
{%- elif salt['grains.get']('os') == "Debian" %}
{%- set phpng_version = salt['pillar.get']('php:ng:version', '7.0')|string %}
{%- if phpng_version|string == '5' %}
{%- set confdir = '/etc/php5' %}
{%- else %}
@ -2386,6 +2393,29 @@
'ini': '/etc/php/conf.d/xcache.ini',
},
},
'FreeBSD': {
'apache2': {
'ini': '/usr/local/etc/php.ini',
'module_config': '/usr/local/etc/apache24/modules.d/050_mod_php.conf',
'name': 'apache24',
},
'cli': {
'ini': '/usr/local/etc/php.ini'
},
'pkgs': {
'apache2': 'mod_php' + freebsd_phpng_version,
'composer_bin': 'composer',
'filter': 'php' + freebsd_phpng_version + '-filter',
'hash': 'php' + freebsd_phpng_version + '-hash',
'json': 'php' + freebsd_phpng_version + '-json',
'local_bin': '/usr/local/bin',
'mbstring': 'php' + freebsd_phpng_version + '-mbstring',
'openssl': 'php' + freebsd_phpng_version + '-openssl',
'php': 'php' + freebsd_phpng_version,
'phar': 'php' + freebsd_phpng_version + '-phar',
'temp_dir': '/tmp',
},
},
}),
'fpm': {
'service': {

2
php/ng/openssl.sls Normal file
View File

@ -0,0 +1,2 @@
{% set state = 'openssl' %}
{% include "php/ng/installed.jinja" %}

2
php/ng/phar.sls Normal file
View File

@ -0,0 +1,2 @@
{% set state = 'phar' %}
{% include "php/ng/installed.jinja" %}

View File

@ -171,3 +171,7 @@ php:
- 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