Ldesign Media
Back to Blog
Tutorials

Moodle™ Hosting and Maintenance Guide

Luuk Verhoeven

Luuk Verhoeven

Lead Developer & Moodle™ Expert

July 30, 2026
10 min read
Moodle™ Hosting and Maintenance Guide

The short answer: needs hosting that is tuned to the application

is not a simple website but a full-fledged PHP application with a relational database, file storage, caching, background tasks, and external integrations. On generic shared hosting it often seems to work fine, until the number of users grows or everyone opens an exam at the same time. That is when you find out whether the stack is truly tuned to .

can scale to large numbers of users, but that requires a suitable architecture and carefully configured shared components (MoodleDocs). After more than fifteen years of working with environments, we know which choices determine speed and stability. This guide covers what good hosting requires, why sometimes feels slow, when self-hosting makes sense, and how to choose a hosting and maintenance partner.

1. What does need from the hosting stack?

Which versions supports differs per release. 5.2 requires at least PHP 8.3 and also supports PHP 8.4. Supported databases are PostgreSQL, MySQL, MariaDB, Aurora MySQL, and Microsoft SQL Server; Oracle has not been supported since 5.0 (Moodle Developer Resources). Meeting these minimum requirements is not enough, though. For a fast and stable production environment, the components have to be configured as one coherent whole:

  • OPcache enabled and properly configured, so PHP does not have to recompile 's many files on every request.
  • Enough PHP workers and memory: too few workers create queues at peak moments, too many put pressure on memory and the database.
  • A tuned database with enough memory for data and indexes, slow query monitoring, and table maintenance; there is no universal configuration, the right settings depend on actual usage.
  • Cron running at least every minute and monitored: a stalled task queue shows up as unsent emails, lagging synchronizations, and stuck reports.
  • Appropriate caching: the default configuration often suffices for small sites; Redis as a cache and session store is mainly worthwhile for larger and load-balanced setups, not as a fix for every performance complaint.
  • Fast storage for moodledata: in a cluster, shared storage latency is decisive; slow NFS storage can drag down the entire environment.
  • Backups, monitoring, and an update process covering , , PHP, the database, and the operating system; ships a major release every six months and point releases roughly every two months containing bug fixes and security fixes.

2. Why does sometimes feel slow?

A slow rarely has a single cause. In practice, these are the most common culprits:

  • OPcache disabled or sized too small, forcing scripts to be reprocessed over and over.
  • Too few or wrongly sized PHP workers, causing queues or memory pressure.
  • A database that does not match usage, for example insufficient memory, missing indexes, or one heavy report.
  • Caching that is not configured appropriately and ends up on slow storage or in the database.
  • A backlog in cron and ad-hoc tasks, making heavy processes compete with user traffic.
  • Tables growing without bounds, such as logstore_standard_log, historical grades, and session tables.
  • Heavy or poorly optimized plugins running inefficient queries on every page view.
  • External integrations (, HR systems, video services) that a page request has to wait on.

Optimization therefore starts with measuring, not guessing. Use a baseline measurement and monitoring to find out where time is actually spent (in the server, the database, cron, caching, external integrations, or the code itself) and then address the biggest bottleneck deliberately (MoodleDocs). Is your environment structurally slow? With a Moodle quickscan we systematically map configuration, database health, caching, cron, , and security.

3. Self-hosting or choosing managed hosting?

Self-hosting can work well when your organization has system administrators with PHP, database, and Linux knowledge as well as demonstrable experience, and when monitoring, backups, updates, and incidents have clear owners. You keep maximum control, but you also carry full responsibility for availability, security, and recovery. In practice we often see environments that were set up once and barely maintained since: they seem to run fine for a long time, until an upgrade becomes unavoidable or a security issue demands immediate action.

With managed hosting, technical responsibility lies with a specialized team, from provisioning and tuning to updates, backups, and incident handling. Managed hosting does not automatically cover functional administration, so agree upfront who handles infrastructure, technical administration, functional administration, and custom code. For many organizations this is more predictable than spreading those tasks across internal staff and external suppliers.

4. What should managed maintenance include?

Outsourcing administration only has value when the scope is clear. A serious maintenance agreement covers at least:

  • Moodle and plugin updates, with an agreement on how quickly security updates are assessed and where updates are tested first.
  • Controlled version upgrades with an inventory of and custom code, a trial upgrade, testing, and a rollback plan; we bring outdated environments to a supported version via such a controlled migration path rather than keeping them artificially alive indefinitely.
  • Security and hardening, from OS and PHP patches and certificate management to secured admin accounts and logging of administrative actions.
  • Monitoring with a clear SLA: what is monitored, what happens when a threshold is crossed, and what "response time" actually means.
  • Tested backups of the database, moodledata, and code, with periodic restore tests and explicit agreements on RPO and RTO.
  • Access to Moodle developers who can investigate problems in , cron tasks, and integrations; in our own marketing materials we use the experience of more than 300 developed as an indication of that technical background.

5. GDPR and data residency

processes a lot of personal data: names, email addresses, enrollments, progress, grades, exam attempts, and audit logs. The GDPR does not require this data to be stored in the Netherlands or the EU. What it does require is insight into where data is processed, who has access, and on what legal basis any transfer outside the European Economic Area takes place.

Hosting within the Netherlands or the EEA makes that assessment more straightforward, among other things through shorter lines of communication and contracts under European law, but it does not automatically mean no international transfer takes place. So also check the subprocessors used for monitoring, email, support, and backups. Large US cloud providers can likewise be deployed in a GDPR-compliant way, provided they are deliberately configured with region selection, access management, and data processing agreements. Ask any provider at least where the primary data and backups are located, which subprocessors are used, who has technical access, and how data is deleted after the contract ends.

