Deploy Moodle cluster on Centos

by vidya
Last updated: 07/04/2016

This template deploys Moodle as a LAMP application on Centos. It creates a one or more Centos VM for the front end and a single VM for the backend. It does a silent install of Apache and PHP on the front end VM's and MySQL on the backend VM. Then it deploys Moodle on the cluster. It configures a load balancer for directing requests to the front end VM's. It also configures NAT rules to allow admin access to each of the VM's. It also sets up a moodledata data directory using file storage shared among the VM's. It then installs the selected version of Moodle on all the front end VM's. If specified, it also installs the corresponding version of the Microsoft Office 365 plugins for Moodle. After the deployment is successful, you can go to /moodle to start configuring Moodle.

This Azure Resource Manager (ARM) template was created by a member of the community and not by Microsoft. Each ARM template is licensed to you under a licence agreement by its owner, not Microsoft. Microsoft is not responsible for ARM templates provided and licensed by community members and does not screen for security, compatibility or performance. Community ARM templates are not supported under any Microsoft support programme or service, and are made available AS IS without warranty of any kind.

Parameters

Parameter Name Description
uniqueNamePrefix Unique name that will be used to generate various other names including the name of the Public IP used to access the Virtual Machine.
adminUsername User name for the Virtual Machine administrator. Do not use simple names such as 'admin'.
adminPassword Password for the Virtual Machine administrator.
mySqlPassword Password for the MySQL 'root' admin user.
fullNameOfSite Full name of the Moodle site displayed in the UI.
shortNameOfSite Short name of the Moodle site.
moodleAdminUsername User name for the Moodle site administrator.
moodleAdminPassword Password for the Moodle site administrator.
moodleAdminEmail Email for the Moodle site administrator. It should be in the correct email address format such as: abc@xyz.com
webVMCount Number of web front end VMs to create.
vmSize The size of each web front end VM.
vmSizeDB The size of the database backend VM.
moodleVersion The Moodle version you want to install.
installOfficePlugins Do you want to install the Office 365 plugins for Moodle?

Use the template

PowerShell

New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/moodle-cluster-centos/azuredeploy.json
Installing and configuring Azure PowerShell

Command line

azure config mode arm
azure group deployment create <my-resource-group> <my-deployment-name> --template-uri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/moodle-cluster-centos/azuredeploy.json
Installing and configuring the Azure cross-platform command-line interface

More templates by vidya