Guides
Practical guides on Moodle and Totara — from server setup and SSO to plugin development and integrations.
Practical guides from our team
We work with Moodle and Totara every day. These guides distil what we know — from first-time setup to advanced configuration — so you can move faster and with more confidence.
A Practical Moodle Troubleshooting Workflow
This guide lays out a practical Moodle troubleshooting workflow, including symptom capture, log inspection, X-Sendfile validation, PHP-FPM sizing, timeout analysis, and common hidden configuration issues.
Allowing Moodle cURL Requests to Localhost in Development
This guide explains how to allow Moodle’s cURL layer to reach localhost in a development environment without weakening production HTTP security.
Checklist for Starting a New Moodle or Totara Plugin
This guide provides a practical checklist for starting a new Moodle or Totara plugin with the right structure, capability model, data lifecycle assumptions, and documentation from day one.
Designing a High-Availability Moodle Deployment on AWS
This guide outlines a practical AWS high-availability design for Moodle using RDS or Aurora, EFS, Redis, an ALB, and a separate stable cron instance.
How to Clone a Large Moodle Site for Testing or Development
This guide explains how to clone a large Moodle site for testing or development by reducing the dataset deliberately rather than insisting on a full production copy every time.
How to Configure GraphQL in Totara
This guide covers a practical GraphQL setup in Totara, including creating the API user and client, authenticating, using built-in API documentation, and using introspection to discover exact query inputs.
How to Install Moodle on a VPS
This guide covers the full technical setup for a new Moodle site on a VPS, including DNS, virtual host creation, database setup, code deployment, moodledata, cron, file delivery, and backup configuration.
How to Migrate Moodle to a New Server and Domain
This guide walks through migrating Moodle to a new server or domain, including preserving the file layout, transferring the database and moodledata, updating Apache, cron, wwwroot, and validating the cutover.
How to Restore a Moodle Site from Hosting Backups
This guide explains how to restore a Moodle site from hosting-level backups, including choosing the correct backup set, restoring into a controlled location, and validating the recovered site before reopening it.
How to Set Up Automated HR Imports in Totara
This guide explains how to set up automated HR import in Totara using CSV or an external database, including element configuration, source setup, file upload, manual test runs, and log review.
How to Set Up OAuth2 SSO for Moodle or Totara
This guide explains how to configure OAuth2 SSO in Moodle or Totara, including issuer setup, required endpoints, redirect URI handling, field mapping, and a common custom-issuer email-verification pitfall.
How to Set Up SAML2 SSO for Moodle or Totara
This guide covers a practical SAML2 SSO setup for Moodle or Totara, including plugin setup, metadata exchange, attribute mapping, testing, and production rollout.
How to Use Mailgun with Moodle for Outbound Email
This guide shows how to configure Mailgun for Moodle outbound email, including domain verification, DNS records, SMTP settings, transport testing, and common provider-side gotchas.
LDAP Authentication vs SSO in Moodle and Totara
This guide explains the operational difference between LDAP authentication and true SSO in Moodle or Totara, including when each model fits and why Azure-based environments often push you toward SSO rather than LDAP.
Running Legacy Moodle or Totara PHPUnit Tests on PHP 7.4
This guide explains how to run legacy Moodle or Totara PHPUnit tooling on PHP 7.4 when the host default PHP version is newer and the standard wrapper keeps resolving nested calls to the wrong binary.
Testing Moodle Plugins That Send Data to Remote Endpoints
This guide shows how to test a Moodle plugin that sends data to a remote endpoint by wiring it to a controlled fake receiver first.
Using esbuild for Moodle Plugin AMD Modules
This guide shows how to use esbuild as a lightweight build tool for Moodle plugin AMD modules while still producing Moodle-compatible output.
Using PsySH for Faster Moodle Development
This guide shows how to use PsySH as a project-scoped REPL for Moodle development, with the correct PHP version and a bootstrap file kept outside the tracked repository.
What to Monitor on a Moodle Server
This guide covers a practical Moodle server monitoring setup, including data center alerts, external uptime checks, heartbeat monitoring, Webmin service checks, load thresholds, and database visibility.
Writing AMD Modules in Moodle
This guide explains how to structure, load, localize, and build AMD modules correctly in Moodle plugin development.
Working on a Moodle or Totara project?
Get in touch