puppet-php
Puppet module to manage PHP
Managing PHP with a Puppet module
puppet-php installs PHP and writes INI files for the CLI, the Apache httpd module, or FastCGI, with defaults tuned for RHEL but usable elsewhere.
What the module touches
puppet-php is a Puppet module for managing PHP. It installs the PHP packages and configures the PHP INI files, covering three deployment styles: using PHP from the CLI, as the Apache httpd module, or via FastCGI. Package installation and INI configuration are both in scope, so a node ends up with a working PHP setup rather than just installed binaries.
The RHEL bias
The README is upfront that the module is very Red Hat Enterprise Linux focused. The defaults try to change things in ways that are typical for RHEL. That said, it also works on Debian based distributions such as Ubuntu, and support for others should be easy to add. Knowing the defaults lean RHEL is useful before you apply it somewhere else, since you will likely override a few settings.
Classes and examples
The public interface is a set of classes and definitions. php::cli installs the command line interface, php::fpm::daemon installs the FastCGI Process Manager, and php::mod installs the Apache httpd module, with definitions for ini files and separately packaged modules. The examples show the practical calls: install the latest PHP CLI through the OS package manager, install the httpd module with its own configuration file, and install FPM with a single pool for nginx, reusing the www name to overwrite the example configuration.
Editorial conclusion
The module installs PHP packages and configures INI files across the CLI, Apache httpd, and FastCGI styles, exposing classes for each. Its defaults are RHEL oriented, but it runs on Debian based systems and is meant to be extended.
Community notes