Call now! (ID:320386)+1-855-211-0932
Home ⁄ Moodle hosting offer + Guide + FAQ.
What sets our shared CLOUD hosting apart:
No renewal price hikes No upselling No hidden fees No overloaded servers No shared databases Fixed monthly pricing, even for Cloud Hosting Expert support Free 30 day trial Free website migration

Explore our shared hosting plans →

Moodle Hosting Plan

  • Unlimited Disk Space
  • Unlimited Traffic
  • Multi-lingual Control Panel
  • 1 Domain Hosted
  • 30-Day Free Trial
$4.95
per month

Moodle Hosting Plan

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

Premium E-School Hosting Services If you wish to focus on your online learning website and not on technicalities, HostiFul is the perfect choice for you. An automated installation is offered at signup. You can order a online learning hosting account for as low as $4.95 per month, along with a new domain.

Moodle™ is a trademark of Martin Dougiamas and is not connected with us.


Moodle-Compatible Web Hosting Servers

Moodle web hosting made simple with HostiFul!
  • An automatic script installation
  • Free web site skins
E-School-compatible hosting servers
  • We fulfill all requirements for hosting e-learning websites.
  • The most current stable releases of Apache, MySQL and PHP
With HostiFul you'll get an excellent technical support service.
  • 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
       
