How to Set Up Moodle for Your Organization: A Step-by-Step Guide for Non-Technical Admins

,

If your organization has to train people (staff, students, volunteers, customers) you’ve probably priced the commercial platforms and had a bad afternoon. TalentLMS, Docebo, LearnDash on managed WordPress: all of them charge per user, per month, forever. Two hundred people costs thousands a year before anyone has uploaded a single course.

Moodle is the open-source alternative. Free, mature, and running everything from single training programs to entire universities. Somebody does have to set it up, though, and most of the guides that explain how are written for people who already know what a cron job is.

This one isn’t. I’ve built and maintained Moodle platforms for real organizations, including a fully online college, and this is the path I’d walk a non-technical administrator down.

One note before you start. These requirements change with every Moodle release, and stale guides are the main reason installs fail. Everything below reflects Moodle 5.2, current as of August 2026. If you’re reading this much later, check the requirements page yourself rather than trusting the numbers here.


What Is Moodle (and What It’s Not)

Moodle is a Learning Management System. A website where you build courses, enroll learners, deliver content, run quizzes, collect assignments, and track who finished what.

Out of the box you get unlimited courses and unlimited users with no per-seat licensing, plus quizzes, assignments, forums, certificates, grading, self-paced and instructor-led formats, completion tracking and reporting, and a free mobile app your learners can install.

What it isn’t: a website builder, a video host, or an appliance you set up once and ignore. It’s a real platform and it rewards being set up properly, which is what the rest of this is about.


Step 1: Choose Where Moodle Will Live

This decision constrains everything after it, so spend a little time on it.

MoodleCloud is Moodle’s own hosted service. Sign up, pick a plan, and you have a site running in minutes. Plans are sized by user count and customization is limited, so it fits a pilot or a team under about a hundred people. It’s also the right answer if nobody in your organization wants to think about servers, ever.

Shared hosting or a VPS means renting hosting and installing Moodle on it, which is what most small and mid-size organizations should do. Roughly $10 to $50 a month regardless of how many learners you have. A $20 to $30 VPS handles several hundred active users without complaint, and no invoice ever grows because you enrolled more people.

Your own server only makes sense if you already have IT staff and infrastructure. If you’re reading a non-technical guide, this isn’t your option, and that’s fine.

I’d point most organizations at a VPS. One caveat that matters more than the price: cheap shared hosting frequently can’t run Moodle properly, for reasons covered in Step 3.


Step 2: Check the Technical Requirements

Skip this if you chose MoodleCloud, since it’s handled for you.

Moodle 5.2 needs:

  • PHP 8.3 or newer. 8.4 is supported. This went up in 5.2 and it’s the requirement people get caught by, because plenty of hosting still defaults to 8.1 or 8.2.
  • A database: MySQL 8.4, MariaDB 10.11, or PostgreSQL 16, at minimum.
  • The PHP sodium extension, which is now mandatory rather than optional.
  • max_input_vars set to at least 5000. Most shared hosts ship 1000.
  • 64-bit PHP. 32-bit is no longer supported at all.
  • An SSL certificate, free through Let’s Encrypt on essentially every host. Your learners are logging in, so this isn’t negotiable.
  • RAM: 512 MB is the documented floor. Aim for 2 GB or more on a VPS and you’ll be glad you did.

That `max_input_vars` line looks like trivia and isn’t. Set too low, Moodle works fine until someone saves a quiz with a lot of questions or a gradebook with a lot of students, and then it silently truncates the form and loses data. No error message. It’s one of the most common “Moodle is broken” support tickets and it’s a one-line configuration change.

Before you buy hosting, send the list above to their pre-sales team and ask them to confirm all of it. A host that can’t answer clearly is telling you something useful.


Step 3: Install Moodle

Most control panels (cPanel, Plesk) include Softaculous, a one-click installer that handles Moodle the same way it handles WordPress. Open it, search Moodle, pick your domain, set an admin username and a strong password, install, wait a couple of minutes.

Check which version it actually installs before you commit to it. One-click installers are often a release or two behind, and starting on an old version means an upgrade before you’ve even built anything.

Then do these three things immediately:

Go to Site administration, then Notifications. Moodle inspects its own environment and tells you what’s wrong. Read it properly rather than skimming past the warnings.

Set your time zone and default language under Site administration, then Location. Getting this wrong after learners have submitted work with due dates attached is genuinely annoying to unpick.

