Go to file
2021-07-14 12:15:17 +01:00
.github/workflows ci(vagrant): add FreeBSD 13.0 [skip ci] 2021-04-19 23:35:03 +01:00
bin ci(pre-commit): add to formula [skip ci] 2020-10-03 10:51:57 +01:00
docs chore(release): 1.5.0 [skip ci] 2021-06-17 09:40:06 +00:00
php feat(mods): add xsl module for FreeBSD 2021-06-17 12:53:32 +11:00
test ci(3003.1): update inc. AlmaLinux, Rocky & rst-lint [skip ci] 2021-07-02 00:06:17 +01:00
.gitignore chore: standardise structure (.gitignore & _mapdata.rb) [skip ci] 2021-02-11 11:52:24 +00:00
.gitlab-ci.yml ci(3003.1): update inc. AlmaLinux, Rocky & rst-lint [skip ci] 2021-07-02 00:06:17 +01:00
.pre-commit-config.yaml ci(3003.1): update inc. AlmaLinux, Rocky & rst-lint [skip ci] 2021-07-02 00:06:17 +01:00
.rstcheck.cfg chore(pre-commit): use info report level for rstcheck [skip ci] 2021-05-20 14:09:37 +01:00
.rubocop.yml test: standardise use of share suite & _mapdata state [skip ci] 2021-03-23 21:31:45 +00: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(3003.1): update inc. AlmaLinux, Rocky & rst-lint [skip ci] 2021-07-02 00:06:17 +01:00
.yamllint chore: update CODEOWNERS & .yamllint re: kitchen-vagrant [skip ci] 2021-04-05 18:20:52 +01:00
AUTHORS.md chore(release): 1.5.0 [skip ci] 2021-06-17 09:40:06 +00:00
CHANGELOG.md chore(release): 1.5.0 [skip ci] 2021-06-17 09:40:06 +00:00
CODEOWNERS chore: update CODEOWNERS & .yamllint re: kitchen-vagrant [skip ci] 2021-04-05 18:20:52 +01:00
commitlint.config.js chore(commitlint): add {body,footer,header}-max(-line)-length [skip ci] 2020-10-07 09:08:49 +01:00
FORMULA chore(release): 1.5.0 [skip ci] 2021-06-17 09:40:06 +00:00
Gemfile ci: enable Vagrant-based testing using GitHub Actions 2021-03-31 09:17:31 +01:00
Gemfile.lock chore(deps): bump addressable from 2.7.0 to 2.8.0 [skip ci] 2021-07-14 12:15:17 +01:00
kitchen.vagrant.yml ci(vagrant): add FreeBSD 13.0 [skip ci] 2021-04-19 23:35:03 +01:00
kitchen.yml ci(3003.1): update inc. AlmaLinux, Rocky & rst-lint [skip ci] 2021-07-02 00:06:17 +01:00
LICENSE Add LICENSE. 2013-07-27 20:36:26 +02:00
pillar.example feat(composer): make dependencies configurable 2021-03-31 09:17:30 +01:00
pre-commit_semantic-release.sh ci(gitlab-ci): use GitLab CI as Travis CI replacement 2020-12-16 06:38:15 +00:00
release-rules.js feat(semantic-release): add support of semantic-release 2019-06-27 00:02:46 +02:00
release.config.js ci(gitlab-ci): use GitLab CI as Travis CI replacement 2020-12-16 06:38:15 +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 php main states, 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.

Testing with Vagrant

Windows/FreeBSD/OpenBSD testing is done with kitchen-salt.

Requirements

  • Ruby
  • Virtualbox
  • Vagrant

Setup

$ gem install bundler
$ bundle install --with=vagrant
$ bin/kitchen test [platform]

Where [platform] is the platform name defined in kitchen.vagrant.yml, e.g. windows-81-latest-py3.

Note

When testing using Vagrant you must set the environment variable KITCHEN_LOCAL_YAML to kitchen.vagrant.yml. For example:

$ KITCHEN_LOCAL_YAML=kitchen.vagrant.yml bin/kitchen test      # Alternatively,
$ export KITCHEN_LOCAL_YAML=kitchen.vagrant.yml
$ bin/kitchen test

Then run the following commands as needed.

bin/kitchen converge

Creates the Vagrant instance and runs the php main states, ready for testing.

bin/kitchen verify

Runs the inspec tests on the actual instance.

bin/kitchen destroy

Removes the Vagrant instance.

bin/kitchen test

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

bin/kitchen login

Gives you RDP/SSH access to the instance for manual testing.