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.
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.
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
Moodle charm provides several options to customize your installation for your needs.
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
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
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
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"
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
- (boolean) Enable/Disable auto (minor) Moodle update. Note enabling auto-update may overwrite customization of Moodle files
- (string) Moodle git branch to install or upgrade
- (string) Path of Moodle data directory
- (string) The FQDN to access Moodle on (without HTTP protocol. E.g. www.example.com)
- (boolean) Set to True to install Postfix SMTP server
- (string) White-space separated list of additional packages to be installed, e.g. python to make Ansible happy.
- (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.
- (string) Maximum size of POST data that PHP will accept
- (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)"
- (string) Base64-encoded SSL certificate to install and use for web server. Set by executing juju config moodle ssl_cert="$(cat cert.pme | base64)"
- (string) List of the ciphers the client is permitted to negotiate, will become the value of parameter SSLCipherSuite.
- (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)"
- (string) SSL protocols to enable, will become the value of parameter SSLProtocol.
- (string) Maximum allowed size for uploaded files
- (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.