DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
VGSources
Blog

Moodle Server Requirements: What You Need to Run Moodle 5.3 in 2026

A practical 2026 guide to Moodle 5.3 server requirements, including PHP 8.3+, supported databases, hardware baselines, storage security, hosting choices and upgrade planning.
Length10 min Posted Quest giverVGSources Team

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For a new Moodle installation in 2026, target Moodle 5.3 with 64-bit PHP 8.3 or 8.4, the sodium extension, max_input_vars of at least 5000, and a supported current database. The published CPU, memory and disk figures are installation baselines—not guarantees for a busy school, university or business site. Your final server size depends on concurrent activity, file storage, plugins, reporting and background jobs.

The short answer: a Moodle 5.3 server needs these components

Moodle 5.3 is the current release target in 2026; Moodle’s download page was updated on 3 October 2026. A compatible installation has five parts: an operating system, a web server, PHP, a supported database and writable file storage. The following checklist separates hard compatibility floors from practical sizing guidance.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Component Moodle 5.3 requirement or guidance What it means in practice
PHP 8.3.0 minimum; 8.4 supported Use a 64-bit PHP build and keep it patched.
PHP extension sodium required Confirm it is loaded for the PHP version used by the web server and command line.
PHP setting max_input_vars at least 5000 Raise the setting before installing if your host uses a lower default.
Database PostgreSQL 17, MySQL 8.4, MariaDB 11.4.0, Aurora MySQL 8.0, or Microsoft SQL Server 2019 minimum Compatibility is version-specific; do not assume an older database accepted by Moodle 4.x will work.
Moodle code About 200 MB This is only the application code, not user files, caches, backups or logs.
Content storage 5 GB is a realistic minimum starting point Video, SCORM packages, submissions and backups can make the requirement much larger.
CPU 1 GHz minimum; 2 GHz dual-core or better recommended CPU demand rises with simultaneous quizzes, reports, searches and scheduled tasks.
Memory 512 MB minimum; 1 GB or more recommended; 8 GB or more likely for a large production server These are starting points, not a concurrent-user guarantee.

Moodle describes these as minimum supported versions and recommends keeping the operating system and all software up to date. A server that technically installs can still be too small for your teaching workload.

PHP requirements for Moodle 5.3

Version and architecture

Install PHP 8.3.0 or newer within the supported 8.3 line, or PHP 8.4. Moodle 5.3 requires a 64-bit PHP build; a 32-bit operating system or 32-bit PHP package is not an acceptable production foundation. Check both the PHP binary used by the web server and the command-line binary used by cron, because they can point to different installations.

Required extension and setting

The sodium extension must be enabled. Verify it with your distribution’s PHP module list or with php -m. Set max_input_vars to at least 5000 in the active PHP configuration. If a control panel exposes separate PHP settings for Apache, PHP-FPM and CLI, apply the value to the web process and confirm the effective value through a temporary diagnostic page before removing that page.

Keep the runtime consistent

Use the same major PHP version for web requests and scheduled tasks. After changing PHP, restart Apache, Nginx’s PHP-FPM service or the equivalent process manager, then run a Moodle health check and a manual cron invocation. Mixed versions can produce misleading “extension missing” or database-driver errors even when the extension is installed somewhere on the machine.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Which databases work with Moodle 5.3?

Moodle 5.3 has explicit database floors. Choose one engine and meet its stated minimum rather than selecting a database only because it is available in an old hosting package.

Database engine Detailed Moodle 5.3 minimum Important qualification
PostgreSQL 17 Use a supported PostgreSQL release with the required PHP driver.
MySQL 8.4 Confirm character-set and collation settings during database creation.
MariaDB 11.4.0 Older MariaDB packages from legacy hosting plans do not meet this floor.
Amazon Aurora MySQL 8.0 The Aurora compatibility designation is separate from the standard MySQL 8.4 minimum.
Microsoft SQL Server 2019 minimum in the detailed 5.3 release table The download page currently displays “2030”; that appears to be a documentation typo or forward-looking label. Use SQL Server 2019 as the documented minimum until Moodle corrects the page.
Oracle Database Not supported from Moodle LMS 5.0 onward Do not plan a Moodle 5.3 deployment on Oracle.

Database setup rules

Create a dedicated database and a dedicated non-root database account. Grant only the permissions Moodle needs; never use a global administrator account in the application configuration. For MySQL or MariaDB, use a Unicode configuration such as utf8mb4_unicode_ci where it matches your supported server and Moodle’s guidance. Record the database host, port, name, username and password in a secret-management system rather than in a shared document.

Web server, operating system and document root

Supported server patterns