Economy Regular Deluxe Ultimate
GUARANTEES
24/7 Customer Support Feature Our support team is available around the clock, every day of the year, whether you have a question before ordering or need assistance after your account is active.
Yes Yes Yes Yes
1 Hour Response Time Feature We understand that hosting issues should not leave you waiting, so a member of our hosting team will respond to your request within one hour, regardless of the subject.
Yes Yes Yes Yes
Uptime Guarantee Feature A website that keeps going offline is frustrating, so our hosting network is backed by a 99.9% uptime guarantee to help keep your site consistently reachable.
99.9% 99.9% 99.9% 99.9%
Daily Data Backup Feature For added peace of mind, we create a daily backup of your hosted data whenever the total account data remains below 5 GB. If something goes wrong, the previous day's copy can be used to restore your content.
Yes Yes Yes Yes
Money Back Guarantee Feature Every shared hosting package includes a 30-day money-back guarantee, giving you time to evaluate the service. If it does not meet your expectations, you can request your money back within those 30 days. Refunds are not available once the 30-day period has expired, and registered domain names are final and non-refundable.
30 Days 30 Days 30 Days 30 Days
30-Day Free Trial Feature Try our hosting for 30 days at no charge and explore the service before committing. You can begin the trial without entering credit card information.
Yes Yes Yes Yes
Monthly price
$4.95/mo $8.75/mo $17.50/mo $25.00/mo
CORE FEATURES
Disc Space Feature This figure represents the amount of storage available for the files, databases, and other data you place on your shared hosting account.
Unlimited Unlimited Unlimited Unlimited
Monthly Traffic Feature Monthly traffic measures the amount of data your account can send and receive during a month, including website files, other hosted content, and visitor activity.
Unlimited Unlimited Unlimited Unlimited
Domain Name Registration / Transfer Feature Domain name registration gives your website its own unique Internet address. Domains registered through us are automatically connected to your hosting account, so no additional setup is normally needed.Domain name transfer moves the domain registration from one provider to another while ownership remains unchanged.
$10.00 $10.00 $10.00 $10.00
FREE FEATURES
Free Account Set-up Feature There are no account setup charges, so you can get started without an additional activation fee.
Yes Yes Yes Yes
FREE Domain Name Feature Choose one of our qualifying packages and you can receive one free domain registration or transfer from the available promotional domain extensions.
No No No No
800+ Website Themes Feature More than 800 complimentary templates are available with every shared hosting plan, giving you a ready-made starting point without requiring coding knowledge or previous website-building experience.
Yes Yes Yes Yes
Online Website Builder Feature Every shared hosting package includes a free browser-based website builder with a selection of templates, making it possible to create a site without needing professional design experience.
Yes Yes Yes Yes
50+ Free Apps Installer Feature The built-in one-click application installer gives you access to more than 50 applications. Set up a blog, forum, online store, or other supported software in just a few clicks without having to install everything manually.
Yes Yes Yes Yes
Free VPN Access Feature Reach websites that may be unavailable from your location and access services with regional restrictions by sending your Internet traffic through secure connection points in different parts of the world.
5 GB 15 GB 25 GB 50 GB
Shared SSL IPs Feature Our cloud hosting environment supports shared IP addresses for SSL-secured websites, allowing you to protect visitor information without requiring a separate dedicated IP address.
Yes Yes Yes Yes
Dropbox/ Google Drive Backups Feature Connect a Dropbox or Google Drive account and our system can place daily copies of your website files and databases there, giving you an additional copy that can be reached from a computer or mobile device.
Yes Yes Yes Yes
Website Migration Feature Moving from another hosting company does not mean you have to move your website yourself. We can transfer your existing content at no additional charge, then check the site before you switch the domain over to our platform.
Yes Yes Yes Yes
SSD Data Caching Feature Our cloud shared hosting environment uses SSD storage in a RAID configuration for responsive website performance. Additional SSD storage is dedicated to caching selected operations, helping frequently accessed data move more quickly and further improving site responsiveness.
Yes Yes Yes Yes
ZFS Storage Feature Our cloud platform uses the ZFS file system to manage stored data with strong integrity features and efficient storage management. Real-time checksum verification helps detect file corruption and supports dependable data handling.
Yes Yes Yes Yes
ModSecurity Feature ModSecurity adds an extra layer of web application protection by examining HTTP requests in real time and applying security rules to potentially harmful traffic. It is included with every shared hosting package.
Yes Yes Yes Yes
Marketing Tools Feature A collection of straightforward marketing tools is included with each package to help you promote your website. You can submit your site to search engines and publish news, announcements, and other content.
Yes Yes Yes Yes
Administration Tools Feature Each package includes practical administration features such as hotlink protection, IP blocking, an .htaccess generator, and other controls designed to simplify advanced account management.
Yes Yes Yes Yes
Video Tutorials Feature More than 40 tutorial videos are available in different areas of the hosting control panel, giving you visual guidance when you need help finding your way around.
Yes Yes Yes Yes
Online Documentation Feature We have collected an extensive help center based on the questions and problems customers commonly encounter with the control panel and our hosting services. It includes FAQs, explanations, and step-by-step tutorials.
Yes Yes Yes Yes
CONTROL PANEL
In-house Built Control Panel Feature Hepsia is our in-house hosting control panel, developed to combine a broad range of management tools with an interface that remains straightforward and easy to navigate.
View Demo View Demo View Demo View Demo
Multi-lingual Interface (over 10 languages) Feature Because our customers come from many different parts of the world, the hosting control panel is available in more than 10 languages, with additional language options planned for the future.
Yes Yes Yes Yes
Colour Skins Feature You can also change the visual theme of the hosting control panel, making it easier to work in an interface that matches your personal preference.
Yes Yes Yes Yes
DOMAINS & SUBDOMAINS
Hosted Domains Feature This option shows how many top-level domains can be hosted within each shared hosting package, allowing you to see how many separate websites your account can accommodate.
1 5 Unlimited Unlimited
Subdomains Feature A subdomain is a separate section of an existing domain. For instance, anything.my-best-domain.com would be a subdomain belonging to my-best-domain.com.
Unlimited Unlimited Unlimited Unlimited
Parked Domains Feature When a domain is registered for later use rather than for an active website, domain parking can point it to a temporary page such as "Coming Soon" or send visitors to another website.
Unlimited Unlimited Unlimited Unlimited
Full DNS Management Feature The hosting control panel gives you direct control over the domain's DNS records, including A records for directing a domain to an IP address and MX records for specifying which mail server receives its email.
Yes Yes Yes Yes
Custom A and MX Records Feature An A record links a domain name to an IP address, while MX records identify the mail servers responsible for receiving email for that domain.
Yes Yes Yes Yes
CNAME Records Feature A CNAME record creates an alias that points a hostname to another domain name. Because the hostname uses the destination domain rather than its own A record, creating a CNAME changes how that hostname is resolved.
Yes Yes Yes Yes
AAAA/SRV/NS/TXT Records Feature Advanced DNS controls let you configure records such as AAAA records for IPv6 addresses, SRV records for locating specific services and ports, NS records for identifying the authoritative name servers, and TXT records used for information such as SPF authentication.
Yes Yes Yes Yes
Full Whois Management Feature You can manage the available WHOIS information for your domain to the extent permitted by the applicable registry. Some domain extensions impose specific limitations, so the Domains section should be consulted for extension-specific rules.
Yes Yes Yes Yes
Registrar Lock Option Feature For supported domain extensions, the registrar lock adds protection against unauthorized transfers. You can enable or disable the lock from the hosting control panel whenever the registry permits it.
Yes Yes Yes Yes
EPP Transfer Protection Feature Certain domain extensions use an EPP authorization code when a domain is transferred. This additional security measure can work alongside or in place of a registrar lock, and the code can be obtained through the hosting control panel when available.
Yes Yes Yes Yes
ID Protection Feature For domain extensions that support it, ID protection keeps eligible personal registration details from being publicly displayed in the WHOIS record, helping reduce unwanted exposure of your information.
Optional Optional Optional Optional
E-MAIL SERVICES
Email Accounts Feature Mailboxes created on the hosting platform support POP3, IMAP, and SMTP, allowing you to manage your messages with desktop applications such as Outlook and Thunderbird.
100 500 Unlimited Unlimited
Webmail Feature You can access your email through any of the three webmail applications provided, using an Internet-connected computer without having to install or configure a separate mail program.
Yes Yes Yes Yes
E-Mail Aliases Feature Email aliases let several addresses deliver to the same mailbox, making it possible to manage messages addressed to different email names from one place.
100 500 Unlimited Unlimited
E-Mail Forwarding Feature You can forward incoming messages to another address or have the same message delivered to two or more email accounts, depending on how you configure the forwarding rules.
Yes Yes Yes Yes
Auto-responders Feature An autoresponder can automatically send a predefined reply whenever a message arrives in the selected email account, using the response text you specify.
Yes Yes Yes Yes
Catch-all e-mails Feature A catch-all address can receive messages sent to email addresses at your domain that do not correspond to a separately configured mailbox, including addresses containing typing mistakes.
Yes Yes Yes Yes
Mailing Lists Feature Mailing lists let you distribute a single message to multiple subscribers at the same time, making them useful for announcements and group communications.
Optional 15 Unlimited Unlimited
Mailing List Members Feature This value indicates how many subscribers can be associated with the same mailing list.
Unlimited Unlimited Unlimited Unlimited
Anti-spam Protection Feature The built-in anti-spam system is designed to reduce unwanted messages reaching your inbox. With the available settings configured appropriately, SpamAssassin can filter as much as 99% of spam.
Yes Yes Yes Yes
SPF Protection Feature Sender Policy Framework helps verify that mail servers are authorized to send messages for your domain, reducing the risk of your domain being abused for forged or unwanted email.
Yes Yes Yes Yes
DomainKeys Identified Mail Feature DomainKeys Identified Mail adds a digital signature to outgoing messages so receiving systems can verify that the message came from an authorized server and was not altered during delivery. It also helps reduce email spoofing by linking the message to the sending domain.
Yes Yes Yes Yes
Anti-virus Protection Feature ClamAV scans incoming email for known malicious software and helps protect mailboxes by identifying messages that contain viruses or other detected threats.
Yes Yes Yes Yes
Custom MX Records Feature Custom MX settings let you choose which mail servers handle your domain's email and can also be used to add multiple mail servers with different delivery priorities.
Yes Yes Yes Yes
WEBSITE CONTROLS
Advanced File Manager Feature The hosting control panel includes a full-featured file manager for creating, removing, moving, and renaming files and folders. It also supports convenient operations such as drag-and-drop management.
Yes Yes Yes Yes
FTP Accounts Feature An FTP account lets you connect to the hosting server with the File Transfer Protocol, providing a practical way to upload and manage website files.
Unlimited Unlimited Unlimited Unlimited
FTP Manager Feature The FTP Manager allows you to create separate FTP accounts, assign different access levels, update passwords, and remove accounts that are no longer needed.
Yes Yes Yes Yes
SSH/Telnet Feature Advanced users can use this feature to connect to the hosting account through secure server-access tools such as SSH and Telnet, depending on the service available to the account.
Optional Optional Optional Yes
Web-based SSH Feature Web Console provides browser-based access to shell commands, allowing you to work with the server through a web interface without opening a separate SSH client.
Optional Optional Optional Yes
Website Manager Feature The website management tools in the hosting control panel give you centralized control over the domains and subdomains associated with your account.
Yes Yes Yes Yes
Custom Error Pages Feature You can replace the standard error pages shown to visitors when a requested page cannot be opened, allowing you to present a design and message that fits your website.
Yes Yes Yes Yes
Custom Apache Handlers Feature Advanced users can define how Apache handles particular file types and extensions, providing more control than the server's default configuration.
Yes Yes Yes Yes
Custom MIME Types Feature This setting lets experienced webmasters specify how browsers should interpret particular file types, providing additional control over content delivery.
Yes Yes Yes Yes
Password Protected Areas Feature You can restrict access to a selected directory by requiring a password, keeping private sections available only to authorized users or groups..
Yes Yes Yes Yes
URL Redirection Tool Feature The redirection tool makes it easy to send visitors from one URL to another using either permanent or temporary redirects, depending on the purpose of the change.
Yes Yes Yes Yes
Guest Users Feature The Guest Users feature lets you give third parties limited access to selected areas of your hosting account. It is useful when working with developers or designers because you can share only what they need without opening up the rest of the account.
ADVANCED TOOLS
Dedicated IP Address Feature A dedicated IP address is assigned exclusively to your account rather than being shared with other websites. It can be useful for certain configurations, such as an online store that uses a private SSL certificate requiring its own IP address.
Optional Optional Optional 1
FrontPage Extensions Feature These extensions provide compatibility with websites created using Microsoft FrontPage, allowing supported FrontPage-based sites to be uploaded and operated on the hosting platform.
Yes Yes Yes Yes
Dreamweaver MX Support Feature Our hosting packages support websites created with Dreamweaver, a widely used web design application that has been used to build many different types of sites.
Yes Yes Yes Yes
PHP4/PHP5/PHP7 Support Feature PHP is a widely used language for building dynamic websites, and these hosting plans include support for the listed PHP versions so older applications that depend on them can continue to operate.
Yes Yes Yes Yes
MySQL Databases Feature MySQL is a widely adopted relational database system that works with many programming languages, including C, C++, Java, Perl, PHP, and Python. This value indicates how many MySQL databases are included with each package.
5 20 Unlimited Unlimited
MySQL Database Storage Feature This figure represents the combined amount of storage available for all MySQL databases associated with the hosting package.
Unlimited Unlimited Unlimited Unlimited
phpMyAdmin Access Feature phpMyAdmin provides a browser-based interface for managing MySQL databases, making tasks such as viewing, editing, and maintaining database content more accessible.
Yes Yes Yes Yes
PostgreSQL Databases Feature PostgreSQL is an advanced relational database system known for its strong reliability and data integrity features. This value shows the number of PostgreSQL databases available with each package.
Optional 5 20 Unlimited
PostgreSQL Storage Feature This value shows the total amount of storage allocated for all PostgreSQL databases belonging to the hosting package.
Optional 80 MB Unlimited Unlimited
phpPgAdmin Feature phpPgAdmin provides a web-based interface for administering PostgreSQL databases, giving you direct access to common database management tasks.
Optional Yes Yes Yes
Zend Optimizer Feature Zend Optimizer improves the handling of PHP applications that use Zend Guard encoding by supporting the loading and execution of protected PHP files.
Yes Yes Yes Yes
Perl Feature Perl is a general-purpose programming language that has long been used for web applications and server-side tasks, and it is supported by our hosting servers.
Yes Yes Yes Yes
Over 3400 Perl Modules Feature More than 3,400 Perl modules are available with our shared hosting packages, providing reusable components that can save development time when building Perl-based applications.
Yes Yes Yes Yes
ImageMagick & GD Library Feature ImageMagick and the GD Library provide tools for processing images such as PNG, GIF, and JPEG files and can be used for tasks including thumbnails, graphics, and other generated visuals.
Yes Yes Yes Yes
Python Feature Python is a general-purpose programming language supported by our shared hosting packages. It is known for readable syntax while still providing the flexibility needed for a wide range of applications.
Yes Yes Yes Yes
IonCube Feature IonCube supports PHP applications that use encoded files, allowing compatible IonCube-protected software to run on the hosting platform.
Yes Yes Yes Yes
Server Side Includes Feature Server Side Includes allow HTML pages to incorporate content from other sources or files. This can reduce repeated work and keep shared information consistent wherever it appears across a website.
Yes Yes Yes Yes
SSL Certificate Generator Feature SSL technology protects data exchanged between a website and its visitors and is commonly used when pages collect sensitive information. The SSL Certificate Generator creates the certificate material that can then be approved or signed by an authorized certificate provider.
Yes Yes Yes Yes
Supervisor Feature Supervisor allows you to run, control, and monitor background processes that need to remain active for extended periods.
Optional Optional 1 1
Cron Jobs Feature Cron jobs let you schedule commands or scripts to run automatically at selected times or recurring intervals, making them useful for routine maintenance and other scheduled tasks.
Optional 5 Unlimited Unlimited
InnoDB Feature The InnoDB storage engine provides dependable transaction handling, recovery capabilities, and efficient database operation for applications that rely on MySQL-compatible databases.
Yes Yes Yes Yes
Varnish Feature Varnish Cache is an HTTP caching system that can store frequently requested content and help reduce the time needed to serve repeat requests.
Optional Optional Yes Yes
Memcached Feature Memcached is an in-memory caching service designed to reduce database workload and speed up dynamic websites by keeping frequently requested data readily available.
Optional Optional Yes Yes
Node.js Feature Node.js is a server-side JavaScript runtime based on Chrome's V8 engine and is designed for building scalable network applications.
Optional Optional Yes Yes
WEBSITE STATISTICS
Webalizer Web/FTP Stats Feature Webalizer provides website and FTP statistics, including graphical reports, monthly comparisons, referral information, and detailed activity records for individual days.
Yes Yes Yes Yes
Access Log Manager Feature Once access logging is enabled for a hostname, the system records requests and visits made to the site. The resulting logs can also be exported as text for analysis with other statistical tools.
Yes Yes Yes Yes
Error Log Viewer Feature The error log records warnings and errors generated by your website, giving you a way to review problems and investigate what may be preventing parts of the site from working properly.
Yes Yes Yes Yes
Traffic Stats Feature Traffic statistics let you review the amount of incoming and outgoing data associated with each hostname in your account, making it easier to see where transfer resources are being used.
Yes Yes Yes Yes
MySQL Stats Feature This section reports the number of queries handled by each MySQL database on a daily basis and also provides an hourly average for comparison.
Yes Yes Yes Yes
Load Stats Feature Load statistics show how much CPU activity your hosting account generates over different time ranges, from individual six-hour periods to daily, monthly, and yearly views.
Yes Yes Yes Yes
OS, CONNECTIVITY AND BACK-UP
Stable Linux with Apache Feature Linux is a widely deployed server operating system valued for stability and security, while Apache remains one of the most established web server platforms for hosting websites. Together they provide the foundation for the hosting environment.
Yes Yes Yes Yes
2.5 Gbit Network Feature The data center network uses multiple high-quality carriers and routing equipment with a combined connectivity capacity of 2.5 gigabits per second.
Yes Yes Yes Yes
Help UPS & Diesel Backup Generator Feature UPS systems provide backup power during interruptions, while a diesel generator supplies extended backup power when an outage lasts longer, helping maintain network availability.
Yes Yes Yes Yes
CUSTOMER SERVICE
24/7 Customer Support Feature Customer assistance is available 24 hours a day, seven days a week, throughout the year. You can use the available support channels according to the kind of question or problem you need to resolve.
Yes Yes Yes Yes
Phone Support Feature In addition to our US phone number, we provide AU, UK, and international lines with extended availability for presales questions, billing matters, and general assistance.
Yes Yes Yes Yes
Live Chat Support Feature Live Chat connects you with a support representative in real time, giving you a direct way to ask questions and work through hosting issues while you are online.
Yes Yes Yes Yes
Integrated Ticketing System Feature When you encounter a technical problem, you can open a support ticket directly from the hosting control panel. Our technicians will respond within one hour, with typical replies arriving in approximately 15-20 minutes.
Yes Yes Yes Yes
PRICING
Monthly price Feature Shared hosting plans are billed annually. The monthly figure shown here is therefore an equivalent monthly amount provided for comparison rather than the actual billing interval.
$4.95/mo $8.75/mo $17.50/mo $25.00/mo
Total annual price Feature Because shared hosting plans are charged on a yearly basis, this is the full amount payable for the package you select for the annual term.
$59.40/yr $105.00/yr $210.00/yr $300.00/yr
         

