Forge Home

moodle

Manages the Moodle Learning Management System

9,630 downloads

7,189 latest version

4.3 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Support the Puppet Community by contributing to this module

You are welcome to contribute to this module by suggesting new features, currency updates, or fixes. Every contribution is valuable to help ensure that the module remains compatible with the latest Puppet versions and continues to meet community needs. Complete the following steps:

  1. Review the module’s contribution guidelines and any licenses. Ensure that your planned contribution aligns with the author’s standards and any legal requirements.
  2. Fork the repository on GitHub, make changes on a branch of your fork, and submit a pull request. The pull request must clearly document your proposed change.

For questions about updating the module, contact the module’s author.

Version information

  • 0.1.7 (latest)
  • 0.1.6
  • 0.1.5
  • 0.1.4
  • 0.1.3
  • 0.1.1
  • 0.1.0
released Apr 7th 2016
This version is compatible with:
  • Puppet Enterprise >= 3.0.0 < 2015.4.0
  • Puppet >= 3.0.0 < 5.0.0
  • , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'alanpetersen-moodle', '0.1.7'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add alanpetersen-moodle
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install alanpetersen-moodle --version 0.1.7

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

alanpetersen/moodle — version 0.1.7 Apr 7th 2016

moodle

Table of Contents

  1. Overview
  2. Requirements
  3. Usage
  4. Example Usage
  5. Limitations
  6. Links

Overview

This module installs and configures a Moodle instance.

Requirements

This module have some external dependencies:

  • PHP 5.4 or higher -- this is a Moodle 3.x requirement. Installing on Ubuntu 14.04 will have this dependency
  • Apache Webserver
  • MySQL Database

Usage

To manage a Moodle instance, use the moodle class.

    class { 'moodle':
        <<params>>
    }

Available parameters are:

  • install_dir - directory where the Moodle distribution will be extracted. Since Moodle distributions contain the moodle root folder, this directory should end with /moodle. For example /opt/www/moodle. The parent directory must already exist on the node.
  • download_base - the base URL for downloading the Moodle distribution. Defaults to https://download.moodle.org/download.php/direct/stable30.
  • moodle_version - the version of Moodle to download. Defaults to 3.0.1.
  • default_lang - The default language setting for Moodle. Defaults to en.
  • wwwrooturl - The root URL for the Moodle web site. Defaults to http://$::fqdn.
  • www_owner - The OS user that will own the Moodle base directories (web and data).
  • www_group - The OS group that will own the Moodle base directories (web and data).
  • dataroot - The Moodle data directory. Defaults to /opt/moodledata.
  • create_db - A boolean indicating whether or not the module should manage the database. Defaults to true.
  • create_db_user - A boolean indicating whether or not the module should manage the database user. Defaults to true.
  • dbtype - The database type to use. Currently, only MySQL databases are supported, so mysqli is the default (and only supported) value. This will change once PostgreSQL support is added.
  • dbhost - Hostname for the database server. Defaults to localhost.
  • dbname - The database name for the Moodle data. Defaults to moodle.
  • dbuser - The database username. Defaults to root.
  • dbpass - The database password. Defaults to empty string.
  • dbport - The TCP/IP port for the database server. Defaults to 3306 (the MySQL default)
  • dbsocket -
  • prefix - Table prefix for Moodle-related tables. Defaults to mdl_.
  • fullname - The full name for the Moodle site.
  • shortname - The short name for the Moodle site.
  • summary - A summary description for the Moodle site.
  • adminuser - The Moodle administrative user. Defaults to admin.
  • adminpass - The Moodle administrator's password. Defaults to adminpass.
  • adminemail - The Moodle administrator's email address. Defaults to admin@example.com.

Example Usage

Note: this module only manages moodle. It does not manage the underlying database server or web server.

For example, to install moodle into /opt/moodle and use Apache and MySQL, you could create a profile such as:

$install_dir = '/opt/moodle'
class { 'apache':
  mpm_module => 'prefork',
}
class { 'apache::mod::php': }
class { 'mysql::server': }
class { 'mysql::bindings': php_enable => true, }
apache::vhost { $::fqdn:
  docroot        => $install_dir,
  manage_docroot => false,
  port           => '80',
}
class { 'moodle':
  install_dir => $install_dir,
  dbtype      => $dbtype,
  dbuser      => 'moodleuser',
  dbpass      => 'moodleP@ss',
  fullname    => 'Test Moodle Site',
  shortname   => 'Test',
  summary     => 'A moodle test site created via beaker',
  adminuser   => 'moodleadmin',
  adminpass   => 'adminP@ss',
  adminemail  => 'admin@host.com',
  require     => Class['mysql::server', 'apache::mod::php'],
}

This example assumes that one is using the puppetlabs/apache and puppetlabs/mysql modules.

Limitations

Currently only MySQL is supported for a database. PHP 5.4 or higher is also required (a Moodle 3.x requirement).

Links

For Moodle adminstration, please consult the official Moodle documentation:

Moodle Install Guide