moodle #5

  • By csd-garr
  • Latest version (#5)
  • xenial
  • Stable

Description

Moodle is a learning platform designed to provide educators, administrators and learners with a single robust, secure and integrated system to create personalised learning environments.
This charm deploys Moodle as outlined by the Moodle Installation Guide.


Overview

Moodle is a learning platform designed to provide educators, administrators and learners with a single robust, secure and integrated system to create personalised learning environments. This charm deploys Moodle (using git://git.moodle.org/moodle.git as source) as outlined by the Moodle Installation Guide.

Usage

To install Moodle by Juju charm, you need to deploy PostgreSQL or MySQL and set relation between them.
Follow this step by step instructions on using the charm:

juju deploy postgresql (or juju deploy mysql)
juju deploy cs:~csd-garr/moodle
juju add-relation postgresql:db moodle (or juju add-relation mysql moodle)

Expose the Moodle installation

juju expose moodle

You can then browse to http(s)://ip-address to configure the service.

Default username and password of Administrator user are:
Username: admin
Password: moodle

Configuration

Moodle charm provides several options to customize your installation for your needs.

DNS Name

You can set the FQDN of your Moodle web site; if is blank, it will be set with IP address of machine/container.

juju config moodle dnsname=www.example.com

Use HTTPS

You can enable HTTPS only by check this option. If you don't specify SSL cert, SSL key (end eventually SSL CA cert), it will use self-signed certificates.

juju config moodle use-https=true

SSL cert, SSL key, SSL CA

You can specify valid SSL certificate, key and CA cert by paste them (encoded in base64) in the relative charm options.
SSL CA cert is required if you are providing a privately signed SSL cert and SSL key.

juju config moodle ssl_cert="$(cat cert.pem | base64)"
juju config moodle ssl_key="$(cat key.pem | base64)"
juju config moodle ssl_ca="$(cat cacert.pem | base64)"

PHP ini upload-max-filesize, post-max-size

You can change upload-max-filesize and post-max-size PHP ini parameters. If you want that Moodle can upload large files, you must modify this charm options.

juju config moodle upload-max-filesize=500M
juju config moodle post-max-size=500M

Auto update

If you enable this feature a cron job will be installed, and every night checks and eventually updates Moodle software via git. Only minor update will be installed; for version upgrade you must set "branch" charm option. Note that enabling auto-update may overwrite customization of Moodle files.

juju config moodle auto-update=true

Branch

It refers to Moodle git branch. By default this charm checkouts MOODLE_35_STABLE branch, but you can upgrade your Moodle installation by setting this charm option

juju config moodle branch=MOODLE_XY_STABLE

Moodle data dir

Path of the Moodle data directory

juju config moodle datadir="/moodledata"

Enable SMTP

Moodle needs to send e-mail notifications to users. You can set up your outgoing e-mail configuration using an external SMTP server or enabling "enable-smtp" parameter in order to install a local Postfix SMTP server

juju config moodle enable-smtp=true

Contact Information

cloud-support@garr.it

Configuration

ssl_key
(string) Base64-encoded SSL key to use with certificate specified as ssl_cert. Set by executing juju config moodle ssl_key="$(cat key.pem | base64)"
extra-packages
(string) White-space separated list of additional packages to be installed, e.g. python to make Ansible happy.
ssl_cert
(string) Base64-encoded SSL certificate to install and use for web server. Set by executing juju config moodle ssl_cert="$(cat cert.pme | base64)"
auto-update
(boolean) Enable/Disable auto (minor) Moodle update. Note enabling auto-update may overwrite customization of Moodle files
ssl_ciphers
(string) List of the ciphers the client is permitted to negotiate, will become the value of parameter SSLCipherSuite.
ssl_protocol
(string) SSL protocols to enable, will become the value of parameter SSLProtocol.
post-max-size
(string) Maximum size of POST data that PHP will accept
10M
upload-max-filesize
(string) Maximum allowed size for uploaded files
10M
ssl_ca
(string) Base64-encoded SSL CA to use with the certificate and key provided - this is only required if you are providing a privately signed ssl_cert and ssl_key. Set by executing juju config moodle ssl_ca="$(cat cacert.pem | base64)"
datadir
(string) Path of Moodle data directory
/var/moodledata
dnsname
(string) The FQDN to access Moodle on (without HTTP protocol. E.g. www.example.com)
branch
(string) Moodle git branch to install or upgrade
MOODLE_35_STABLE
mpm_config
(string) Comma-separated list of configuration directives (in the form key-value) overriding those already present in default /etc/apache2/mods-available/mpm_prefork.conf file. As an example, you may set this to . StartServers=10,MaxRequestWorkers=1000,ServerLimit=1000 . Note that additional directives not present in the relevant .conf file (for example, ThreadsPerChild when mpm_type=prefork) will be just ignored.
use-https
(boolean) Set to True to enable it. If you do not specify SSL cert, SSL key (end possibly SSL CA cert), it will use self-signed certificates.
enable-smtp
(boolean) Set to True to install Postfix SMTP server