Moodle is primarily developed and commonly deployed on Linux with Apache, PHP and PostgreSQL, MySQL or MariaDB—the familiar LAMP pattern. Nginx, OpenLiteSpeed and Microsoft IIS are also viable when PHP, database and filesystem requirements are met. Select an operating system with a supported PHP repository and a normal path for security updates; an obsolete distribution can make a nominally compatible PHP version difficult to patch.

Serve only Moodle’s public directory

Moodle 5.1 and later use a public directory for web-accessible files. Configure the virtual host’s document root or routing so that requests are served from Moodle’s public directory, not the project’s parent directory. This prevents configuration files, libraries and other non-public files from being exposed. If you use Nginx or IIS, reproduce Moodle’s front-controller and static-file rules for that directory instead of relying on an unrestricted directory listing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How much CPU, RAM and storage do you really need?

Installation baseline

Moodle’s installation guide lists 200 MB for the Moodle code, 5 GB as a realistic minimum for content storage, a 1 GHz processor minimum, 512 MB RAM minimum and 1 GB RAM or more recommended. It also describes a 2 GHz dual-core processor or better as a sensible recommendation. These values help a test installation boot; they do not define the capacity of a production learning platform.

Why memory is usually the first constraint

Each PHP worker consumes memory while serving a page, quiz, file request or report. Database connections, web-server workers, cron processes, antivirus scanning and optional caches consume additional memory. A small test VM can run with the minimum, but a site with several simultaneous classes generally needs more than 1 GB. Moodle indicates that 8 GB or more is likely on a large production server; treat that as a starting point for measurement, not a universal ceiling.

Plan storage by growth, not by installation size

The 5 GB figure excludes uploaded course files, student submissions, generated backups, temporary files, sessions and caches. Estimate storage from the number of courses, average file size, retention policy and backup copies. Video-heavy courses can exceed the baseline quickly. Choose storage with predictable low latency and sufficient input/output operations; a large disk that performs poorly can make page loads and scheduled tasks slow.

Measure before scaling

Moodle states that requirements vary with hardware, software and use. For a large deployment, pilot the real course formats and activities, then measure peak web response time, database CPU and I/O, PHP worker saturation, queue duration for cron and available memory. Increase resources or distribute tiers only after identifying the bottleneck. Adding CPU to a storage-bound site, for example, will not fix slow file operations.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Filesystem and security prerequisites

Protect moodledata

Place moodledata outside every web-accessible directory. It contains uploaded files, caches, sessions and temporary data, and the web server must be able to write to it. A public URL that exposes this directory can disclose private course files or session-related data. Moodle warns that slow storage such as NFS can cause serious performance problems for moodledata; use fast local or appropriately engineered network storage and test its latency.

Protect the application code

In production, keep Moodle program files non-writable by the web-server user. The deployment account can update code during a controlled release, while the runtime account receives only the write access required for moodledata and designated cache locations. This limits the damage from a compromised web process and makes unexpected code changes easier to detect.

Backups and least privilege

Back up the database, Moodle code configuration and moodledata according to your recovery objective. Test restoring a course and a complete site; a backup that has never been restored is only an assumption. Keep database credentials, encryption keys and backup credentials out of web-accessible files and restrict shell, database and control-panel access to named administrators.

Installation checklist for a new Moodle 5.3 server

  1. Choose the platform. Select a supported Linux, Windows/IIS or equivalent environment and decide whether the database runs on the same host or a separate service.
  2. Install the web server and PHP. Use 64-bit PHP 8.3 or 8.4, enable sodium, install the database driver and set max_input_vars to 5000 or higher.
  3. Provision the database. Create a dedicated database and non-root user on PostgreSQL 17, MySQL 8.4, MariaDB 11.4.0, Aurora MySQL 8.0 or SQL Server 2019 or newer. Apply the appropriate Unicode collation.
  4. Deploy Moodle. Put the code in a controlled directory and configure the virtual host to serve Moodle’s public directory.
  5. Create moodledata. Locate it outside the web root, assign ownership and permissions so the web process can write, and verify that direct HTTP access is impossible.
  6. Run the installer and checks. Enter the database details, create the administrator account and resolve every environment warning before adding courses.
  7. Configure cron. Run Moodle’s scheduled task runner at the interval recommended for your deployment and watch for tasks that exceed their expected duration.
  8. Secure and observe. Apply operating-system and PHP security updates, enable HTTPS, configure backups, monitor disk growth and review web, PHP and database logs.

Can you run Moodle on shared hosting?