Have you outgrown shared hosting but aren’t ready for VPS or dedicated hosting? Take a look at our semi-dedicated plans with a 30-day free trial.

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.

In This Story

The Beginning
What Moodle Really Is
Why Hosting Matters
The Server Underneath
PHP Is Not Just PHP
The Database Behind the Learning Platform
Moodledata: The Part Students Never See
Cron and Background Tasks
When Everybody Logs In
Files and Storage
Caching and Performance
Plugins Add Power and Responsibility
Themes Are Not Just Pretty
Security Begins Before Launch
Backups and Recovery
Email, Authentication, and Integrations
When Shared Hosting Is Enough
When Shared Hosting Starts to Struggle
VPS Hosting
Dedicated Hosting
Managed or Unmanaged?
Moving a Moodle Site
Upgrades Are Part of the Hosting Story
How to Choose a Moodle Host
Common Mistakes
A Practical Moodle Hosting Setup
Thinking About the Future
The Ending Is Really a Beginning

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 menu

What 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 menu

Why 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 menu

The 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 menu

PHP 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 menu

The 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 menu

Moodledata: 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 menu

Cron 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 menu

When 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 menu

Files 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 menu

Caching 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 menu

Plugins 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 menu

Themes 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 menu

Security 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 menu

Backups 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 menu

Email, 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 menu

When 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 menu

When 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 menu

VPS 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 menu

Dedicated 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 menu

Managed 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 menu

Moving 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 menu

Upgrades 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 menu

How 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 menu

Common 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 menu

A 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 menu

Thinking 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 menu

The 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 menu

A 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

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 menu

2. 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 menu

3. 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 menu

4. 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 menu

5. 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 menu

6. 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 menu

7. 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 menu

8. 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 menu

9. 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 menu

10. 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 menu

11. 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 menu

12. 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 menu

13. 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

We use cookies to ensure that we give you the best experience on our website.