Set up cron. This is the step that separates working Moodle sites from mysteriously broken ones, and it’s the thing one-click installers most often leave undone. Moodle relies on a scheduled task running every minute to send notifications, process completion, deliver forum digests, run backups, and clear out temporary files. If cron isn’t running, none of that happens. Nothing appears to be wrong. Emails just never arrive and completion never updates, and you spend three weeks blaming the wrong thing.

Plenty of budget shared hosting either caps cron at every 15 minutes or doesn’t offer it at all. That’s the single best reason to choose a VPS over cheap shared hosting, and it’s why the hosting decision in Step 1 matters.

If the environment check throws errors you don’t understand, stop there and get help. Fixing a bad foundation after you have live courses and enrolled learners costs far more than fixing it now.


Step 4: Structure Your Courses Before You Build Them

The most common failure in new Moodle sites has nothing to do with technology. Someone starts making courses on day one, and six months later nobody can find anything.

Half an hour on paper first:

Categories are your folders. Organize them the way your organization actually thinks: by department, by program, by audience. Onboarding, Compliance, Professional Development.

Courses sit inside categories. One course should represent one coherent learning goal rather than one enormous container holding everything you have.

Sections inside a course hold the real content: files, pages, embedded video, quizzes, assignments.

A rule that holds up as you grow: if someone needs a certificate or a completion record for it, make it its own course.


Step 5: Enroll Your Learners the Smart Way

Three methods, and picking the right one saves real hours.

Manual enrollment means adding people by hand. Fine at fifteen, miserable at a hundred and fifty.

Self-enrollment with a key gives learners a course password so they enroll themselves. The best default for most organizations.

CSV upload takes your staff or student list out of a spreadsheet, creates every account, and enrolls everyone in one pass. This is what you want on launch day.

Be careful with email-based self-registration, or just leave it off. An open registration page on a public site collects spam accounts steadily. For internal training, load your people from CSV and disable public signup entirely.


Step 6: The Settings That Save You Later

After years of maintaining these, three settings separate a healthy platform from a future emergency.

Automated backups. Site administration, Courses, Backups, Automated backup setup. Turn it on, run it weekly at absolute minimum, and store the copies somewhere other than the server they came from. Backups sitting on the machine they’re protecting don’t help you when that machine is the thing that failed.

Watch the timing on shared hosting. Moodle’s backup routine is CPU-heavy and hosts kill long-running processes, so a backup can fail partway through and report nothing. Schedule it overnight and check the backup logs a week later to confirm it’s actually finishing.

Updates on a schedule. Moodle ships security updates regularly and unattended Moodle sites get compromised exactly like unattended WordPress sites do. Monthly reminder on someone’s calendar, or pay someone to hold it.

Completion tracking, from day one. Site administration, Advanced features, Enable completion tracking. The day you need to prove who completed the compliance training, and that day arrives, this needs to have been switched on since the beginning. It doesn’t backfill.


Common Mistakes to Avoid

Uploading video into Moodle. Put video on YouTube as unlisted, or Vimeo, or any streaming host, and embed it. Uploaded video inflates your disk, slows every backup, and eventually fills the server.

Making everyone an admin. Moodle has real roles: Manager, Course creator, Teacher, Student. Two people hold admin keys, not ten.

Leaving the stock theme. An hour in the Boost theme settings with your logo and your colors changes how seriously learners treat the platform. It’s the cheapest credibility you’ll ever buy.

Never testing as a student. Make a student account and take your own course start to finish before launch. Teacher view and student view differ more than you’d expect, and you’ll find the confusing parts before your learners do.

Ignoring the file size limits. Moodle’s upload limit is capped by PHP’s `upload_max_filesize` and `post_max_size`, not by anything in Moodle. Raising it inside Moodle does nothing if PHP says no. Every host handles this differently, so find out early rather than the morning an instructor can’t upload their slides.


When to Bring In Help

Moodle’s real cost isn’t the license, since there isn’t one. It’s the hours someone spends setting it up correctly and keeping it healthy afterward.

A split that works for most organizations: handle course creation, enrollment, and daily administration yourself, because this guide gets you there. Bring in help for the initial server setup, theme work, integrations with Microsoft 365 or a payment gateway, version upgrades, and getting backups genuinely automated and verified.

I’ve set up and maintained Moodle for organizations ranging from a single training program to a fully online college running with weekly automated backups. If you’d rather skip the infrastructure learning curve and start on something solid, that’s the work I take on.

Get in touch at ab-mgt.com. A 30-minute conversation will tell you whether your Moodle project is a DIY weekend or a professional setup, and I’ll tell you straight which one you’ve got.