Skip to content

MiamiOH/puppet-mediawiki

 
 

Repository files navigation

Table of Contents

Mediawiki module for Puppet

MiamiOH fork

Works to install newer versions and updated security requirements.

NexusIS' fork

This fork brings the module up to date with latest dependency modules as well as adds a Type and Provider for MediaWiki Extensions.

hexmode's fork

This fork is intended to adapt the module to my client's needs and (hopefully) incorporate some of the work from MediaWiki-Vagrant.

Description

This module deploys and manages multiple mediawiki instances using a single mediawiki installation. This module has been designed and tested for CentOS 6, Red Hat Enterprise Linux 6, Debian Squeeze, Debian Wheezy, and Ubuntu Precise.

Usage

First, install the mediawiki package which will be used by all wiki instances:

  class { 'mediawiki':
    server_name      => 'www.example.com',
    admin_email      => 'admin@puppetlabs.com',
    db_root_password => 'really_really_long_password',
    doc_root         => '/var/www/wikis',
    max_memory       => '1024'
  }

Next, create an individual wiki instance:

  mediawiki::instance { 'my_wiki1':
    db_password     => 'super_long_password',
    db_name         => 'wiki1',
    db_user         => 'wiki1_user',
    port            => '80',
    wiki_admin_pass => 'supersecret',
    ensure          => 'present'
  }

Using this module, one can create multiple independent wiki instances. To create another wiki instance, add the following puppet code:

  mediawiki::instance { 'my_wiki2':
    db_password     => 'another_super_long_password',
    db_name         => 'another_wiki',
    db_user         => 'another_wiki_user'
    port            => '80',
    wiki_admin_pass => 'supersecret2',
    ensure          => 'present'
  }

You can now also manage Extensions:

  mediawiki::manage_extension{'ConfirmAccount':
    ensure    =>  present,
    instance  =>  'my_wiki1',
    source    =>  'https://codeload.github.com/wikimedia/mediawiki-extensions-ConfirmAccount/legacy.tar.gz/REL1_22',
    doc_root  =>  '/var/www/wikis', 
    require   =>  Mediawiki::Instance['my_wiki1']
  }

Preconditions

Since puppet cannot ensure that all parent directories exist you need to manage these yourself. Therefore, make sure that all parent directories of `doc_root` directory, an attribute of `mediawiki` class, exist.

Notes On Testing

Puppet module tests reside in the `spec` directory. To run tests, execute `rake spec` anywhere in the module's directory. More information about module testing can be found here:

The Next Generation of Puppet Module Testing

Reference

This module is based on puppet-mediawiki by martasd and NexusIS available at https://github.com/martasd/puppet-mediawiki and https://github.com/NexusIS/puppet-mediawiki.

About

This is a puppet module for deploying mediawiki

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 93.8%
  • Ruby 3.2%
  • Puppet 3.0%