> Source: https://meetrix.io/store/moodle/
> Markdown copy of that page. Cite the URL above, not this file.

[Store](https://meetrix.io/store/)  Moodle

Open-source learning platform

# Self-hosted Moodle LMS on AWS

Run Moodle, the widely used open-source learning management system, from a pre-configured AMI in your own AWS account. Courses, learners and grades stay on infrastructure you control.

 [Launch on AWS](https://aws.amazon.com/marketplace/pp/prodview-n45f5nekyb5wi)

-   Ready in 5-10 minutes
-   GPLv3 licensed
-   Runs in your own account

![Moodle LMS deployed on AWS by Meetrix](https://meetrix.io/assets/store/moodle/moodle.webp)

## What is Moodle?

Moodle is a GPLv3 learning platform used by schools, universities and companies for classroom, blended and online learning. It runs on standard PHP hosting and has the largest plugin ecosystem of the open-source LMS options.

-   ### Courses and activities

    Assignments, quizzes, forums and resources in each course.

-   ### Largest plugin library

    Two decades of plugins, from proctoring to gradebooks.

-   ### Themes

    Brand the site with your own theme.

-   ### Mobile app

    Responsive design plus a dedicated Moodle app.

-   ### Jitsi video classes

    Add Jitsi meetings as a course activity with mod\_jitsi.

-   ### Import and export

    Move courses with Moodle backups and Common Cartridge.

## What's in the Meetrix Moodle AMI

The AMI ships Moodle on Apache with a temporary admin account, ready to configure.

-   Moodle on Apache with its database
-   A temporary admin account you change on first login
-   An SSL script for your domain
-   A CloudFormation template for your own AWS account
-   Email support from Meetrix at aws@meetrix.io

## How to set up a self-hosted Moodle site

1.  ### Launch the stack

    Subscribe on AWS Marketplace and launch the CloudFormation stack with your domain. Allow 5-10 minutes.

2.  ### Point your domain and add SSL

    Create a DNS record with the PublicIp, then SSH in and run sudo /opt/scripts/ssl.sh.

3.  ### Sign in and secure the admin

    Log in with the temporary admin credentials from the developer guide, change the password, and update the admin username and email.

4.  ### Set up your site

    Use Site administration to configure courses, users, appearance and plugins.

## Deploy on AWS

### Moodle on AWS

An AMI on AWS Marketplace, launched into your own AWS account with a CloudFormation stack.

Deploys with

CloudFormation

Recommended size

t3.small

SSL

One script after DNS

#### Setup guides

-   [**Developer guide** Launch, admin login, SSL, logs](https://meetrix.io/blogs/moodle-developer-guide/)
-   [**Deploy Moodle on AWS** Use cases and deployment overview](https://meetrix.io/blogs/deploy-moodle-aws-meetrix/)
-   [**Video walkthrough** Watch the deployment on YouTube](https://www.youtube.com/watch?v=6JfnVGiUaoU)

 [Launch on AWS](https://aws.amazon.com/marketplace/pp/prodview-n45f5nekyb5wi)

## Moodle vs Open edX vs Canvas

|  | Moodle | Open edX | Canvas |
| --- | --- | --- | --- |
| Licence | GPLv3 | No licence fee | AGPLv3, also sold commercially |
| Best fit | Classroom and blended learning | MOOC-scale programmes | Institutions wanting a modern UI |
| Self-hosting effort | Low, standard PHP hosting | High, 20+ containers | High, resource and staff heavy |
| Plugin ecosystem | Largest of the three | xBlock-based, narrower | Mostly commercial App Center |

Moodle is the easiest of the three to run yourself. [Read Moodle vs Open edX vs Canvas →](https://meetrix.io/blogs/moodle-vs-open-edx-vs-canvas/)

## Video: deploy Moodle on AWS

## Moodle FAQ

What is the default login?

The image ships a temporary admin account, listed in the developer guide. Moodle makes you change the password on first login; update the admin username and email in your profile too.

How do I set up SSL?

SSL is set up manually. Point DNS at the server, SSH in and run sudo /opt/scripts/ssl.sh, entering your admin email when asked.

Can I customise themes and plugins?

Yes. You have full admin access to install and configure themes, plugins and integrations.

Is Moodle mobile-friendly?

Yes. It has a responsive design and a dedicated mobile app for learners and teachers.

Can I add video classes?

Yes. The official mod\_jitsi plugin adds Jitsi Meet as a course activity; use your own Jitsi server for real classes.

Where are the error logs?

Moodle runs on Apache. SSH in and run sudo tail -f /var/log/apache2/error.log.

Which instance size should I choose?

t3.small is the recommended starting point. Scale up as learner numbers grow.

How do I upgrade?

Back up your server data, remove the old stack and launch the new version from AWS Marketplace.

## Moodle guides and articles

### [Moodle vs Open edX vs Canvas: Open Source LMS Compared](https://meetrix.io/blogs/moodle-vs-open-edx-vs-canvas/)

Real self-hosting effort, not just feature checklists.

### [Add Jitsi Video Calls to Moodle](https://meetrix.io/blogs/moodle-jitsi-integration/)

Install mod\_jitsi, configure your server and set moderator roles.

### [Deploy Moodle on AWS with Meetrix](https://meetrix.io/blogs/deploy-moodle-aws-meetrix/)

A secure, scalable Moodle environment in minutes.

## Need a hand with Moodle?

We build and run self-hosted learning platforms every day, from plugins to Jitsi video classes. Tell us what you need.

[Contact us](https://meetrix.io/contact-us/)
