Moodle is a learning management system with release-specific PHP and database prerequisites. Course files, active users, scheduled jobs, and assessment traffic determine capacity beyond those software requirements.
No further general recommendations are published for this version.
Capacity depends on your workload
Moodle publishes runtime and database requirements, but not one server size for all sites. Capacity changes with concurrent use, course content, uploaded files, plugins, database load, and scheduled tasks.
We only compare what providers publish. A RAM figure alone can't confirm compatibility or production capacity.
Deploy with
Supported paths
Self-managed PHP application behind Apache or Nginx
Moodle-hosted or certified-partner services, with separate operating and support models
The host must provide
Runtime
PHP
8.3 minimum for Moodle 5.2; 8.4 is also supported
PHP architecture
64-bit PHP only
PHP extension
Sodium is required; max_input_vars must be 5000 or higher
Database
PostgreSQL 16+, MySQL 8.4+, MariaDB 10.11+, Aurora MySQL 8.0+, or SQL Server 2019+
Web server
Apache or Nginx; configure the Moodle 5.2 public directory as the web root
Storage
Persistent data
Moodle stores course uploads and other files in its moodledata directory. Keep this directory outside the public web root, use persistent storage, and size it for uploaded content, temporary files, backups, and retention; there is no universal storage total.
Step by step
Moodle 5.2 deployment outline
Select the release and supported stack
Check the Moodle 5.2 release page, install 64-bit PHP 8.3 or 8.4 with Sodium, and select one of the documented database versions.
Set the public document root and private data path
For Moodle 5.1 and later, configure the web server to serve the public directory. Store moodledata outside the public web root and make it writable only by the application service.
Configure the command-line cron script to run regularly; Moodle recommends every minute and warns that scheduled tasks are required for normal operation.
Run Moodle’s environment checks for the selected release, configure HTTPS, and test restoring the database and moodledata together before real courses depend on the site.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.