Hysen Labs
Library / SDK
thias/puppet-php avatar
thias

puppet-php

Puppet module to manage PHP

50 stars61 forksHTMLNOASSERTION
01
DEEP OPEN-SOURCE ANALYSIS

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.

02
DEEP OPEN-SOURCE ANALYSIS

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.

03
DEEP OPEN-SOURCE ANALYSIS

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.

04
DEEP OPEN-SOURCE ANALYSIS

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.

05
DEEP OPEN-SOURCE ANALYSIS

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.

06
DEEP OPEN-SOURCE ANALYSIS

Official sources

07
Community notes

Community notes