
Moodle isn't a CMS for building ordinary websites — it is an LMS (Learning Management System), the online teaching-and-learning platform that educational institutions worldwide use as a standard. This guide explains what Moodle can do, and how to structure hosting so it can genuinely support your learners.
What Are Moodle and an LMS
Moodle stands for Modular Object-Oriented Dynamic Learning Environment. It launched in 2002, created by Martin Dougiamas and built in PHP. Unlike a CMS such as WordPress that focuses on publishing content, Moodle is designed directly around "courses, learners, and assessment" — a tool for building full online classrooms, not just a content website.
Teaching Tools Built into Moodle
What makes Moodle the education standard is its complete built-in teaching toolset. Instructors create courses divided into lessons, set assignments, design quizzes of many types, run discussion forums, and grade through a Gradebook — all in one place. It also supports the SCORM standard, so lessons from other systems can be imported.
- Courses and lessons — structure courses as self-paced or scheduled
- Quizzes and assignments — create many question types with automatic grading
- Certificates — issue completion certificates when learners finish a course
- Community plugins — over 1,700 available to extend functionality
How Many Learners Can Moodle Support
Moodle scales from a small class to hundreds of thousands of learners — but that capability depends mainly on the server. Each time a learner opens a lesson, takes a quiz, or submits work, the system processes and writes to the database. The more concurrent users, the more RAM and CPU is needed. Estimating peak concurrent users matters more than the total student count.
Choosing Hosting or a VPS for Moodle
For a teacher or small institute with dozens to a few hundred learners who don't all log in at once, shared hosting with PHP 8.x is enough to start. But once you have many concurrent users — especially during exams — move to a VPS where you can scale RAM/CPU and have root access to configure caching and tune performance.
Recommendation: AsiaGB offers both Hosting from ฿500/year for a small Moodle and a VPS from ฿500/month (Thailand/Singapore) for institutes with many concurrent learners. Pick the datacentre nearest your learners to reduce latency.
Installing Moodle and Things to Watch
The easiest install is via Softaculous in DirectAdmin, which prepares the database automatically. After installing, set up a Cron Job so Moodle can run background tasks (such as notification emails and grade processing) regularly, and plan backups of both files and database — learner data and grades are highly important.
Which Institutions Moodle Suits
Moodle suits universities, schools, training institutes, and corporate training departments that manage multiple courses with assessment and certification. Those who only want to sell simple video courses without complex quizzing and grading may find a ready-made online-course platform more convenient.
Moodle vs Other E-Learning Platforms
The e-learning market offers many options. The right choice depends on your organisation's size, budget, and degree of control required. The table below compares Moodle with the most popular alternatives.
| Platform | Model | Cost | Best For |
|---|---|---|---|
| Moodle | Self-hosted, Open Source | Free (server costs only) | Educational institutions, organisations |
| Google Classroom | SaaS (free) | Free (Google Workspace) | K-12 schools already on Google |
| Open edX | Self-hosted, Open Source | Free (IT team needed) | MOOCs / large universities |
| Teachable / Thinkific | SaaS | Monthly subscription | Creators selling video courses |
| Canvas LMS | SaaS + On-premise | Annual licence | Higher-education institutions |
Moodle's key advantage is no monthly subscription fee, regardless of learner count. The main costs are server and administration — which most educational institutions can handle in-house.
System Requirements and Moodle Performance Tuning
A smooth Moodle installation requires correct server configuration, especially for PHP, the database, and caching. Below are the minimum and recommended requirements.
| Component | Minimum | Recommended |
|---|---|---|
| PHP Version | 8.1 | 8.2 or higher |
| RAM | 512 MB | 2 GB or more (VPS) |
| Database | MySQL 8.0 / MariaDB 10.6 | MariaDB 10.11 with InnoDB |
| PHP Extensions | curl, gd, intl, mbstring, xml, zip | Full set above + opcache |
| Caching | MUC (Moodle Universal Cache) | Redis or Memcached |
| Web Server | Apache 2.4 | Nginx + PHP-FPM |
Tips that produce a visible speed improvement in Moodle:
- Enable OPcache — PHP compiles bytecode into RAM, dramatically reducing CPU load. Add to
php.ini:opcache.enable=1 - Use Redis for caching — configure Moodle Session Store and MUC to use Redis instead of the filesystem
- Move moodledata outside web root — improves security and simplifies backups
- Enable Gzip compression — reduces the size of HTML and JavaScript delivered to learners
Installing Redis is not possible on shared hosting — this is the primary reason growing institutions must migrate to a VPS with root access.
Backing Up Moodle — Non-Negotiable
Data inside Moodle is highly sensitive — exam scores, certificates, and each learner's complete study history. Losing it can have serious consequences for an institution.
A complete Moodle backup covers three components:
- MySQL/MariaDB database — use
mysqldumpor phpMyAdmin's scheduled export, daily - moodledata folder — stores learner-uploaded files, course files, and session cache
- Moodle application folder — source code and config.php (which holds database credentials)
# Simple backup script example (run via Cron nightly)
#!/bin/bash
DATE=$(date +%Y%m%d)
mysqldump -u moodle_user -p'password' moodle_db > /backup/moodle_db_$DATE.sql
tar -czf /backup/moodledata_$DATE.tar.gz /var/www/moodledata/
# Delete backups older than 14 days
find /backup/ -name "moodle_*" -mtime +14 -delete
AsiaGB Hosting supports Cron Jobs, so you can schedule this script to run automatically every night without managing the server yourself.
Security and Privacy Considerations for Moodle
Because Moodle stores sensitive learner data — grades, personally identifiable information, and submitted work — security should be a first-class concern from day one. Key steps to harden a Moodle installation:
- Keep Moodle updated — the Moodle security team releases patches regularly; subscribe to the official mailing list for notifications
- Use HTTPS everywhere — configure SSL so all traffic between learners and the server is encrypted; free SSL certificates are available on AsiaGB Hosting
- Restrict admin access by IP — limit Moodle's admin panel to known IP addresses in your server's firewall or
.htaccess - Disable guest access — unless you intentionally offer open courses, turn off Guest Login in Site Administration → Permissions
- Store moodledata outside web root — files uploaded by learners should not be directly accessible through the browser
- Enable two-factor authentication — Moodle supports TOTP-based 2FA via plugin for admin and instructor accounts
Hosting on a VPS gives you the flexibility to set firewall rules and configure fail2ban to block repeated login attempts — protection that is not available on standard shared hosting plans.
Frequently Asked Questions
Is Moodle really free?
The software is free and open source regardless of learner count. The real cost is the server and system administration.
Can a small Moodle run on shared hosting?
Yes, if learners are few and don't all log in at once. Institutions with high concurrent usage should use a VPS.
Why must I set a Cron Job?
Moodle uses Cron for several background tasks such as sending email and processing grades. Without it, parts of the system won't run fully.
Host Moodle on Scalable Hosting or VPS
Hosting from ฿500/year · VPS from ฿500/month · datacentres in Thailand / Singapore
View Hosting Plans