Moodle Multi-Tenancy with IOMAD

Moodle is open source (i.e free to use) top 10 rated Learning Management System and used across globe and has strong community supports. Moodle contains all most all features needs of management, Teacher and Student.

What is Multi-Tenancy?

Multi Tenancy is sharing Courses, Training plan, competencies across multiple schools with one Moodle installation. Individual schools only manages the Student and Student Grades by Teacher and School Managers. Multi Tenancy Courses are setup in Master and assigned to one or more schools. Teachers and Students will be assign to courses at the school level.

IOMAD Developer has done great work and made Moodle having multi tenancy features. IOMAD team taken initiatives to modify the moodle source code  and publish Multi Tenancy capability of Moodle version. So IOMAD version  is available after 3 – 6 months of every new moodle LTS version.

Installation of IOMAD:

I am not going in deep on  IOMAD installation since it is similar to Moodle installation and i will state below few briefly instalation steps and i would like to focus more on the IOMAD multi-tenancy screens:

Pre-requisites :

Step 1) Install following dependencies :

sudo apt install graphviz aspell ghostscript clamav php7.4-pspell php7.4-curl php7.4-gd php7.4-intl php7.4-mysql php7.4-xml php7.4-xmlrpc php7.4-ldap php7.4-zip php7.4-soap php7.4-mbstring 

Step 2) Install Mysql Database and user

Step 3) download Iomad from GitHub

Step 4) extract the Zip file into www folder e.g /var/www/html/lms and create data folder in /var/moodledata set owner as www-data and permission to 755.  

Step 5) start web server and access http://<IP>:<Port>/lms

Step 6) follow the online screen instructions and you will be able to see the Iomad version of Moodle installed.

Step 0 (Optional) : Iomad named entity as Company since I am dealing with school so i would like to call school instead of company.  To change Company to School go to -> Left menu->  Site Administration -> Language -> Language customisation -> select all components, enter Company in “only strings containing” field and click “Show strings”. You will find 4 pages of parameters.  Input revised values in Local customisation text box as per below screenshot:

Step 1 : Login as Administrator account and you will have 7 additional Iomad box appear, first click create school.  

Notes on this page:

List of school domains will help to identify users login.

Webserver hostname is actual moodle url for this school. i.e after create school and assign company managers and you will be able to access your hostname mentioned in this section. Make sure mentioned dns is  pointing to omad installed server IP.

Appearance section:

School Logo: Upload school logo so that Iomad automatically fetch respective school logo login page and all other lms pages based on user login & url.

You can also customise stylesheet, heading colour and body colour based on the school.

Step 2 : Create School Users


If you didn’t click User email address as username check box then user name will be first part of email address i.e user name taken as before @ from email address.

Role to assign : available role are Student, Teacher, School Manager, School Report only.

School Manager access to all the courses assigned to school. Manager able to create student, Teachers, add/remove participant to courses. 

Manager also able to create new Department (i.e Class / Sections) and assign students to classes.

Teacher are also able to perform the same as Manager in addition manage the student assignments and grading.

Student able to attend courses activity, submit assignments and view his own grades etc.,

3 thoughts on “Moodle Multi-Tenancy with IOMAD

  1. May I just say what a comfort to uncover somebody that really knows what they are discussing over the internet.
    You certainly understand how to bring an issue to light and
    make it important. More and more people need to read this and understand this side of the story.
    I can’t believe you’re not more popular because you definitely possess the gift.

Comments are closed.