Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Puppet manifests for running PyroCMS with MySQL, PostgreSQL and SQLite
Puppet Ruby Shell Perl
Latest commit 7366538 @philsturgeon philsturgeon Update
Failed to load latest commit information.
manifests Puppet 3 compatibility
modules Puppet 3 compatibility
.gitignore Added nginx module. Update

PyroCMS Puppet

Puppet is a convenient and idempotent way to provision a server. That means you can install stuff without needing to do it manually, and lets be honest, setting up a LAMP stack is the most menial task in the world after pagination.

These manifests were designed to work with vagrant-pyrocms, but they will work just fine solo.


Puppet uses something called Facter to get information about the enviornment. In our vagrant-pyrocms setup we do the following:

puppet.facter = { 
  "fqdn" => "dev.pyrocms.mysql", 
  "hostname" => "www", 
  "docroot" => '/vagrant/www/pyrocms/'

You will need to configure Facter accordingly.


The names of our manifests are fairly obvious:

  • ubuntu-apache2-mysql-php5.pp
  • ubuntu-apache2-pgsql-php5.pp
  • ubuntu-apache2-sqlite-php5.pp

These are not tied to specific versions of Apache, PHP or their database systems, but will install whatever they can via apt, looking at the default repositories for the version of Ubuntu you decide on using.

Do not try using these on 13.04 or 13.10, as Ubuntu uses Apache 2.4 and for some reason these modules are rather broken for that version. 12.10 works very nicely.

MySQL Credentials

Database: pyrocms
User: pyrocms
Pass: password

PostgreSQL Credentials

Database: pyrocms
User: pyrocms
Pass: password

SQLite Credentials

Database: /vagrant/db/pyrocms.sqlite

Adding Manifiests

The place is to add multiple "stock" Puppet manifest files in manifests/ for various setups like:

  • ubuntu + nginx + PHP 5 + MySQL
  • ubuntu + nginx + PHP 5 + Postgres
  • ubuntu + nginx + PHP 5 + SQLite
  • centos + apache + PHP 5 + SQLite
  • centos + nginx + PHP 5 + Postgres

If you would like to submit a manfest, please simply send in a pull request with a logical name, like ubuntu-nginx-php5-mysql.pp and we'll merge it.

Something went wrong with that request. Please try again.