Skip to content

saltstack-formulas/php-formula

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

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.

Commit message formatting is significant!!

Please see How to contribute for more details.

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.

Installs the php package.

Installs the php-adodb package.

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

Manages the apache2 php.ini file

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

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

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

Installs the php-auth-sasl package.

Installs the php-bcmath package.

Installs the php-bz2 package.

Installs the php-cache-lite package.

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

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

Manages the php-cli ini file.

Installs the php-cli package.

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

Installs the php-console-table package.

Installs the php-ctype package.

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.

Installs the php-dba package.

Installs the php5-dev and build-essential package.

Installs the php-filter package.

Meta-state that combines all php.fpm states.

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

Installs the php-fpm package.

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

Manages php-fpm pool config files.

Manages the php-fpm service.

Installs the php-gd package.

Installs the php-gearman package.

Installs the php-geoip package.

Installs the php-geshi package.

Installs the php-gettext package.

Installs the php-gmp package. Debian Only.

Installs the php-hash package.

Installs the php-http package.

Meta-state that combines php.hhvm states

Manages the php-hhvm config files

Installs the php-hhvm package

Configures the hhvm repo for debian/ubuntu

Manages the php-hhvm service.

Installs the php-igbinary package.

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

Installs the php-imap package.

Installs the php-intl package.

Installs the php-json package.

Installs the php-ldap package.

Installs the php-mail package.

Installs the php-mbstring package.

Installs the php-mcrypt package.

Installs the php-mdb2 package.

Installs the php-mdb2-driver-mysql package.

Installs the php-mdb2-driver-pgsql package.

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

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

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

Installs the php-mongo package.

Installs the php-mongodb package.

Installs the php-msgpack package.

Installs the php-mysql package.

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

Installs the php-net-smtp package.

Installs the php-net4 package.

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

Installs the php-net6 package.

Installs the php-oauth package.

Installs the php-opcache package.

Installs the php-openssl package.

Installs the php-pear package.

Installs the php-pgsql package.

Installs the php-phar package.

Installs the php-posix package.

Installs the php-pspell package.

Installs the php-readline package.

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

Installs the php-seclib package.

Installs the php-session package.

Installs the php-snmp package.

Installs the php-soap package.

Installs the php-sqlite package,

Installs the php-ssh2 package,

Installs the php-suhosin package.

Installs the php-svn package.

Installs the php-sybase package.

Installs the php-tcpdf package.

Installs the php-tidy package.

Installs the php-uuid package.

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

Manages the php-xcache ini file

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

Installs the php-xdebug package.

Installs the php-xml package.

Installs the php-xsl package.

Installs the php-zip package.

Installs the php-zlib package.

Linux testing is done with kitchen-salt.

  • 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.

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

Runs the inspec tests on the actual instance.

Removes the docker instance.

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

Gives you SSH access to the instance for manual testing.

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

  • Ruby
  • Virtualbox
  • Vagrant
$ 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.

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.

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

Runs the inspec tests on the actual instance.

Removes the Vagrant instance.

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

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