Go to file
2020-06-26 12:46:21 +01:00
.github/workflows ci(workflows/commitlint): add to repo [skip ci] 2020-05-04 09:31:07 +01:00
bin ci: merge travis matrix, add salt-lint & rubocop to lint job 2019-10-09 16:09:06 +01:00
docs chore(release): 1.3.1 [skip ci] 2020-04-20 09:00:08 +00:00
php fix(map.jinja): fix pid file location for debian 2020-02-27 10:39:17 +01:00
test ci(platform): add arch-base-latest (commented out for now) [skip ci] 2019-10-01 16:20:45 +01:00
.gitignore ci(gemfile.lock): add to repo with updated Gemfile [skip ci] 2020-04-21 22:09:20 +01:00
.rubocop.yml chore(rubocop): use org-wide standard settings for Metrics/BlockLength [skip ci] 2020-04-18 13:45:32 +01:00
.salt-lint ci(travis): update salt-lint config for v0.0.10 [skip ci] 2019-10-23 17:34:21 +01:00
.travis.yml ci(travis): add notifications => zulip [skip ci] 2020-05-21 20:09:26 +01:00
.yamllint ci: merge travis matrix, add salt-lint & rubocop to lint job 2019-10-09 16:09:06 +01:00
AUTHORS.md chore(release): 1.3.1 [skip ci] 2020-04-20 09:00:08 +00:00
CHANGELOG.md chore(release): 1.3.1 [skip ci] 2020-04-20 09:00:08 +00:00
CODEOWNERS chore(codeowners): add global codeowner [skip ci] 2020-05-07 20:01:21 +01:00
commitlint.config.js feat(semantic-release): add support of semantic-release 2019-06-27 00:02:46 +02:00
FORMULA chore(release): 1.3.1 [skip ci] 2020-04-20 09:00:08 +00:00
Gemfile ci(gemfile.lock): add to repo with updated Gemfile [skip ci] 2020-04-21 22:09:20 +01:00
Gemfile.lock chore(gemfile.lock): update to latest gem versions (2020-W26) [skip ci] 2020-06-26 12:46:21 +01:00
kitchen.yml ci(kitchen): use saltimages Docker Hub where available [skip ci] 2020-06-15 16:58:19 +01:00
LICENSE Add LICENSE. 2013-07-27 20:36:26 +02:00
pillar.example docs: add example to use a specific php version when using multiple ones 2020-04-20 09:50:35 +01:00
pre-commit_semantic-release.sh ci(travis): run shellcheck during lint job [skip ci] 2019-11-27 20:54:36 +00:00
release-rules.js feat(semantic-release): add support of semantic-release 2019-06-27 00:02:46 +02:00
release.config.js fix(release.config.js): use full commit hash in commit link [skip ci] 2019-10-31 10:30:04 +00:00

php-formula

Travis CI Build Status Semantic Release

Formula to set up and configure php

WARNING: BREAKING CHANGES SINCE v1.0.0

Prior to v1.0.0, this formula provided two methods for managing PHP; the old method under php and the new method under php.ng. The old method has now been removed and php.ng has been promoted to be php in its place.

If you are not in a position to migrate, please pin your repo to the final release tag before v1.0.0, i.e. v0.40.1.

To migrate from php.ng, simply modify your pillar to promote the entire section under php:ng so that it is under php instead. So with the editor of your choice, highlight the entire section and then unindent one level. Finish by removing the ng: line.

To migrate from the old php, first convert to php.ng under v0.40.1. and then follow the steps laid out in the paragraph directly above.

Table of Contents

General notes

See the full SaltStack Formulas installation and usage instructions.

If you are interested in writing or contributing to formulas, please pay attention to the Writing Formula Section.

If you want to use this formula, please pay attention to the FORMULA file and/or git tag, which contains the currently released version. This formula is versioned according to Semantic Versioning.

See Formula Versioning Section for more details.

Contributing to this repo

Commit message formatting is significant!!

Please see How to contribute for more details.

Available states

Please provide feedback by filing issues, discussing in #salt in Freenode and the mailing list as normal.

Note: php states require the merge parameter of salt.modules.pillar.get(), first available in the Helium release.

php

Installs the php package.

php.adodb

Installs the php-adodb package.

php.apache2

Meta-state that combines php.apache2.install and php.apache2.ini.

php.apache2.ini

Manages the apache2 php.ini file

php.apache2.install

Installs the apache2 and libapache2-mod-php5 package. Debian Only.

php.apc

Installs the php-apc package. Disabled on opensuse need server:php repo

php.apcu

Installs the php-apcu package. Disabled on opensuse need server:php repo

php.auth-sasl

Installs the php-auth-sasl package.

php.bcmath

Installs the php-bcmath package.

php.bz2

Installs the php-bz2 package.

php.cache-lite

Installs the php-cache-lite package.

php.cgi

Installs the php-cgi package. Disabled on opensuse only php5-fastcgi available.

php.cli

Meta-state that combines php.cli.install and php.cli.ini.

php.cli.ini

Manages the php-cli ini file.

php.cli.install

