Check your Domain Availability...
Free Domain Manager
Live Demo - lock option, edit Whois, edit name servers, custom DNS records, URL redirection, etc.
Premium Moodle Hosting Services
Moodle™ is a trademark of Martin Dougiamas and is not connected with us.
Moodle-Compatible Web Hosting Servers
- An automatic script installation
- Free web site skins
- We fulfill all requirements for hosting e-learning websites.
- The most current stable releases of Apache, MySQL and PHP
- 24-7-365 tech support
- The average support ticket response time is only 20 minutes.
Moodle Web Hosting Services
| Economy | Regular | Deluxe | Ultimate |
|
Perfect for customers who only want a simple personal website or a blog.
|
A good choice for any online store or a fairly complex website.
|
A reasonably priced shared web hosting package, good for resource-heavy personal websites.
|
The right solution for high-profile websites with lots of visitors.
|
| Unlimited storage | Unlimited storage | Unlimited storage | Unlimited storage |
| Unlimited bandwidth | Unlimited bandwidth | Unlimited bandwidth | Unlimited bandwidth |
| 1 website hosted | 5 websites hosted | Unlimited websites hosted | Unlimited websites hosted |
| 24/7/365 support | 24/7/365 support | 24/7/365 support | 24/7/365 support |
|
30 Days Money Back Guarantee |
30 Days Money Back Guarantee |
30 Days Money Back Guarantee |
30 Days Money Back Guarantee |
|
30-Day Free Trial |
30-Day Free Trial |
30-Day Free Trial |
30-Day Free Trial |
| $4.95 / month | $8.75 / month | $17.50 / month | $25.00 / month |
| Compare All Hosting Plans | Compare All Hosting Plans | Compare All Hosting Plans | Compare All Hosting Plans |
Questions about Moodle hosting? See our FAQ.
A narrative guide to Moodle hosting.
There is a moment in almost every online learning project when the excitement about courses, lessons, quizzes, certificates, and enrollment pages gives way to a much less glamorous question.
Where is the learning platform going to live?
At first, it seems like a straightforward decision. Find a hosting plan, install Moodle, choose a theme, create a course, and invite some students.
And for a while, that may be exactly how it feels.
Then the number of students grows.
Teachers begin uploading more material. Assignments start arriving. Quizzes become part of the daily routine. Discussion forums become busy. More users are online at the same time. Scheduled tasks are running in the background while students are doing things in the foreground. The database gets larger. The file storage grows. Plugins are added. Eventually, somebody asks the question that should perhaps have been asked at the beginning.
Can the hosting environment actually keep up with all of this?
That is where Moodle hosting becomes much more interesting than simply finding a server with enough disk space.
Moodle is a substantial web application. It relies on PHP, a database, file storage, scheduled tasks, caching, and a web server that all have to work together. When the number of students and courses increases, the environment underneath the software becomes increasingly important.
The Beginning
Imagine a small training organization called Northbridge Learning Center.
For years, Northbridge has taught working adults in classrooms. Teachers hand out printed notes, students submit assignments in folders, and instructors keep track of progress in spreadsheets.
It works.
It is also becoming increasingly difficult to manage.
The organization wants students to access lessons from home. Teachers want to publish material without printing hundreds of pages. Students want to complete quizzes online. Management wants a clearer view of course progress.
Someone suggests Moodle.
The first installation is modest.
There are twenty students.
There are only a handful of courses.
The website is quick, the teachers are happy, and the administrator begins to wonder why anyone would need anything more complicated than an ordinary hosting account.
Then Northbridge grows.
Twenty students become 200.
Two courses become twenty.
Teachers begin uploading larger files. Discussion forums become busy. More activities are added. Students submit assignments. Quizzes become increasingly important.
Then comes examination day.
Nearly everyone logs in at the same time.
The site does not necessarily crash.
Instead, pages become slow.
A quiz takes too long to open.
Students click twice because they think nothing happened.
A teacher refreshes the grading page.
The administrator starts watching the server.
That is the moment when the organization discovers something important.
Moodle itself may be perfectly suitable.
The question is whether the hosting environment underneath it is equally suitable.
Back to main menuWhat Moodle Really Is
Moodle is often described as a learning management system, and that is exactly what it is. But the phrase can make the platform sound simpler than it really is.
Behind the course pages is a substantial application.
Moodle manages users, courses, enrollments, permissions, lessons, assignments, quizzes, grades, discussions, files, reports, notifications, and many other parts of an online learning environment.
Unlike a collection of static webpages, Moodle is continually working with information.
When a student logs in, the system needs to know who that student is and what that student is allowed to see.
When a teacher opens a course, Moodle retrieves the appropriate course information.
When a student submits an assignment, the platform needs to store the submission and associate it with the correct user and course.
When a quiz is completed, the result has to be recorded.
When an administrator generates a report, the application may have to process a large amount of stored information before producing the result.
All of this work takes place on the server.
That is why Moodle hosting should be viewed as infrastructure for an application rather than simply a place to keep website files.
The more heavily the system is used, the more important that distinction becomes.
Back to main menuWhy Hosting Matters
Northbridge makes a very common mistake when it starts comparing hosting companies.
The administrator looks first at storage.
One provider offers 100 GB.
Another offers 250 GB.
A third advertises several hundred gigabytes.
At first glance, the third company looks like the obvious winner.
But storage is only one part of the picture.
Moodle can be affected by CPU availability, memory, PHP workers, process limits, database performance, storage speed, caching, network conditions, and the number of users performing operations simultaneously.
A hosting account can offer enormous disk space and still feel slow under load.
It can advertise generous bandwidth while restricting the amount of processing power available to the application.
It can technically support PHP while not providing the version, extensions, or configuration that a particular Moodle release requires.
This is why a serious comparison begins with compatibility and resources rather than headline storage figures.
The exact technical requirements also depend on the Moodle version being installed.
That point is easy to miss.
A hosting environment that works today may need changes when the site moves to a newer Moodle release.
The hosting decision therefore has to allow for both the present and the next stage of the site's life.
Back to main menuThe Server Underneath
A web application is not running on a single piece of magic.
It is running on a stack.
There is the operating system.
There is the web server.
There is PHP.
There is the database.
There is the storage system.
There may also be caching services, command-line tools, scheduled jobs, monitoring systems, firewalls, and other server components.
Each part has a role.
Moodle is designed to run in a range of common server environments, but that does not mean every configuration is equally useful.
For example, a server may have a supported web server installed but still be poorly configured for the way Moodle needs to operate.
The administrator may need the correct document root.
The PHP handler must work correctly.
File permissions must allow Moodle to access what it needs without exposing sensitive material.
The database connection must be reliable.
HTTPS must be configured properly.
Scheduled tasks need to operate.
And the server needs enough resources to handle the actual workload.
That last point is particularly important because Moodle can look completely fine during a small test.
A system with ten students can hide weaknesses that become obvious with 500.
Back to main menuPHP Is Not Just PHP
At Northbridge, someone once says, “The host supports PHP, so Moodle will work.”
That sentence is technically true and practically incomplete.
PHP is not a simple on or off switch.
Moodle relies on particular PHP versions and extensions, and those requirements vary by Moodle release.
Extensions can provide functions used for image processing, XML handling, character encoding, compression, network communication, cryptographic operations, and other tasks inside the application.
There are also PHP configuration settings that can affect Moodle's behavior.
Memory limits matter.
Input limits matter.
Execution settings matter.
File upload limits matter.
A hosting company may allow customers to choose a PHP version but prevent them from changing important settings.
That can become frustrating when an administrator is preparing for an upgrade and discovers that the required configuration cannot be changed.
A good Moodle hosting environment should therefore offer an appropriate PHP version and either meaningful control over relevant settings or practical support for changing them.
There is also a simple habit that can save a great deal of trouble.
Check Moodle's environment requirements before an upgrade.
Do not wait until the upgrade has already started to discover that the server is missing something important.
Back to main menuThe Database Behind the Learning Platform
When a student looks at a Moodle course page, the database is almost invisible.
It is still doing a lot of work.
User information is stored there.
Course information is stored there.
Grades, permissions, enrollments, quiz attempts, settings, and many other kinds of structured information depend on the database.
That makes database performance a central part of the hosting equation.
A page can contain very little visible content and still require many database operations before Moodle can assemble the final result.
As the number of users grows, the number of records grows.
As the number of courses grows, more relationships and more activity are stored.
As reporting becomes more sophisticated, the database workload can become heavier.
This is why “My hosting includes a database” is not a particularly useful statement.
What matters is which database technology is available, which version is supported, how much memory and processing power it has access to, how quickly storage responds, and how well the database performs under the site's real workload.
On a small Moodle site, the difference may be difficult to notice.
On a busy installation, the database can become one of the first places where performance problems appear.
Back to main menuMoodledata: The Part Students Never See
There is another part of Moodle that deserves attention because it does not look like an ordinary website directory.
Moodle uses a data directory for uploaded files, cached material, temporary information, sessions, and other data generated while the system operates.
Students rarely think about it.
Administrators should.
The Moodle data directory must be protected properly and should not simply be placed somewhere that makes its contents publicly accessible through the web.
This is not merely a matter of neat organization.
The directory can contain information that should never be available to an anonymous visitor.
Storage performance also matters here.
A Moodle installation can create a great deal of small file activity, and slow storage can become a real bottleneck.
This is one reason that high-performance storage can sometimes make a more noticeable difference than a large increase in advertised disk capacity.
Northbridge eventually discovers this when it moves from an older storage system to faster infrastructure.
The amount of storage has barely changed.
The site nevertheless feels more responsive.
Not every performance improvement comes from adding more CPU.
Sometimes the server simply needs to get information from storage faster.
Back to main menuCron and Background Tasks
Some of Moodle's work happens outside the normal page request.
That is where scheduled tasks enter the story.
Moodle uses background jobs for work that should not necessarily happen while a student is waiting for a webpage to load.
This can include processing queued activity, sending notifications, handling certain administrative operations, running backups, checking conditions, and performing other maintenance tasks.
The job that runs these scheduled operations is commonly called cron.
For a Moodle administrator, cron is not an optional extra that can be ignored until later.
A site can still appear to function when scheduled work is not running correctly, which makes the problem particularly sneaky.
Messages may be delayed.
Background processing may accumulate.
Automated tasks may take longer and longer to complete.
Eventually someone notices that things that should happen automatically are no longer happening on time.
A hosting provider should therefore allow reliable scheduled execution at a frequency suitable for Moodle.
On a VPS or dedicated server, the administrator usually has considerably more control over this.
On shared hosting, the exact possibilities depend on the provider.
It is worth finding out before choosing the plan.
Back to main menuWhen Everybody Logs In
This is where Moodle hosting becomes a very practical issue.
Imagine Northbridge has 700 active students.
Most days, they arrive at different times.
The server copes well.
Then the final examination begins at exactly 9:00 a.m.
At 8:59, everything is quiet.
At 9:00, hundreds of users begin loading pages, opening questions, submitting answers, moving through activities, and saving information.
The workload changes almost instantly.
This is known as concurrency, and it matters enormously for applications such as Moodle.
It is not enough to know how many accounts exist.
You also need to know how many people are likely to be actively using the system at the same time.
And even that does not tell the whole story.
One user downloading a PDF is not necessarily creating the same workload as one user taking a demanding quiz.
A teacher generating a complex report may create a very different workload from a student reading a course page.
That means Moodle performance is influenced by what users are doing as well as how many of them are online.
A hosting package that handles a quiet classroom may behave very differently during examination week.
This is one reason it is useful to discuss expected concurrency with a hosting provider rather than simply quoting total user numbers.
Back to main menuFiles and Storage
Online courses produce files.
Lots of them.
A teacher uploads a PDF.
Another adds a presentation.
Someone else creates a collection of diagrams.
Then there are images, audio files, video recordings, student assignments, and other course resources.
Storage requirements can therefore grow much more quickly than the original website suggests.
The first question is obvious.
How much storage is available?
The second question is more useful.
How well does that storage perform?
Large files also affect backups, migration time, network usage, and potentially the student experience.
Video is a particularly good example.
A course containing large video files can create much more storage and bandwidth demand than a course built mainly from text and documents.
That does not mean every Moodle site needs specialized media infrastructure.
It simply means that the type of content should influence the hosting decision.
Northbridge initially calculates its storage needs from its current files.
Later, it realizes that the more useful number is the rate at which storage is growing.
What matters is not just where the site is today.
It is how quickly tomorrow is arriving.
Back to main menuCaching and Performance
When a Moodle site becomes slow, the first instinct is often to blame the server.
Sometimes that is correct.
Sometimes it is not.
Performance is usually the result of several parts of the system working together.
PHP needs enough memory and processing capacity.
The database needs to respond efficiently.
Storage needs to be fast enough.
Caching should be configured sensibly.
The Moodle installation itself needs to be healthy.
Plugins should not be creating unnecessary work.
The site's courses and files can also influence the overall workload.
Moodle has caching mechanisms designed to reduce repeated work, and larger installations may benefit from dedicated caching services and more carefully designed infrastructure.
But caching is not a cure for everything.
It cannot compensate indefinitely for an undersized server, a poorly designed plugin, a database bottleneck, or a storage system that is too slow for the workload.
When Northbridge investigates performance, it eventually stops asking, “How can we make Moodle faster?”
The better question becomes, “What exactly is making Moodle slow?”
That subtle change in thinking leads to much better decisions.
Back to main menuPlugins Add Power and Responsibility
One reason Moodle can adapt to so many different educational environments is its extensibility.
Organizations can add plugins that extend functionality in useful ways.
Authentication can be customized.
New activities can be introduced.
Reporting can be expanded.
Additional integrations can be added.
The interface can be changed.
That flexibility is valuable.
It also creates another responsibility for the administrator.
Every plugin becomes part of the application.
A plugin has code.
That code may need maintenance.
It may have compatibility requirements.
It may need testing before a Moodle upgrade.
And it uses server resources.
A plugin that performs very little work on a small site may become expensive when thousands of users are active.
That does not mean administrators should avoid plugins.
It means that every plugin should have a reason to exist.
A well-maintained plugin that solves a genuine problem can be an excellent addition.
A forgotten plugin that nobody uses but everyone is afraid to remove is another matter.
Northbridge eventually adopts a simple rule.
Every extension needs an owner, a maintenance plan, and a testing process.
That rule makes future upgrades much less frightening.
Back to main menuThemes Are Not Just Pretty
Students care about how Moodle looks.
Teachers care about how easy it is to use.
Administrators care about whether it keeps working.
A theme influences all three.
It controls much more than colors and logos. It affects the presentation and structure of the interface that people use to move through courses and activities.
A poorly designed customization can create unexpected problems, especially when plugins and administrative screens expect certain elements to behave in particular ways.
This is why theme development should be treated as software work rather than decoration.
The same principle applies to hosting.
Developers need enough access to test their changes properly.
They need to be able to clear caches.
They need useful error information during development.
They need a safe way to reverse a bad change.
A hosting environment that makes normal development difficult can turn a simple design change into an unnecessary technical exercise.
The best environment is not necessarily the one with the most complicated controls.
It is the one that gives the people maintaining Moodle enough freedom to do their work without making every task dangerous.
Back to main menuSecurity Begins Before Launch
A Moodle site can contain a considerable amount of sensitive information.
Student accounts.
Teacher accounts.
Course activity.
Assignments.
Grades.
Internal documents.
Administrative information.
That makes security part of the foundation.
HTTPS should be used properly.
Passwords should be strong and privileged accounts should be limited.
Moodle, plugins, themes, PHP, the database, and the operating system all need sensible maintenance.
Security is also a shared responsibility.
The hosting provider manages the infrastructure it controls.
The site administrator is still responsible for the Moodle application, user accounts, plugins, themes, configuration, and other application-level decisions.
The separation between Moodle's public files and its protected data is also important.
A hosting environment should make it practical to keep sensitive Moodle data outside the publicly accessible web area.
This is one of those details that sounds technical until you imagine the alternative.
You would not want private student files sitting in a directory that anyone could access simply by guessing a URL.
Good hosting makes the secure arrangement the natural arrangement.
Back to main menuBackups and Recovery
One Friday afternoon, a Northbridge administrator makes a mistake.
A course is changed incorrectly.
Then another change is made while trying to fix it.
After a few minutes, the situation is worse.
This is when the value of a backup becomes obvious.
But there is an important difference between having a backup and having a usable backup.
A backup strategy needs to account for the Moodle application, database, stored data, and other important configuration.
If only the visible website files are saved, the site may still lose the information that actually makes the learning platform useful.
If only the database is preserved, important uploaded files may be missing.
A useful backup strategy covers the whole environment.
Where the backup is stored also matters.
A copy on the same server is better than nothing, but it does not protect against every type of server failure.
Independent copies provide another layer of protection.
Retention matters too.
One backup from yesterday is not enough if the problem is discovered a week later.
And perhaps the most overlooked part of backup planning is restoration testing.
A backup that has never been restored is an assumption.
A backup that has been successfully restored is evidence.
Northbridge learns to test its recovery process before it needs it.
That turns disaster recovery from a theory into a procedure.
Back to main menuEmail, Authentication, and Integrations
Moodle rarely exists completely on its own.
A training business may connect it to email services.
A school may use an external authentication system.
A company may connect Moodle to another internal application.
An organization may have reporting tools or payment systems that need to communicate with the learning platform.
Once that happens, the hosting environment has to support communication beyond the Moodle installation itself.
Email is a good example.
It is not enough for a Moodle site to look as though email is configured.
The underlying mail system needs to work reliably.
Messages need to be delivered.
Authentication connections need to function.
External integrations may need outbound network access.
That can make restrictive shared hosting environments frustrating.
A host may block certain types of communication, restrict server-level configuration, or impose limits that were never a problem for a simple website.
Before choosing a hosting environment, it is worth understanding what Moodle will need to communicate with and whether the server allows those connections.
The goal is not maximum freedom for its own sake.
The goal is enough freedom for the actual system to work properly.
Back to main menuWhen Shared Hosting Is Enough
Shared hosting is not automatically wrong for Moodle.
That would be an unnecessarily rigid conclusion.
A small educational site may operate very comfortably on a well-configured shared hosting account.
Suppose there are only a few instructors, a modest number of students, mostly document-based courses, and relatively little simultaneous activity.
There may be no compelling reason to move immediately to a VPS.
Shared hosting can offer a simple control panel, managed server maintenance, automated backups, and lower cost.
For a small organization, those advantages can be useful.
The important word is “well-configured.”
Not all shared hosting environments are the same.
The amount of CPU available may differ.
Memory limits may differ.
The number of PHP workers may differ.
Database resources may differ.
Scheduled task capabilities may differ.
Support quality may differ dramatically.
The right question is therefore not whether shared hosting is good or bad.
The question is whether the particular shared environment matches the actual Moodle workload.
Back to main menuWhen Shared Hosting Starts to Struggle
Northbridge eventually notices a pattern.
The Moodle site is fast late at night.
It is slower during working hours.
It struggles most when classes start.
That pattern is a clue.
The issue may not be the Moodle software itself.
The hosting account may simply be reaching its limits.
Shared hosting environments often place boundaries around resources so that one customer cannot consume everything available on the server.
Those boundaries can include CPU time, memory, concurrent processes, entry processes, PHP workers, database usage, or other forms of resource control.
Such restrictions are understandable.
They are also something Moodle administrators should know about.
A learning platform is different from a brochure website because users may all arrive at almost the same time.
That is precisely the kind of workload in which hidden resource limits can become visible.
When Northbridge talks to its hosting provider, the administrator stops asking vague questions such as “Is Moodle supported?”
Instead, he asks what happens when the account reaches its resource limits.
Does the site slow down?
Are processes stopped?
Is the account temporarily restricted?
Can the account be upgraded?
Is there a larger plan with predictable resource allocation?
Those answers are much more useful than the word “unlimited.”
Back to main menuVPS Hosting
As Northbridge grows, a virtual private server begins to make more sense.
A VPS generally gives the organization greater control over the server environment and more predictable access to resources than conventional shared hosting.
That can be useful for Moodle because administrators can have more influence over PHP, scheduled tasks, caching, operating-system settings, database configuration, and other parts of the stack.
But a VPS is not a magic performance button.
Someone has to manage it.
Operating-system updates need attention.
Security needs attention.
Backups need attention.
Monitoring needs attention.
PHP and database configuration need attention.
If the organization does not have the required technical skills, the freedom of a VPS can quickly become another responsibility.
That is why the decision to move to a VPS should be based on both workload and expertise.
A technically capable team may enjoy the control.
An organization without server administration experience may prefer a managed solution that handles much of the underlying maintenance.
The important thing is knowing who will be responsible when something stops working.
Back to main menuDedicated Hosting
There is a point where the workload can become substantial enough that dedicated resources are attractive.
A dedicated server gives the organization an entire physical server rather than sharing that machine with unrelated customers.
That can provide more predictable performance and considerable control.
But dedicated hardware should not be treated as a badge of seriousness.
It is not automatically the right choice simply because Moodle is important.
A poorly configured dedicated server can still perform badly.
An efficiently configured VPS can perform extremely well for the right organization.
The decision should follow the workload.
Consider concurrent users, database activity, file storage, course complexity, plugin behavior, reporting needs, integrations, examination traffic, and expected growth.
Large educational organizations may have reasons to move beyond a single server altogether.
They may eventually use dedicated database resources, specialized caching, separate storage, load distribution, monitoring, and other architectural improvements.
That is a much bigger step, and most Moodle sites will never need to go that far.
For those that do, the move should be based on measurement rather than guesswork.
Back to main menuManaged or Unmanaged?
There is another question hiding behind the choice of hosting type.
Who is going to look after the server?
Managed hosting can be valuable when the organization wants to concentrate on teaching rather than system administration.
But the word “managed” needs to be investigated.
One provider may manage the operating system.
Another may include more extensive server support.
A third may simply provide a control panel that makes common tasks easier.
Those services are not the same.
Ask exactly what is included.
Who handles operating-system updates?
Who handles PHP changes?
Who handles server-level security?
Who investigates resource problems?
Who restores backups?
Who troubleshoots the database?
Who is responsible for Moodle itself?
Those boundaries should be clear.
Unmanaged hosting can be an excellent choice when a capable administrator or development team wants complete control.
Managed hosting can be more attractive when the organization would rather pay for expertise than develop it internally.
Neither model is inherently better.
The right one depends on who will be responsible when the server has a bad day.
Back to main menuMoving a Moodle Site
After several years, Northbridge decides to change providers.
The new environment has more predictable resources and better support.
Someone suggests copying the website to the new server and changing the DNS.
That is only the beginning.
A Moodle migration involves the application files.
It also involves the database.
It involves the Moodle data directory.
Configuration needs to be checked.
File ownership and permissions may need adjustment.
The PHP environment must match the Moodle version.
The database must be compatible.
Cron needs to be recreated.
Plugins and themes need to be checked.
SSL needs to work.
DNS needs to be changed.
And the site needs to be tested before the old server is retired.
The safest approach is to treat a migration as a planned project rather than as a simple file transfer.
A staging or test copy can be especially useful.
The new environment can be checked before users are moved.
Teachers can test courses.
Administrators can test reports.
Students can test logins.
Assignments can be submitted.
Quizzes can be completed.
Email can be tested.
Cron can be observed.
Backups can be verified.
Only after those checks look good should the final switch take place.
The careful approach may require more planning, but it is far less stressful than discovering a migration problem after thousands of students have already arrived at the new server.
Back to main menuUpgrades Are Part of the Hosting Story
Moodle is not a frozen piece of software.
New versions appear.
Security fixes are released.
PHP versions change.
Database support evolves.
Plugins are updated.
Server requirements change.
That means hosting compatibility must be considered again when Moodle is upgraded.
A server that supported the previous release may need a newer PHP version for the next one.
A plugin may require a newer version than the old environment provides.
Configuration settings may need to be reviewed.
This is why upgrading Moodle should begin with preparation.
Check the requirements.
Check the plugins.
Check the themes.
Check the database.
Check the PHP environment.
Check backups.
Then test.
Testing is especially valuable because a production Moodle site can contain many things that a brand-new installation does not.
Years of courses.
Custom settings.
Student data.
Plugins.
Theme changes.
Integrations.
And all of those pieces can interact.
The hosting environment should make it possible to prepare and test an upgrade safely rather than forcing the administrator to perform the change directly on the live site.
Back to main menuHow to Choose a Moodle Host
Suppose Northbridge has five hosting companies on the shortlist.
One has the lowest price.
Another advertises huge storage.
A third offers a VPS.
A fourth has a polished website and impressive marketing language.
The fifth provides straightforward answers to technical questions.
The fifth may be the most interesting.
A good Moodle host should be able to explain which Moodle versions the environment can support.
It should be able to explain the available PHP versions and extensions.
It should explain which database platforms are available.
It should explain scheduled task support.
It should explain storage and resource limits.
It should explain how backups work.
It should explain what happens when a site needs more resources.
And it should be clear about what support covers.
Ask the uncomfortable questions before buying.
Can the PHP version be changed?
Can relevant PHP settings be adjusted?
Can cron run reliably?
Can the Moodle data directory be kept outside the public web root?
What are the CPU and memory limits?
How many concurrent processes are available?
What database versions are supported?
What happens if the site reaches its limits?
How quickly can resources be increased?
How are backups restored?
Will support investigate server-level problems affecting Moodle?
The answers tell you much more than a banner saying “optimized for Moodle.”
Back to main menuCommon Mistakes
The first mistake is choosing hosting mainly because of storage.
Storage is important, but it cannot make up for weak CPU performance, insufficient memory, poor database performance, or restrictive process limits.
The second mistake is assuming that any modern PHP environment will automatically support every Moodle version.
Moodle's requirements change over time.
The third mistake is ignoring the Moodle data directory.
It is not simply another public website folder.
The fourth mistake is forgetting scheduled tasks.
A site can look fine while background jobs are slowly accumulating problems.
The fifth mistake is installing plugins without considering long-term maintenance.
Every plugin adds another piece of software that may need testing during upgrades.
The sixth mistake is testing performance only when the site is quiet.
The busiest part of the school or training center's day is the moment that really matters.
The seventh mistake is assuming that a provider's backup advertisement answers every recovery question.
Find out what is backed up, how long it is retained, where it is stored, and how restoration works.
The eighth mistake is waiting until the site is already overloaded before planning an upgrade.
A migration is easier when the old environment still has enough capacity to support testing and preparation.
The ninth mistake is treating the hosting environment and Moodle as completely separate concerns.
They are not.
Moodle is an application running inside a particular environment, and the interaction between the two affects the final result.
Back to main menuA Practical Moodle Hosting Setup
There is no single server specification that makes sense for every Moodle installation.
A small tutoring site and a national educational platform are not going to have the same requirements.
But the basic principles remain remarkably consistent.
Start with the Moodle version.
Confirm the PHP version and required extensions.
Confirm the supported database.
Make sure HTTPS is configured correctly.
Keep the Moodle data directory secure.
Make sure scheduled tasks can run reliably.
Provide enough memory, CPU, and process capacity for the workload.
Use storage that is appropriate for the amount of file and database activity.
Set up dependable backups.
Consider caching as the site grows.
Keep plugins and themes under control.
Have a realistic upgrade path.
That may be enough for a modest installation.
A larger system may require more.
It might need a VPS.
It might need dedicated hardware.
It might eventually benefit from separate database resources or more advanced architecture.
The important thing is to avoid buying complexity before there is a reason for it.
A simple, well-managed environment can be better than a sophisticated environment that nobody knows how to maintain.
Back to main menuThinking About the Future
Five years later, Northbridge's Moodle installation is no longer the little project that began with twenty students.
There are thousands of users.
There are dozens of active courses.
Teachers rely on online assessments.
Students submit assignments every day.
Course files have grown into a substantial library.
External authentication is part of the normal login process.
Reporting has become important to management.
Plugins have been added carefully.
The server is more powerful than it was at the beginning.
The organization has also become better at monitoring it.
This is an important lesson about hosting.
Growth is not a failure of the original hosting plan.
A small environment is often exactly what a new project needs.
The mistake is believing that today's environment must serve the site forever.
As the learning platform grows, its infrastructure should be reviewed.
Maybe the database needs more resources.
Maybe storage needs to be faster.
Maybe more memory is needed.
Maybe the number of simultaneous users has increased enough to justify a VPS.
Maybe the organization needs managed support.
Maybe nothing needs to change yet.
The point is to measure rather than guess.
The hosting environment should evolve because the workload changed, not because a sales page convinced somebody that bigger is always better.
Back to main menuThe Ending Is Really a Beginning
One evening, the original administrator at Northbridge looks at the Moodle dashboard.
There are students online from several time zones.
Teachers are preparing tomorrow's lessons.
A student is submitting an assignment.
Another is taking a quiz.
A scheduled task is running in the background.
The database is handling requests.
Files are being delivered.
Backups are being created.
And nobody is thinking about the server.
That is actually a good sign.
The infrastructure is doing what it is supposed to do.
Students can concentrate on learning.
Teachers can concentrate on teaching.
Administrators can manage the platform instead of constantly fighting the hosting environment.
That is really what good Moodle hosting is supposed to achieve.
It is not simply a place where Moodle happens to be installed.
It is the environment underneath the entire learning experience.
PHP needs to be compatible.
The database needs to be supported and responsive.
Storage needs to be suitable for the workload.
Scheduled tasks need to run.
Security needs to be taken seriously.
Backups need to be reliable.
The server needs enough resources for the number of people using it at the same time.
And the whole environment needs to leave enough room for the next stage of growth.
That is why the best hosting decision is rarely the one with the most impressive sales language.
It is the one that matches the actual learning platform.
A small Moodle site does not automatically need an expensive server.
A large Moodle installation should not be expected to survive indefinitely on an undersized shared account simply because the monthly price looks attractive.
The right environment is the one that gives the application what it genuinely needs while leaving the organization a sensible way to move forward.
So perhaps the most useful question is not:
“How much does Moodle hosting cost?”
The better question is:
“What kind of hosting will allow this learning platform to remain reliable as the students, courses, files, teachers, and workload continue to grow?”
Once you start there, the technical decisions become much easier to understand.
You begin comparing PHP versions rather than vague promises.
You begin asking about database resources rather than just storage.
You begin asking whether cron can run properly.
You begin asking where Moodle data will be stored.
You begin asking what happens when hundreds of users arrive together.
You begin asking how backups are restored.
You begin asking whether the hosting environment will still be suitable when the next Moodle release arrives.
And that is the real story behind Moodle hosting.
It is not really a story about servers.
It is a story about everything that has to happen behind the scenes so that an online learning environment feels simple to the people using it.
When the infrastructure is right, most users never notice it.
They simply log in.
They open a course.
They watch a lesson.
They complete an assignment.
They take a quiz.
They receive a grade.
And they move on.
That quiet reliability is the real purpose of good Moodle hosting.
Practical takeaway: Before choosing a hosting environment for Moodle, start with the exact Moodle version you plan to run and then verify the PHP environment, required extensions, database compatibility, scheduled-task support, storage, security, backups, and available server resources. The best choice is not necessarily the cheapest plan or the most powerful server. It is the environment that gives your learning platform enough room to work properly today and enough flexibility to grow tomorrow.
Back to main menuA strong learning platform should make education easier, not make teachers and students think about servers. Good hosting stays in the background and quietly lets Moodle do its job.
Moodle hosting FAQ
This FAQ covers the hosting environment needed to run an eLearning site based on Moodle, including installation, software requirements, databases, storage, domains, SSL, email, backups, security, performance, scheduled tasks, staging, migrations, troubleshooting, upgrades and long term maintenance. Requirements can vary by Moodle release, operating system and hosting setup, so version specific details should always be checked before making major changes.
FAQ menu
- 1. Choosing a suitable hosting environment
- 2. Software and system requirements
- 3. Installation and initial configuration
- 4. Domains, URLs and SSL
- 5. Databases, files and permissions
- 6. Email and scheduled tasks
- 7. Backups, recovery and disaster planning
- 8. Security and access control
- 9. Performance, caching and scaling
- 10. Updates, plugins and long term maintenance
- 11. Staging, migration and changes
- 12. Troubleshooting common problems
- 13. Choosing hosting for a growing eLearning site
1. Choosing a suitable hosting environment
1. What is Moodle hosting?
It is a hosting environment configured to run Moodle, the PHP based Learning Management System used for online courses, training, assessments, discussions and related activities. The important point is that ordinary web space is not automatically suitable. The package has to provide the required PHP version, database, extensions, storage, scheduled task support and configuration controls.
2. Can an ordinary shared hosting account run an eLearning site?
Sometimes. A small installation with modest traffic may work well on shared resources, provided the account meets the requirements of the version being used. The difficulty comes when resource limits, background tasks, database capacity or account restrictions become noticeable.
3. Is shared hosting suitable for a small school or training site?
It can be, particularly when there are relatively few simultaneous users and the course material is not unusually heavy. The provider should still confirm that the account supports the required PHP, database and scheduled task configuration rather than simply advertising generic PHP support.
4. When does a VPS make more sense than shared hosting?
A VPS becomes more attractive when the site needs predictable resources, greater control over PHP and database settings, more demanding background processing, or more freedom to tune the environment. It also gives the administrator more responsibility, so control is useful only when someone can manage it properly.
5. Is a dedicated machine necessary?
No. A dedicated machine is not a prerequisite. The right choice depends on the number of users, simultaneous activity, course content, database workload, reporting requirements and how much control is needed.
6. Is managed hosting useful for this type of installation?
It can be valuable when the provider takes responsibility for operating system maintenance, PHP configuration, backups, monitoring and similar tasks. The important distinction is what is actually managed. A package called “managed” does not necessarily mean that application updates, plugins or Moodle specific problems are included.
7. Does the location of the hosting environment matter?
It can affect network latency and may matter for legal, contractual or institutional reasons. For ordinary page requests, shorter network distances can improve responsiveness, but database performance and available resources are often more important than physical distance once the connection is reasonably fast.
8. Should a course site be hosted separately from a normal company website?
Often that is a sensible arrangement. The LMS has different resource patterns, scheduled jobs, file storage and maintenance requirements. Keeping it separate can make troubleshooting, capacity planning and future upgrades easier.
9. Does unlimited storage mean unlimited practical capacity?
No. A provider may advertise unlimited disk space while still applying fair use rules, inode limits, backup limits, CPU restrictions or other practical constraints. Large course files, recordings and user uploads can consume substantial storage even when the number of users is modest.
10. What should I ask a provider before ordering?
Ask which PHP versions are available, which database engines and versions are supported, whether cron can run regularly, whether command line access is available, how backups are handled, what resource limits apply, whether PHP settings can be adjusted, and whether the provider supports the exact Moodle release you intend to install.
Back to FAQ menu2. Software and system requirements
11. Which PHP version does Moodle need?
There is no single permanent answer because the requirement changes between releases. For example, Moodle 5.2 requires PHP 8.3 or later and supports PHP 8.4. Earlier branches have different requirements, so the version of the LMS should be checked before selecting or changing PHP.
12. Can I choose any recent PHP version?
No. “Recent” does not necessarily mean compatible. A PHP release can be newer than the branch supports, while an older one may no longer meet its minimum requirement. Compatibility should be checked against the exact Moodle version.
13. Does Moodle require 64 bit PHP?
Current releases require a 64 bit PHP environment. This is particularly relevant on older infrastructure where a 32 bit build may still be available.
14. Which database systems can be used?
Supported database engines vary by release. Current Moodle versions support selected versions of PostgreSQL, MySQL, MariaDB, Aurora MySQL and Microsoft SQL Server. Oracle is no longer supported from Moodle 5.0 onward.
15. Does the database version matter as much as the database type?
Yes. Having MySQL, MariaDB or PostgreSQL installed is not enough by itself. The particular version must meet the requirement for the Moodle release being installed or upgraded to.
16. What PHP extensions are required?
The installation needs a set of PHP extensions used for functions such as character handling, encryption, XML processing, file handling, networking and database access. The exact list is release specific, and the environment check in the administration area is a useful way to identify missing components.
17. Is the sodium PHP extension important?
Yes for current releases. Sodium is required by current versions such as Moodle 5.2 and should be enabled before installation or upgrade.
18. What is max_input_vars and why can it matter?
It controls how many input variables PHP will accept from a request. Current Moodle releases require it to be at least 5000. A value that is too low can cause large configuration forms or other complex submissions to behave incorrectly.
19. How much PHP memory should be available?
The minimum and recommended values depend on the release and workload. Larger installations, reports and resource intensive operations may need considerably more memory than a small site. A provider offering a fixed low memory limit can therefore become a problem even when installation itself succeeds.
20. Can I install Moodle on Windows hosting?
It is possible, because Moodle can run with supported Windows based web and database environments. What matters is whether the required PHP, database, extensions, file permissions, web server configuration and scheduled task facilities are correctly available.
21. Can it run on Linux hosting?
Yes. Linux is a common environment for Moodle installations and provides broad support for the PHP, database, command line and scheduled task tools commonly used for administration.
22. Does Apache have to be used?
No. Supported installations can use different web server arrangements. The important issue is whether the chosen web server is configured correctly for the Moodle release, including URL handling, PHP processing, file access and security.
23. Can Nginx be used?
Yes. Nginx can be used as the web server, but it requires suitable PHP handling and correct configuration for Moodle's requests and file delivery.
24. Does the operating system version matter?
It can. The operating system controls which PHP, database, web server and system libraries are available. An old operating system can therefore become a limiting factor even when the hosting company appears to offer a suitable application version.
25. Can an automatic installer hide missing requirements?
It can make installation easier, but it does not remove the underlying requirements. If an installer succeeds because the provider prepared the environment correctly, that is helpful. It is still worth knowing what version was installed and which components were enabled.
Back to FAQ menu3. Installation and initial configuration
26. What are the main steps in installing Moodle?
The usual process involves preparing the PHP environment and database, uploading or deploying the Moodle code, creating the data directory, creating a database and database user, configuring the site URL and paths, running the installer, checking the environment and setting up scheduled tasks.
27. Can a hosting provider install it for me?
Some providers do. Others provide only an application installer or leave installation entirely to the customer. Before assuming it is included, check whether the service covers only the initial files or also database creation, configuration and later maintenance.
28. Is one click installation enough for a production site?
Not necessarily. It can get the basic installation in place, but production work can still include SSL, email delivery, scheduled tasks, backups, permissions, caching, security settings and testing.
29. What is the Moodledata directory?
It is the location used for user files, course files, cached data and other information. It should be protected from direct public web access and is normally placed outside the main web accessible code directory.
30. Why should Moodledata not be inside the public web directory?
Files stored there can contain uploaded course materials and other information that should not be directly exposed through ordinary web requests. Keeping the directory outside the public document root provides an important layer of protection.
31. What is config.php used for?
It contains core settings needed to connect the installation to its environment, including the database connection, site URL and filesystem paths. It is a sensitive file and should not be edited casually.
32. Where should the code files be placed?
They should be located in the web document area configured for the site. The exact directory depends on the web server and hosting setup. The important distinction is that the code directory and Moodledata directory serve different purposes.
33. Does the installation need a separate database?
A dedicated database is a clean and sensible arrangement. Shared database hosting can sometimes work, but it makes administration and resource separation less straightforward.
34. Should the database have its own user?
Yes. Using a dedicated database account is preferable to using a general administrative account. The account should have only the permissions required by the installation.
35. Can I install it in a subdirectory?
Yes. An installation can operate at an address such as example.com/learn, provided the web server and site URL are configured consistently.
36. Can I use a subdomain instead?
Yes. A subdomain such as learn.example.com is often convenient because it clearly separates the learning environment from the main corporate site.
37. Why does the configured site URL matter so much?
Moodle relies on its configured web address for links and requests. If that setting does not match the address users actually use, you can encounter redirects, login problems, broken links or mixed access patterns.
38. Can I change the site URL after installation?
It is possible, but it needs care. The configured wwwroot, web server settings, SSL certificate, DNS records and any stored absolute URLs may all need to be considered.
39. Should the installation be tested before opening it to students?
Definitely. Test administrator access, ordinary accounts, file uploads, course activities, email, scheduled tasks, mobile access if required, backups and recovery before treating the installation as ready for real users.
40. What should be checked immediately after installation?
Run the environment checks, confirm that cron is working, verify outgoing email, check file uploads, review security warnings, confirm the site URL and timezone, test backups and make sure the installation is running the intended release.
Back to FAQ menu4. Domains, URLs and SSL
41. Do I need a domain name?
A public online installation normally needs a web address that users can reach. That can be a domain, a subdomain or another appropriately configured address depending on how the site will be used.
42. Can the LMS use the same domain as my main website?
Yes. It can be installed in a subdirectory or subdomain. A separate subdomain is often easier to manage when the learning environment has different technical requirements from the main site.
43. Should I use HTTPS?
Yes. HTTPS should be considered essential for an online learning platform because users log in, submit information and may access private course material.
44. Does SSL cover logins and course data?
HTTPS encrypts data while it travels between the browser and the web server. It does not by itself protect the database, backups, administrator accounts or the underlying operating system.
45. Can I use a free SSL certificate?
Many sites use certificates issued without a separate certificate purchase. The important issue is that the certificate is valid, automatically renewed when necessary and correctly installed for every address users are expected to access.
46. What happens if the certificate expires?
Browsers can display security warnings and users may be prevented from accessing the site normally. Automated renewal and monitoring are therefore preferable to relying on manual renewal reminders.
47. Should HTTP redirect to HTTPS?
For a public production site, it is generally desirable to enforce HTTPS consistently. The exact redirect method depends on the web server and hosting environment.
48. Can a reverse proxy or CDN sit in front of the site?
It can, but the setup needs careful handling of HTTPS, headers, client IP information, caching and requests that must reach PHP without being incorrectly cached.
49. Can a CDN cache all Moodle pages?
No. Authenticated and personalised pages are fundamentally different from public static files. Aggressive caching of logged in pages can expose the wrong content to users or break functionality.
50. What is a common cause of redirect loops?
A mismatch between HTTP and HTTPS settings, reverse proxy configuration and the site's configured URL is a common cause. Incorrect forwarded headers can also make the application think a secure request is insecure, leading to repeated redirects.
51. Why do users sometimes see a certificate warning on only one address?
The certificate may cover one hostname but not another. For example, a certificate issued for learn.example.com does not automatically cover every unrelated subdomain.
52. Can I move from one domain to another later?
Yes, but the move should be planned as a proper migration. DNS, HTTPS, the configured site URL and stored links can all be involved.
Back to FAQ menu5. Databases, files and permissions
53. How important is database performance?
It is central to the user experience. Course activity, authentication, reports, enrolments, grade calculations and many other operations rely on database queries, so an overloaded or poorly configured database can slow the entire site.
54. Is MySQL always the best database choice?
Not necessarily. Moodle supports several database systems. The better choice depends on the supported versions, hosting expertise, workload and what your provider can maintain properly.
55. Does database storage need to be included in the backup plan?
Absolutely. The database contains essential information about courses, users, grades, configuration and other data. Copying only the files does not produce a complete backup.
56. What happens if database permissions are too restrictive?
Installation and upgrades can fail because the application may be unable to create or modify required tables, indexes or other database structures.
57. What happens if file permissions are wrong?
Uploads, sessions, caches or other operations may fail. In contrast, making everything writable simply to avoid permission errors can create unnecessary security risks.
58. Should all Moodle files be writable by the web process?
Not in a hardened production environment. The public code should generally not need unrestricted write access. Some installation and update methods require temporary write access or an alternative deployment method, so the exact approach should be planned rather than solved with broad permissions.
59. Why might users be unable to upload files?
Possible causes include insufficient permissions, a full disk, PHP upload limits, request size limits, Moodle configuration or hosting restrictions. The cause should be identified rather than simply increasing every limit.
60. Can large video files be stored locally?
They can, but doing so may consume considerable disk space and bandwidth. For substantial video libraries, external storage or a dedicated video delivery service can be more practical, depending on the teaching requirements.
61. Does file storage grow faster than expected?
It can. Course resources, student submissions, backups, generated files and restored courses can all increase storage consumption. A capacity review should therefore consider future course growth rather than today's usage alone.
62. How should uploaded files be protected?
They should be stored through Moodle's intended file handling mechanism rather than exposed as an ordinary public directory. Access controls should remain under the application's control.
63. Can two installations share the same Moodledata directory?
That is not a normal arrangement and should not be treated as a simple storage shortcut. Separate installations should have clearly separated data areas unless the documented architecture specifically calls for another arrangement.
64. What is a database prefix?
It is a string placed before database table names to distinguish one installation's tables from others. Modern Moodle releases limit the maximum prefix length, so it should be chosen with the relevant version's requirements in mind.
65. Does database character encoding matter?
Yes. The database needs to use the encoding and collation expected by the particular Moodle release. An incompatible setup can cause installation or upgrade problems and can affect how text is stored.
66. Should the database and web files be on the same machine?
They do not have to be. Separating them can make sense for larger installations, although network latency and database connectivity then become additional factors.
67. Can the database be hosted with a separate provider?
Technically yes, provided the network connection, authentication, security rules and supported database version all work correctly. A remote database can be useful at scale but adds another dependency to monitor.
68. What is the danger of running out of disk space?
The effects can be wider than simply preventing new uploads. Database writes, sessions, logs, temporary files and backups can also fail, potentially making the whole service unreliable.
Back to FAQ menu6. Email and scheduled tasks
69. Why does Moodle need cron?
Cron provides the regular background processing needed for many tasks. These can include sending queued messages, processing activity, updating reports and performing other scheduled work. Without regular cron execution, important functions can become delayed or fail to run properly.
70. How often should cron run?
Current Moodle documentation recommends running cron at least once per minute to get the most benefit from scheduled task processing. The exact command and scheduling mechanism depend on the operating environment.
71. Can I rely on a hosting control panel's cron feature?
Often yes, provided it can execute the correct PHP command reliably and frequently enough. A control panel should not be assumed to be suitable simply because it has a generic cron option.
72. What happens when cron stops?
Some functions may appear normal at first, while queued work gradually accumulates. Email delivery, reports, notifications and scheduled maintenance can then become delayed or stop altogether.
73. How can I tell whether cron is working?
Moodle provides administrative tools and scheduled task information that can show whether jobs are running. Looking only at whether the homepage loads is not enough to confirm healthy background processing.
74. Can cron overload a small hosting account?
It can, particularly when many scheduled tasks accumulate or the installation is performing heavy background work. The answer is normally to understand which tasks are expensive and make sure the underlying resources are adequate rather than simply disabling cron.
75. Does Moodle send email directly from the web server?
It can be configured with mail delivery settings, but many production environments use an SMTP service. An authenticated SMTP provider can improve reliability and deliverability compared with relying on a basic local mail function.
76. Why do course notification emails sometimes fail?
Possible causes include incorrect SMTP settings, authentication failures, DNS problems, mail server restrictions, poor sender configuration or messages being rejected downstream. Server logs and mail provider records can help identify where the failure occurs.
77. Can students reply to Moodle emails?
The behaviour depends on the particular notification and configuration. Some messages are informational, while others can be designed to support replies or forum workflows. The hosting environment still needs functioning outgoing mail.
78. Is a dedicated SMTP account worthwhile?
For a production learning platform, a properly configured mail service can be worthwhile because reliable delivery matters for enrolment notices, password resets, forum notifications and other messages.
79. Can cron be run through a web request?
There are methods involving web requests, but command line execution is generally preferable when the hosting environment permits it. It avoids some web request restrictions and gives administrators better control over scheduled processing.
80. What should I check if scheduled tasks remain stuck?
Check whether cron is actually running, whether PHP has the required permissions, whether the database is responsive, whether the queue contains an unusually large amount of work and whether the affected task is failing with an error.
Back to FAQ menu7. Backups, recovery and disaster planning
81. What needs to be backed up?
A usable backup plan should cover the database, uploaded data and the parts of the installation that are needed to reproduce the working environment. Simply copying the visible web files is not enough.
82. Are hosting provider backups sufficient?
They may be useful but should not automatically be treated as the only recovery mechanism. Check how often they run, how long they are retained, whether they can restore individual accounts or databases and whether you can obtain a copy independently.
83. How often should backups run?
The appropriate frequency depends on how much new data can be lost without serious consequences. A course site with daily student submissions may need a different schedule from a static training portal.
84. Should backups be stored on the same machine?
They should not be the only copy there. A hardware problem, account failure, ransomware incident or accidental deletion could affect both the live installation and its local backups.
85. Should backups be kept in another location?
Yes. An independent copy stored outside the primary hosting environment gives you protection against failures that affect the original site and its local storage at the same time.
86. Do I need to back up the database separately?
It is wise to have a database specific recovery method even when a larger backup system captures the whole account. Database restoration is often a central part of recovering a course platform.
87. Should I test backups?
Yes. A backup that has never been restored is an assumption, not a proven recovery system. Periodic test restores can reveal missing files, incorrect credentials or incomplete backup jobs before an emergency occurs.
88. Can I restore only one course?
Moodle has course backup and restore functionality, which is different from restoring the entire installation from hosting backups. The appropriate method depends on whether you need one course, a group of accounts or the complete environment.
89. What is a disaster recovery plan?
It is a documented procedure for restoring service after a serious failure. It should identify where backups are kept, who has access, what must be restored first and how the replacement environment will be brought back into service.
90. How quickly should recovery happen?
There is no universal target. An internal training site may tolerate several hours of downtime, while an active educational service may need a much shorter recovery period. The acceptable target should be decided before the incident occurs.
91. Can a backup become unusable after a software upgrade?
A backup from an older environment can generally be valuable for recovery, but restoration may require the correct versions and configuration. Keeping version information alongside backups makes recovery much easier.
92. Should old backups ever be deleted?
Yes, but according to a retention policy rather than random deletion. Retaining several recent copies plus older periodic snapshots provides a balance between recovery options and storage consumption.
93. What if a user accidentally deletes important course material?
The best recovery method depends on what was deleted and which recovery features are available. Course backups, file recovery mechanisms and external backups can provide different options.
94. Should backups be encrypted?
That can be appropriate because backups may contain personal information, course content and account data. Encryption is especially important when copies leave the primary protected environment.
Back to FAQ menu8. Security and access control
95. Is Moodle secure by itself?
No software should be treated as secure without ongoing maintenance. Security depends on the application, PHP, database, operating system, web server, plugins, passwords, permissions, backups and administrative practices working together.
96. Why are software updates important?
Updates can correct security vulnerabilities as well as ordinary bugs. Staying on a supported branch gives you access to security fixes that are no longer provided for obsolete releases.
97. Should the hosting account use a strong password?
Yes. A compromised hosting account can expose the application, database and backups, so the hosting control panel and other administrative accounts deserve the same attention as Moodle administrator accounts.
98. Should administrator accounts use two factor authentication?
Where supported, multi factor authentication is a valuable additional control. It reduces the damage caused by a stolen password, although it does not replace software updates or good account management.
99. Should every teacher have administrator access?
No. Access should match the person's responsibilities. Giving unnecessary administrative privileges increases the consequences of a compromised account or accidental change.
100. Why should plugins be treated as a security concern?
Every additional plugin introduces more code and another component that may need updating. A plugin should therefore be maintained just as carefully as the core application.
101. Is it safe to install any plugin from the internet?
No. Use reputable sources and check whether the plugin is compatible with the intended Moodle release. An abandoned or poorly maintained plugin can introduce both technical and security problems.
102. Should the database be publicly accessible?
No. Database access should be restricted to the connections actually required by the application and administrative tools. Exposing a database unnecessarily increases the attack surface.
103. Does HTTPS prevent hacking?
No. HTTPS protects data in transit but does not fix vulnerable software, weak passwords, insecure plugins or compromised administrator accounts.
104. Why should the code directory be protected from unnecessary writes?
If an attacker gains control of a process that can write arbitrary code files, the damage can be much greater. Restricting write access is therefore one useful part of a layered security approach.
105. Should the hosting provider offer malware scanning?
It can be useful, but it should be treated as an additional layer rather than the primary defence. Application updates, access controls, backups and monitoring remain important.
106. Does a web application firewall help?
It can block certain classes of malicious traffic before requests reach the application. Its effectiveness depends on the rules and configuration, and it should not be used as a substitute for maintaining Moodle and its plugins.
107. What should happen when an administrator leaves the organisation?
The account should be reviewed promptly. Access should be removed where it is no longer needed, shared credentials should be changed and any tokens or external integrations associated with that person's access should be checked.
108. Should logs be monitored?
Yes. Logs can reveal repeated login failures, PHP errors, scheduled task failures, unusual requests and other evidence that would otherwise be easy to miss.
109. Can security scanning break an LMS?
It can if the scanner or firewall blocks legitimate requests or imposes unsuitable rate limits. Security controls should therefore be tested against real course activity before being deployed broadly.
Back to FAQ menu9. Performance, caching and scaling
110. What usually makes Moodle slow?
There is no single cause. High concurrent activity, database contention, insufficient PHP workers, slow storage, heavy reports, poorly behaved plugins, background jobs and inadequate caching can all contribute.
111. Is more CPU always the answer?
No. Additional CPU does little for a problem caused by slow database queries, insufficient memory, storage latency or an application bottleneck. Performance work should begin by identifying the actual constraint.
112. How does RAM affect performance?
Memory is important because PHP processes, database operations and caching all consume it. Too little memory can cause swapping, failed requests or an inability to run several demanding operations at once.
113. Is fast SSD storage useful?
It can be particularly helpful for database workloads and installations with substantial file activity. Storage performance is only one part of the picture, however, and cannot compensate for an undersized database or inadequate memory.
114. What is application caching?
Caching stores information that can be reused without repeatedly rebuilding it. In a learning platform, suitable caching can reduce repeated work and improve response times.
115. Can Redis be used for caching?
Yes. Redis can be used in supported configurations for caching and related workloads. The exact role depends on the Moodle release and the chosen caching setup.
116. Does caching reduce database load?
Appropriate caching can reduce repeated database and application work. It does not eliminate the need for a capable database because many operations still require current data.
117. Can aggressive caching cause problems?
Yes. User specific pages cannot be treated like public static content. Incorrect caching can display stale or even inappropriate information to the wrong user.
118. What is PHP OPcache?
OPcache keeps compiled PHP code in memory so it does not have to be processed from scratch for every request. It is a standard performance component worth considering on production installations.
119. Can too many simultaneous students cause problems?
Yes. The relevant figure is not simply the total number of registered users but how many are actively making requests at the same time and what those requests are doing.
120. Are quizzes more demanding than ordinary pages?
They can be. Assessments may involve many simultaneous requests and database activity, particularly when large groups begin or finish a quiz together. Capacity planning should consider those peaks rather than average daily traffic.
121. Do reports affect performance?
Some reports can require substantial database work, especially on large installations. Running expensive reports during periods of heavy course activity can therefore affect other users.
122. When should hosting be scaled up?
Look for evidence such as consistently high resource usage, slow database operations, exhausted PHP workers, memory pressure or repeated failures during predictable peaks. Scaling based only on guesswork can produce an expensive solution without fixing the real problem.
123. Can more than one web server be used?
Large installations can be designed with multiple application nodes, but this introduces additional requirements around shared storage, sessions, load balancing, configuration consistency and deployment. It is not a simple extension of a small single server setup.
124. Is a load balancer useful for every installation?
No. It becomes relevant when demand or availability requirements justify multiple application nodes. For a small course site, it can add complexity without solving an actual bottleneck.
125. Does network speed affect course delivery?
It matters for page requests, video and file downloads, but application performance also depends heavily on PHP, the database, storage and caching. A very fast internet connection cannot compensate for a badly constrained application environment.
Back to FAQ menu10. Updates, plugins and long term maintenance
126. How often should Moodle be updated?
It should remain within a supported release line and receive security updates promptly. The exact schedule depends on the release branch and your organisation's testing process.
127. What is the difference between a major and minor release?
Moodle has different release branches and point releases. A newer branch can introduce substantial changes, while a point release is generally focused more on bug fixes and security corrections. The precise upgrade requirements should be checked for the target release.
128. Is Moodle 5.2 currently supported?
As of August 2026, Moodle 5.2 is a current stable release. General support is scheduled to continue until April 19, 2027, with security support continuing until October 4, 2027.
129. Is Moodle 4.5 still supported?
Yes. Moodle 4.5 is the current LTS branch and is scheduled to receive security support until October 4, 2027. Its longer support period can make it attractive to organisations that value a more conservative upgrade cycle.
130. Should I update immediately when a new release appears?
Production systems benefit from testing before a significant upgrade. A sensible process is to review the requirements, check plugin compatibility, create verified backups, test the upgrade on a staging copy and then schedule the production change.
131. Can the hosting company handle Moodle upgrades?
Some providers offer this as part of a managed service, while others do not. Confirm whether “updates” means PHP and operating system maintenance or whether it actually includes the Moodle application and its plugins.
132. Can automatic updates be used?
Moodle provides mechanisms for updating some installations, but automatic application changes need to fit the site's security and testing policy. Highly customised production systems may need a more controlled deployment process.
133. What happens if a plugin is incompatible with a new release?
The upgrade can be blocked or the plugin can cause problems after the change. Plugin compatibility should therefore be checked before upgrading the core application.
134. Should unused plugins be removed?
Yes. Removing components that are no longer needed reduces maintenance work and avoids leaving obsolete code in the installation.
135. Can a plugin update change the database?
Yes. Plugins can have database changes as part of their upgrade process. That is one reason a proper backup and a controlled update process are important.
136. Why should custom code be documented?
Custom changes can be forgotten when the original administrator leaves or when an upgrade is performed months later. Recording what was changed and why makes future maintenance much safer.
137. Should the PHP version be upgraded separately from Moodle?
Sometimes, but timing matters. PHP must remain within the range supported by the installed Moodle branch. A PHP upgrade that looks harmless can cause the application or a plugin to stop working if compatibility was not checked.
138. How can I plan long term maintenance?
Keep a record of the Moodle release, PHP version, database version, plugins, customisations, backup method, scheduled tasks and hosting limits. Review that information regularly rather than waiting until an upgrade forces an emergency inventory.
Back to FAQ menu11. Staging, migration and changes
139. What is a staging copy?
It is a separate copy used to test upgrades, plugins, configuration changes or other work before making the same change to the live site. For an active LMS, this can greatly reduce the risk of discovering a problem in front of users.
140. Should staging use the same PHP version as production?
Yes when it is being used to predict production behaviour. Testing on a different PHP or database version can hide problems that will appear only after the live change.
141. Can I clone an existing Moodle site for testing?
Yes, but the copy needs careful treatment. The site URL, database connection, scheduled tasks, email delivery and user access should be adjusted so the test system does not accidentally interfere with production.
142. Should cron run on a staging site?
It can, but scheduled processing needs to be considered carefully. A staging environment should not accidentally send real notifications, process production integrations or perform actions against live external systems.
143. Can I move a Moodle site to another provider?
Yes. A migration normally involves the application code, database, Moodledata and configuration, followed by testing and a controlled DNS change.
144. What is the most important part of a migration?
Having a complete, tested copy of the existing installation and knowing how the replacement environment is configured. Migration is not simply a matter of copying the visible web files.
145. Does the database need to be moved during migration?
Yes. Course information, accounts, grades, configuration and other important application data are held in the database and must be transferred or restored into the new environment.
146. Can the domain stay the same during a migration?
Yes. A common approach is to prepare the new environment first and then change the DNS records when testing is complete. This can reduce the period during which users encounter the old and new systems inconsistently.
147. How can migration downtime be reduced?
Prepare most of the new installation in advance, copy the data before the final switch, minimise the final synchronisation period and test the new environment beforehand. The exact method depends on the size and activity of the site.
148. Do stored links need attention after a move?
They may. Changes to the site address can affect absolute URLs stored in the database. A migration involving a new domain therefore requires more than simply changing DNS.
149. Can a site be moved from shared hosting to a VPS without reinstalling everything?
Often the existing installation can be migrated rather than rebuilt from scratch. The target environment still has to meet the software requirements and the files, database, configuration and scheduled tasks must be transferred correctly.
150. Should I keep the old hosting account after a migration?
Keeping it temporarily can provide an additional fallback while the new environment is being checked. It should not remain indefinitely without purpose, especially if it continues to contain sensitive copies of the database or uploaded data.
Back to FAQ menu12. Troubleshooting common problems
151. Why does the site show a blank page?
A blank page can result from a PHP fatal error, an incompatible plugin, incorrect paths, insufficient memory or a database problem. The first step is to inspect the relevant logs and diagnostic information rather than repeatedly changing settings at random.
152. Why can users log in but then get logged out again?
Session handling is one possible cause. Incorrect URLs, cookie configuration, permissions on session storage, proxy settings and disk space problems can also interfere with login sessions.
153. Why are uploaded files not displaying?
Possible causes include incorrect file permissions, web server URL handling, slash argument configuration, storage problems or an incorrectly configured site URL.
154. Why do images appear in one part of the site but not another?
The problem may involve file serving rules, permissions, cached content, an incorrect URL or a web server configuration issue. Comparing the failing request with a working one is often more useful than reinstalling the application.
155. Why does the administration area report environment problems?
The environment checker may identify an unsupported PHP version, missing extension, database requirement, PHP setting or other dependency. Those warnings should be addressed before an upgrade whenever possible.
156. Why did the site stop working after changing PHP?
The selected PHP release may not be compatible with the installed Moodle branch or one of its plugins. Reverting temporarily can restore service, but the underlying compatibility issue still needs to be resolved.
157. Why do some pages work while others fail?
This pattern often points to a specific activity, plugin, report, PHP error or database query rather than a complete hosting failure. Logs and the exact failing action can help narrow it down.
158. Why are scheduled tasks failing even though the site loads?
Web requests and command line cron requests can use different PHP binaries, configuration files or permissions. Check which PHP executable cron is using and examine the scheduled task output for errors.
159. Why are emails delayed even though SMTP is configured?
The message may be waiting for cron, the SMTP server may be throttling or rejecting it, or the destination mail system may be delaying delivery. Checking both Moodle's mail behaviour and the SMTP provider's logs can identify the stage where the delay occurs.
160. Why does a course become slow only when many students log in?
That points toward a concurrency or resource issue rather than simple page size. PHP workers, database capacity, memory, storage performance and caching are all worth examining during the period of high activity.
161. Why does a quiz slow down at a particular time?
If many learners start or submit at the same time, the database and PHP workload can rise sharply. Resource graphs captured during the incident are much more useful than measurements taken when nobody is using the site.
162. Why does disk usage keep increasing?
Look beyond ordinary course files. Backups, temporary data, logs, cached files, student submissions and old courses can all contribute to growth.
163. Why does the site become slow after an upgrade?
The upgrade may have changed the workload, exposed a plugin problem, invalidated caches or altered database behaviour. Checking the environment, logs and resource usage helps distinguish an application problem from an underlying capacity problem.
164. What should I do when an upgrade fails halfway through?
Do not immediately make additional changes without understanding the state of the installation. Record the error, check the database and application files, review the documented recovery procedure and use the backup or staging environment where appropriate.
165. Can restoring a backup fix a broken installation?
It can, provided the backup is complete and valid. Restoration should include the database and required data files, not just the visible application code.
166. Should I disable plugins to diagnose a fault?
Sometimes temporarily isolating a suspected plugin is a useful diagnostic technique. It should be done carefully, with a record of what was changed and with an understanding of the effect on courses that rely on that plugin.
Back to FAQ menu13. Choosing hosting for a growing eLearning site
167. What matters more than the advertised storage amount?
Look at CPU limits, memory, PHP worker limits, database resources, inode limits, backup capacity, scheduled task access and the ability to change important PHP settings. Those restrictions can have a much greater effect on an active learning platform than a large headline storage number.
168. Should I choose a package based on the number of users?
Total registered users are useful for planning, but simultaneous activity is often more important. One site with 20,000 registered learners who rarely log in can place less strain on the infrastructure than another with 2,000 students all taking a quiz at the same time.
169. Should video hosting influence the hosting decision?
Yes. Large video libraries can consume significant storage and bandwidth. Separating video delivery from the core LMS can sometimes keep the main application environment smaller and easier to manage.
170. Is command line access important?
It becomes increasingly useful as the installation grows. Command line access makes tasks such as cron configuration, maintenance, upgrades, diagnostics and controlled deployment easier, although smaller installations can sometimes operate without it.
171. Is SSH access necessary?
It is not strictly necessary for every installation, but it is valuable for advanced administration. Whether you need it depends on how much responsibility you intend to take for updates, troubleshooting and server configuration.
172. Should the provider allow PHP settings to be changed?
That is useful because Moodle installations can require particular PHP limits. A highly restricted shared account may make it difficult to meet the needs of larger courses or future upgrades.
173. Is a high uptime guarantee enough?
No. Uptime does not tell you how well the environment performs during heavy use or whether the provider will help when a Moodle specific problem occurs. Resource allocation, support quality and recovery procedures matter too.
174. What kind of support is most useful?
For infrastructure problems, support staff should understand PHP, databases, web servers, DNS, SSL and scheduled tasks. For application problems, you also need someone who understands Moodle itself. Those are not necessarily the same skill set.
175. Should managed backups be included?
They are useful, but examine the actual arrangement. Ask about frequency, retention, offsite copies, encryption, restore procedures and whether you can perform or request a full recovery when necessary.
176. How much storage should I start with?
Estimate the current size of the installation, then add room for course growth, student submissions, temporary files and backup requirements. A site that begins with a few courses can grow surprisingly quickly once teachers begin adding large resources.
177. Should I leave room for future PHP changes?
Yes. Hosting that only supports one obsolete PHP version can force an unnecessary migration when Moodle's requirements move forward. A provider with several supported PHP releases gives you more flexibility.
178. Should I plan for future Moodle upgrades when choosing hosting?
Definitely. The environment that works today may not meet the requirements of the next major branch. Choosing a package with adjustable PHP, database and resource settings can make future upgrades much easier.
179. What is a good sign that a provider understands Moodle?
They should be able to answer specific questions about supported versions, cron, PHP settings, databases, command line access, backups, file permissions and upgrade procedures without reducing every answer to generic web hosting features.
180. What is the biggest mistake when choosing hosting for an LMS?
Focusing only on price, disk space and bandwidth. The real test is whether the environment can reliably run the required release, handle peak activity, execute scheduled tasks, protect the data, provide recoverable backups and remain maintainable as the site grows.
Back to FAQ menu