6. How do you choose a hosting partner?

When comparing providers, these six questions help:

  • Is the infrastructure tuned specifically to Moodle? "We support PHP and MySQL" says little; ask about OPcache, PHP-FPM, Redis, cron, and moodledata.
  • Who applies Moodle and plugin updates, within what timeframe, and with what testing process?
  • How are backups set up, and are RPO and RTO defined and tested?
  • What does the SLA cover, and what is explicitly excluded?
  • Can the provider debug Moodle itself, looking further than whether the server is reachable?
  • Can you take the environment and data with you if you leave, including code, files, and configuration?

Conclusion: hosting is part of the experience

Users do not see PHP workers or database indexes; they only notice that a course opens quickly and an exam stays available. Infrastructure, configuration, , and maintenance together determine how reliable the learning platform is. Good hosting therefore means a supported stack, appropriate capacity, monitoring, controlled updates, tested backups, and specialists who also understand the code.

Curious about the technical state of your environment? With our Moodle quickscan we map configuration, database, cron, caching, , and security, with concrete improvement points. Read more about Moodle hosting and technical maintenance or get in touch for a no-obligation conversation.

Luuk Verhoeven

Written by

Luuk Verhoeven

Lead Developer & Moodle™ Expert at Ldesign Media

Software engineer and architect specializing in Moodle™ plugin development, system integrations, and scalable LMS platforms. Building custom solutions since 2010.

Free: the Moodle™ Upgrade Checklist

The 26-step checklist we use for client upgrades: from security and end-of-life check to staging tests, go-live, and aftercare.

  • Avoid the most common upgrade pitfalls
  • Covers plugins, integrations, and rollback
  • Practical tips from 16+ years of Moodle™ work

We email you the checklist link and nothing else. No newsletter, no spam.

Rating
5.0

Based on 20 Google reviews

Karin Groen

Karin Groen

2025

"From De Schoolschrijver, I really enjoy working with LDesign. The result was a beautiful piece of custom work in our Moodle environment. Vincent is incredibly meticulous, thinks along very actively, and communication is very pleasant. Highly recommended!"

Arnout Vree

Arnout Vree

2023

"Working with Ldesign is always a pleasure. Clear agreements, short lines of communication, and the quality of the Moodle plugins is good."

Gemma Lesterhuis

Gemma Lesterhuis

2023

"LT&C has had a pleasant collaboration with Ldesign Media for years for developing and maintaining Moodle LMS plugins. We are very happy with their expertise and professional knowledge."

Joris Even

Joris Even

2023

"From JE Ontwikkeling, we have been working with Ldesign for several years now. The service is excellent and the collaboration very pleasant. The quality of the programming work is high, and through co-creation we have achieved wonderful products. Thanks!"

Frans Levels

Frans Levels

2020

"Perfect work for our website."

Lilian Suijkerbuijk

Lilian Suijkerbuijk

2020

"Very satisfied with our website and the quick actions for questions or changes to be made!"

Paul Storms

Paul Storms

2019

"Good modification to a Moodle plugin. Clear agreements."

Merlijn Vanhecke

Merlijn Vanhecke

2019

"Nice service, good knowhow."

L. Ottink

L. Ottink

2019

"Ldesign manages the maintenance and optimization of our Moodle environment. I am very satisfied with the collaboration with Luuk. He thinks along with us and offers suitable solutions. Through his quick response time and flexibility, he ensures that we are fully taken care of in this area."

L. Arendsen

L. Arendsen

2019

"Ldesign is a very pleasant company to work with: proactive, fast, excellent results, and clear agreements. Many years of good work delivered for our website."

Sanne van Hoof

Sanne van Hoof

2019

"Very satisfied: always quick response, quick results, and great that they think along about improvements!"

Dexo Media

Dexo Media

2019

"Great service, very customer-friendly. Very pleasant to work with."

Guus Mul

Guus Mul

2018

"Luuk is our technical support and backbone. Very knowledgeable and quick in solving all Moodle-related problems. Highly recommended!!"

Bas H.

Bas H.

2018

"A very professional, capable, and driven developer. Can think along and develop at all levels."

Academie Tandartsenpraktijk

Academie Tandartsenpraktijk

2018

"Fast, accurate, proactive, up to date with the latest trends, highly recommended. In other words, a true professional."

Dental Lect

Dental Lect

2018

"Ldesign is a skilled and extremely professional company. Response times are short and they have never delivered a product we were disappointed with!"

Josien Drijfhout

Josien Drijfhout

2017

"Friendly and honest advice. Additionally, keeps to agreements and delivers quality in consultation with the client."

Richard Den Haag

Richard Den Haag

2017

"Luuk is a craftsman like I have never met before. A wonderfully proactive person. I highly recommend Luuk for anything code-related."

Unhooked Kite

Unhooked Kite

2017

"Good collaboration, and provides good support!"

Familie Vrolijk

Familie Vrolijk

2017

"Ldesign is a loyal partner for our business website. Accurate, proactive, and helpful. Top company!"

How can we help?

Whether you need a new learning environment, an improvement or strategic advice: we are ready. No sales pitch, just a clear conversation with people who speak your language and do the work themselves.

Office

Vissershavenweg 65 - III
2583 DL The Hague

Serving the Netherlands and Flanders

Opening Hours

Mon - Fri: 9:00 - 17:00

Response Time

Typically within 24 hours

Direct Access to Developers

One fixed point of contact who speaks your language and personally builds your solution. No handovers.

Send us a brief

By submitting you agree to our privacy policy.

We reply within 24 hours on business days.

5.0 Google rating · 16+ years of experience · 300+ Moodle™ plugins