Shared hosting can work for a small, low-concurrency test or community site only when the provider exposes every Moodle 5.3 requirement: PHP 8.3 or 8.4, 64-bit execution, sodium, max_input_vars of at least 5000, a supported database version, a private writable moodledata location and reliable cron. Many shared plans restrict PHP extensions, database versions, process counts, scheduled tasks, file permissions or storage I/O. Those limits can prevent installation or cause intermittent failures under load.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Ask the host for the exact PHP and database versions, memory and process limits, cron frequency, backup and restore procedure, storage type, upgrade notice period and whether moodledata can sit outside the document root. If any answer is vague, assume the plan is unsuitable until a staging installation proves otherwise. Shared hosting also gives you little control over noisy neighbors, database tuning or scaling when concurrent classes increase.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Self-hosted infrastructure versus managed Moodle hosting

A virtual machine or dedicated server gives you control, while managed Moodle hosting trades some control for reduced operational work. Compare the options against your team’s skills and workload rather than choosing solely by monthly price.

Decision area Self-hosted VM or dedicated infrastructure Managed Moodle hosting
PHP and database patching Your administrators schedule, test and apply patches. The provider may patch them; confirm the maintenance window and supported versions.
Upgrades and backups You own release testing, rollback, backup retention and restore tests. The provider may operate these services; verify what is included and who approves upgrades.
Performance tuning Direct control of database settings, PHP workers, Redis or Memcached and storage. Convenient defaults, but tuning options vary by provider and plan.
Scaling You can separate web front ends, database servers and workers, but must design the architecture. Scaling may be simpler, subject to plan limits, migration rules and capacity availability.
Data residency and support You select the region and support coverage, then operate them. Check the hosting region, compliance terms, service-level agreement and support hours.
Total cost Includes infrastructure, administration, monitoring, backups and incident response. Includes a service premium but can reduce staffing and operational risk.

When you do not want to manage PHP, databases, web-server configuration, backups, cron and security, Moodle’s installation guidance points toward MoodleCloud and Moodle service providers. Verify current provider certification, region, SLA, backup policy, exact PHP/database versions and upgrade responsibilities before signing up.

When a single server stops being enough

A single VM is often a practical starting architecture. As activity grows, separate the database from web front ends so each tier can be tuned independently. Add additional web servers only when sessions, shared storage, cache design and deployment automation are ready for them. A cluster does not automatically make a site faster: shared storage latency, database locks, cache misses and slow scheduled tasks can remain the limiting factors.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use realistic load exercises with representative quizzes, assignments, file downloads, reports and cron jobs. Track concurrent active users rather than registered accounts; thousands of dormant accounts may require less capacity than a smaller group taking a timed quiz simultaneously.

Upgrade planning for Moodle 5.3

The supported upgrade floor is Moodle 4.4 or later. If you are on an older branch, plan an intermediate upgrade path instead of attempting to jump directly to 5.3. Before changing versions, take tested backups, verify plugin compatibility, confirm the target PHP and database floors, and rehearse the procedure on a staging copy. Schedule maintenance for database migrations and run post-upgrade checks for authentication, file access, cron, quiz delivery and reporting.

Keep the operating system, web server, PHP, database and plugins maintained after launch. Moodle’s version requirements describe compatibility, not a promise that an unpatched component is secure or performant.

Troubleshooting common requirement failures

The installer rejects PHP

Check the effective web-server PHP version, not only the result of a shell command. Confirm that it is 64-bit, at least 8.3.0, and that sodium is loaded. Restart the relevant service after configuration changes.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Large forms fail or values disappear

Inspect max_input_vars in the PHP configuration used by web requests. Set it to at least 5000, restart PHP-FPM or Apache and retest the form. A control panel’s displayed value may differ from the active virtual host.

Files return permission or security errors

Verify that moodledata is outside the web root and writable by the runtime account. Keep application code read-only to that account. Check parent-directory execute permissions and mandatory access-control policies on Linux systems.

The site is slow despite meeting minimums

Measure database latency, disk I/O, PHP worker memory, cron duration and cache behavior. Minimum CPU, RAM and disk figures do not account for concurrent users or large courses. Move to faster storage, increase memory, tune the database or split tiers according to the measured bottleneck.

Bottom line for a 2026 deployment

Build around Moodle 5.3’s exact compatibility floors: 64-bit PHP 8.3 or 8.4, sodium, max_input_vars of at least 5000, and PostgreSQL 17, MySQL 8.4, MariaDB 11.4.0, Aurora MySQL 8.0 or SQL Server 2019. Treat 200 MB of code, 5 GB of content, 512 MB of RAM and a 1 GHz CPU as installation baselines only. Keep moodledata private and writable, serve the public directory, test backups and size production hardware from measured concurrency and storage growth. Choose managed hosting when you need someone else to operate the stack, but verify that provider’s versions, region, backups, SLA and upgrade duties in writing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.