Installs the php-cli package.

php.composer

Installs [composer](https://getcomposer.org) and keeps it updated.

php.console-table

Installs the php-console-table package.

php.ctype

Installs the php-ctype package.

php.curl

Installs the php5-curl package on Debian, and ensures that curl itself is installed for RedHat systems, this is due to the curl libs being provided by php-common, which will get installed with the main php package.

php.dba

Installs the php-dba package.

php.dev

Installs the php5-dev and build-essential package.

php.filter

Installs the php-filter package.

php.fpm

Meta-state that combines all php.fpm states.

php.fpm.config

Manages the (non-pool) php-fpm config files.

php.fpm.install

Installs the php-fpm package.

php.fpm.pools

Meta-state that combines php.fpm.service and php.fpm.pools_config

php.fpm.pools_config

Manages php-fpm pool config files.

php.fpm.service

Manages the php-fpm service.

php.gd

Installs the php-gd package.

php.gearman

Installs the php-gearman package.

php.geoip

Installs the php-geoip package.

php.geshi

Installs the php-geshi package.

php.gettext

Installs the php-gettext package.

php.gmp

Installs the php-gmp package. Debian Only.

php.hash

Installs the php-hash package.

php.http

Installs the php-http package.

php.hhvm

Meta-state that combines php.hhvm states

php.hhvm.config

Manages the php-hhvm config files

php.hhvm.install

Installs the php-hhvm package

php.hhvm.repo

Configures the hhvm repo for debian/ubuntu

php.hhvm.service

Manages the php-hhvm service.

php.igbinary

Installs the php-igbinary package.

php.imagick

Installs the php-imagick package. Disabled on opensuse no package.

php.imap

Installs the php-imap package.

php.intl

Installs the php-intl package.

php.json

Installs the php-json package.

php.ldap

Installs the php-ldap package.

php.mail

Installs the php-mail package.

php.mbstring

Installs the php-mbstring package.

php.mcrypt

Installs the php-mcrypt package.

php.mdb2

Installs the php-mdb2 package.

php.mdb2-driver-mysql

Installs the php-mdb2-driver-mysql package.

php.mdb2-driver-pgsql

Installs the php-mdb2-driver-pgsql package.

php.memcache

Installs the php-memcache package. Disabled on opensuse need server:php:extensions repo

php.memcached

Installs the php-memcached package. Disabled on opensuse need server:php:extensions repo

php.modules

Calls php.<name> for each entry in php:modules if available, or try to install the matching packages that can be set via from php:lookup:pkgs

php.mongo

Installs the php-mongo package.

php.mongodb

Installs the php-mongodb package.

php.msgpack

Installs the php-msgpack package.

php.mysql

Installs the php-mysql package.

php.mysqlnd

Installs the php-mysqlnd package. Disabled on opensuse no package.

php.net-smtp

Installs the php-net-smtp package.

php.net4

Installs the php-net4 package.

php.net6 ^^^^^^^^^^^NET6

Installs the php-net6 package.

php.oauth

Installs the php-oauth package.

php.opcache

Installs the php-opcache package.

php.openssl

Installs the php-openssl package.

php.pear

Installs the php-pear package.

php.pgsql

Installs the php-pgsql package.

php.phar

Installs the php-phar package.

php.posix

Installs the php-posix package.

php.pspell

Installs the php-pspell package.

php.readline

Installs the php-readline package.

php.redis

Installs the php-redis package. Disabled on opensuse need server:php:extensions repo

php.seclib

Installs the php-seclib package.

php.session

Installs the php-session package.

php.snmp

Installs the php-snmp package.

php.soap

Installs the php-soap package.

php.sqlite

Installs the php-sqlite package,

php.ssh2

Installs the php-ssh2 package,

php.suhosin

Installs the php-suhosin package.

php.svn

Installs the php-svn package.

php.sybase

Installs the php-sybase package.

php.tcpdf

Installs the php-tcpdf package.

php.tidy

Installs the php-tidy package.

php.uuid

Installs the php-uuid package.

php.xcache

Meta-state that combines php.xcache.install and php.xcache.ini.

php.xcache.ini

Manages the php-xcache ini file

php.xcache.install

Installs the php-xcache package. Disabled on opensuse need server:php:extensions repo

php.xdebug

Installs the php-xdebug package.

php.xml

Installs the php-xml package.

php.xsl

Installs the php-xsl package.

php.zip

Installs the php-zip package.

Testing

Linux testing is done with kitchen-salt.

Requirements

  • Ruby
  • Docker
$ gem install bundler
$ bundle install
$ bin/kitchen test [platform]

Where [platform] is the platform name defined in kitchen.yml, e.g. debian-9-2019-2-py3.

bin/kitchen converge

Creates the docker instance and runs the template main state, ready for testing.

bin/kitchen verify

Runs the inspec tests on the actual instance.

bin/kitchen destroy

Removes the docker instance.

bin/kitchen test

Runs all of the stages above in one go: i.e. destroy + converge + verify + destroy.

bin/kitchen login

Gives you SSH access to the instance for manual testing.