{"id":15517539,"url":"https://github.com/bodgit/puppet-wordpress","last_synced_at":"2026-02-26T08:40:49.813Z","repository":{"id":57666003,"uuid":"123890651","full_name":"bodgit/puppet-wordpress","owner":"bodgit","description":"Puppet Module for managing Wordpress","archived":false,"fork":false,"pushed_at":"2019-09-18T11:55:43.000Z","size":80,"stargazers_count":0,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-31T07:50:02.064Z","etag":null,"topics":["puppet","wordpress"],"latest_commit_sha":null,"homepage":"https://forge.puppet.com/bodgit/wordpress","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bodgit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-05T08:45:44.000Z","updated_at":"2019-05-19T16:38:35.000Z","dependencies_parsed_at":"2022-09-14T13:01:58.634Z","dependency_job_id":null,"html_url":"https://github.com/bodgit/puppet-wordpress","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/bodgit/puppet-wordpress","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodgit%2Fpuppet-wordpress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodgit%2Fpuppet-wordpress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodgit%2Fpuppet-wordpress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodgit%2Fpuppet-wordpress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bodgit","download_url":"https://codeload.github.com/bodgit/puppet-wordpress/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodgit%2Fpuppet-wordpress/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274390682,"owners_count":25276408,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["puppet","wordpress"],"created_at":"2024-10-02T10:13:43.884Z","updated_at":"2026-02-26T08:40:44.786Z","avatar_url":"https://github.com/bodgit.png","language":"Ruby","readme":"# wordpress\n\nTested with Travis CI\n\n[![Build Status](https://travis-ci.com/bodgit/puppet-wordpress.svg?branch=master)](https://travis-ci.com/bodgit/puppet-wordpress)\n[![Coverage Status](https://coveralls.io/repos/bodgit/puppet-wordpress/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/bodgit/puppet-wordpress?branch=master)\n[![Puppet Forge](http://img.shields.io/puppetforge/v/bodgit/wordpress.svg)](https://forge.puppetlabs.com/bodgit/wordpress)\n\n#### Table of Contents\n\n1. [Description](#description)\n2. [Setup - The basics of getting started with wordpress](#setup)\n    * [Setup requirements](#setup-requirements)\n    * [Beginning with wordpress](#beginning-with-wordpress)\n3. [Usage - Configuration options and additional functionality](#usage)\n4. [Reference - An under-the-hood peek at what the module is doing and how](#reference)\n5. [Limitations - OS compatibility, etc.](#limitations)\n6. [Development - Guide for contributing to the module](#development)\n\n## Description\n\nThis module manages Wordpress installations.\n\nCentOS, RHEL, Scientific and Oracle Enterprise Linux is supported using Puppet\n4.9.0 or later. SELinux is managed so it can remain enabled.\n\n## Setup\n\n### Setup Requirements\n\nYou will need to have already instantiated the\n[puppetlabs/mysql](https://forge.puppet.com/puppetlabs/mysql) and\n[bodgit/php](https://forge.puppet.com/bodgit/php) modules prior to using this\nmodule.\n\n### Beginning with wordpress\n\nIn the very simplest case, you can just include the base class which doesn't\ndo anything apart from install the necessary PHP extensions.\n\n```puppet\nclass { '::mysql::server':\n  root_password =\u003e 'password',\n}\n\ninclude ::php\ninclude ::wordpress\n```\n\n## Usage\n\nTo create a Wordpress instance:\n\n```puppet\nclass { '::mysql::server':\n  root_password =\u003e 'password',\n}\n\ninclude ::php\ninclude ::wordpress\n\n::wordpress::instance { '/srv/wordpress':\n  owner       =\u003e 'apache',\n  db_name     =\u003e 'wordpress',\n  db_user     =\u003e 'wordpress',\n  db_password =\u003e 'secret',\n}\n```\n\nGetting the file ownership right is the hardest part depending on what\nwebserver will be doing the serving. The above will work fine for Apache using\n`mod_php` which you can extend with the necessary vhost:\n\n```puppet\nclass { '::mysql::server':\n  root_password =\u003e 'password',\n}\n\ninclude ::php\ninclude ::wordpress\n\n::wordpress::instance { '/srv/wordpress':\n  owner       =\u003e 'apache',\n  db_name     =\u003e 'wordpress',\n  db_user     =\u003e 'wordpress',\n  db_password =\u003e 'secret',\n}\n\nclass { '::apache':\n  default_mods  =\u003e false,\n  default_vhost =\u003e false,\n}\n\ninclude ::apache::mod::dir\ninclude ::apache::mod::php\n\n::apache::vhost { 'wordpress':\n  docroot     =\u003e '/srv/wordpress',\n  directories =\u003e [\n    {\n      'path'           =\u003e '/srv/wordpress',\n      'allow_override' =\u003e [\n        'FileInfo',\n      ],\n      'directoryindex' =\u003e 'index.php',\n      'options'        =\u003e [\n        'FollowSymlinks',\n      ],\n    },\n    {\n      'path'       =\u003e '\\\\.php$',\n      'provider'   =\u003e 'filesmatch',\n      'sethandler' =\u003e 'application/x-httpd-php',\n    },\n  ],\n  port        =\u003e 80,\n  servername  =\u003e 'example.com',\n  require     =\u003e ::Wordpress::Instance['/srv/wordpress'],\n}\n```\n\nIf you prefer to use the PHP FastCGI Process Manager (which is recommended),\nthen the above can be rewritten as follows:\n\n```puppet\nclass { '::mysql::server':\n  root_password =\u003e 'password',\n}\n\ninclude ::php\ninclude ::php::fpm\ninclude ::wordpress\n\ngroup { 'wordpress':\n  ensure     =\u003e present,\n  forcelocal =\u003e true,\n}\n\nuser { 'wordpress':\n  ensure   =\u003e present,\n  comment  =\u003e 'Wordpress',\n  gid      =\u003e 'wordpress',\n  home     =\u003e '/srv/wordpress',\n  password =\u003e '*',\n  shell    =\u003e '/sbin/nologin',\n}\n\n::wordpress::instance { '/srv/wordpress':\n  owner       =\u003e 'wordpress',\n  db_name     =\u003e 'wordpress',\n  db_user     =\u003e 'wordpress',\n  db_password =\u003e 'secret',\n}\n\n::php::fpm::pool { 'wordpress':\n  listen          =\u003e '/var/run/httpd/wordpress.sock',\n  listen_owner    =\u003e 'apache',\n  listen_group    =\u003e 'apache',\n  listen_mode     =\u003e '0666',\n  pm              =\u003e 'static',\n  pm_max_children =\u003e 5,\n  user            =\u003e 'wordpress',\n  require         =\u003e ::Wordpress::Instance['/srv/wordpress'],\n}\n\nclass { '::apache':\n  default_mods  =\u003e false,\n  default_vhost =\u003e false,\n}\n\ninclude ::apache::mod::dir\ninclude ::apache::mod::proxy\ninclude ::apache::mod::proxy_fcgi\n\n::apache::vhost { 'wordpress':\n  docroot       =\u003e '/srv/wordpress',\n  docroot_owner =\u003e 'wordpress',\n  docroot_group =\u003e 'wordpress',\n  directories   =\u003e [\n    {\n      'path'           =\u003e '/srv/wordpress',\n      'allow_override' =\u003e [\n        'FileInfo',\n      ],\n      'directoryindex' =\u003e 'index.php',\n      'options'        =\u003e [\n        'FollowSymlinks',\n      ],\n    },\n    {\n      'path'       =\u003e '\\\\.php$',\n      'provider'   =\u003e 'filesmatch',\n      'sethandler' =\u003e 'proxy:unix:/var/run/httpd/wordpress.sock|fcgi://localhost/',\n    },\n  ],\n  port          =\u003e 80,\n  servername    =\u003e 'wordpress',\n  require       =\u003e ::Php::Fpm::Pool['wordpress'],\n}\n```\n\n## Reference\n\nThe reference documentation is generated with\n[puppet-strings](https://github.com/puppetlabs/puppet-strings) and the latest\nversion of the documentation is hosted at\n[https://bodgit.github.io/puppet-wordpress/](https://bodgit.github.io/puppet-wordpress/).\n\n## Limitations\n\nThis module has been built on and tested against Puppet 4.9.0 and higher.\n\nThe module has been tested on:\n\n* CentOS Enterprise Linux 6/7\n\nCurrently the module assumes the MySQL database is local to the installation.\n\n## Development\n\nThe module has both [rspec-puppet](http://rspec-puppet.com) and\n[beaker-rspec](https://github.com/puppetlabs/beaker-rspec) tests. Run them\nwith:\n\n```\n$ bundle exec rake test\n$ PUPPET_INSTALL_TYPE=agent PUPPET_INSTALL_VERSION=x.y.z bundle exec rake beaker:\u003cnodeset\u003e\n```\n\nPlease log issues or pull requests at\n[github](https://github.com/bodgit/puppet-wordpress).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbodgit%2Fpuppet-wordpress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbodgit%2Fpuppet-wordpress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbodgit%2Fpuppet-wordpress/lists"}