{"id":3408,"date":"2026-11-03T07:02:17","date_gmt":"2026-11-03T07:02:17","guid":{"rendered":"https:\/\/dynamicpixel.co.in\/blog\/?p=3408"},"modified":"2026-11-03T07:02:19","modified_gmt":"2026-11-03T07:02:19","slug":"how-to-install-moodle","status":"publish","type":"post","link":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/","title":{"rendered":"How to Install Moodle: Step-by-Step Guide (Ubuntu &amp; cPanel) 2026"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">To install Moodle, set up a server with a web server (Apache or Nginx), 64-bit PHP 8.3 or 8.4 and a database (MySQL 8.4, MariaDB 11.4 or PostgreSQL 17). Download Moodle from download.moodle.org or Git, create an empty database and a moodledata folder outside the web root, then run the web installer or the CLI installer.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The whole process takes about 30 to 60 minutes on a clean Ubuntu server. On cPanel it takes 10 to 20 minutes if your host meets the requirements.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This guide covers Moodle 5.3 LTS, released on 5 October 2026 and supported with security fixes until October 2029 (see what&#8217;s new in our <\/span><strong><a href=\"https:\/\/dynamicpixel.co.in\/blog\/moodle-5-3-new-features\/\">Moodle 5.3 LTS features guide<\/a><\/strong><span style=\"font-weight: 400;\">). It walks you through three paths: Ubuntu (best for production), cPanel (best for small sites on shared hosting) and Windows or localhost (best for testing).<\/span><\/p>\n<p><b><\/b><b><\/b><b>About the author:<\/b><span style=\"font-weight: 400;\"> Written by the Moodle team at <\/span><strong><a href=\"https:\/\/dynamicpixel.co.in\/about.php\">Dynamic Pixel<\/a><\/strong><span style=\"font-weight: 400;\"><strong>,<\/strong> a Certified Moodle Partner with 15+ years of experience in LMS implementation, hosting and upgrades for enterprises, universities and government bodies.<\/span> <span style=\"font-weight: 400;\">Reviewed by <\/span><strong><a href=\"https:\/\/www.linkedin.com\/in\/udit-khandelwal-70a8952b\/\">Udit Khandelwal<\/a><\/strong><span style=\"font-weight: 400;\">, CEO &amp; Co-Founder.<\/span><\/p>\n<p><b><\/b><b><\/b><b>How this guide was prepared:<\/b><span style=\"font-weight: 400;\"> Requirements, version numbers, dates and commands are based on the official Moodle 5.3 release notes and Moodle Docs, linked in the Sources section.<\/span><span style=\"font-weight: 400;\"> Last updated: 30 October 2026.<\/span><\/p>\n<h2><b>Moodle 5.3 System Requirements (2026)<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Moodle 5.3 needs 64-bit PHP 8.3 or 8.4, a supported database and the PHP sodium extension. Check these before you download anything. A wrong PHP or database version is the most common reason an install fails.<\/span><\/p>\n<table>\n<thead>\n<tr>\n<th>\n<p><span style=\"font-weight: 400;\">Component<\/span><\/p>\n<\/th>\n<th>\n<p><span style=\"font-weight: 400;\">Minimum for Moodle 5.3<\/span><\/p>\n<\/th>\n<th>\n<p><span style=\"font-weight: 400;\">Our recommendation<\/span><\/p>\n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">PHP<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">8.3.0 (64-bit only); 8.4 also supported<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">PHP 8.3 on Ubuntu 24.04<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">PHP setting<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">max_input_vars \u2265 5000<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">5000<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">Required PHP extension<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">sodium (plus intl, mbstring, xml, zip, gd, curl, soap, opcache)<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Install all in one command (see Ubuntu steps)<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">MySQL<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">8.4<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Latest 8.4.x<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">MariaDB<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">11.4.0<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Latest 11.4.x<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">PostgreSQL<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">17<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">17 or newer<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">Microsoft SQL Server<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">2019<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Only if you are a Windows shop<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">Web server<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Apache or Nginx, document root pointed to Moodle&#8217;s \/public folder<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Apache for beginners, Nginx for scale<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">RAM<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Not fixed by Moodle<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">4 GB for a small pilot, 8 GB+ for a few hundred active users<\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400;\">Source: <\/span><a href=\"https:\/\/moodledev.io\/general\/releases\/5.3\"><span style=\"font-weight: 400;\">Moodle 5.3 release notes<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><span style=\"font-weight: 400;\"> Oracle Database is no longer supported from Moodle 5.0. The RAM numbers are practical starting points, not official minimums.<\/span><\/p>\n<h3><b>Two changes that break most &#8220;old&#8221; tutorials<\/b><\/h3>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>The \/public folder (since Moodle 5.1).<\/b><span style=\"font-weight: 400;\"> Only the \/public folder should be web-accessible. <\/span><span style=\"font-weight: 400;\">Your web server must point to <\/span><span style=\"font-weight: 400;\">moodle\/public<\/span><span style=\"font-weight: 400;\">, not <\/span><span style=\"font-weight: 400;\">moodle<\/span><span style=\"font-weight: 400;\">.<\/span><span style=\"font-weight: 400;\"> Guides written before late 2025 skip this step, and the site then shows errors or directory listings (<\/span><a href=\"https:\/\/docs.moodle.org\/502\/en\/Upgrade\"><span style=\"font-weight: 400;\">Moodle Docs<\/span><\/a><span style=\"font-weight: 400;\">).<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Ubuntu 26.04 ships PHP 8.5.<\/b><span style=\"font-weight: 400;\"> Moodle 5.3 lists PHP 8.3 and 8.4 as supported, so a default <\/span><span style=\"font-weight: 400;\">apt install php<\/span><span style=\"font-weight: 400;\"> on Ubuntu 26.04 gives you a version outside Moodle&#8217;s support list. <\/span><span style=\"font-weight: 400;\">For a production Moodle server today, use <\/span><b>Ubuntu 24.04 LTS<\/b><span style=\"font-weight: 400;\">, which ships PHP 8.3 by default.<\/span><\/li>\n<\/ul>\n<h2><b>Which Moodle Installation Method Should You Choose?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Pick Ubuntu for any live LMS, cPanel for a small site on shared hosting, and Windows or localhost only for testing and training.<\/span><\/p>\n<table>\n<thead>\n<tr>\n<th>\n<p><span style=\"font-weight: 400;\">Method<\/span><\/p>\n<\/th>\n<th>\n<p><span style=\"font-weight: 400;\">Best for<\/span><\/p>\n<\/th>\n<th>\n<p><span style=\"font-weight: 400;\">Skill level<\/span><\/p>\n<\/th>\n<th>\n<p><span style=\"font-weight: 400;\">Setup time (estimate)<\/span><\/p>\n<\/th>\n<th>\n<p><span style=\"font-weight: 400;\">Production-ready?<\/span><\/p>\n<\/th>\n<th>\n<p><span style=\"font-weight: 400;\">Main limitation<\/span><\/p>\n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">Ubuntu server (VPS or cloud)<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Schools, companies, 100+ users<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Intermediate (Linux commands)<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">30\u201360 min<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Yes<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">You manage updates and security<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">cPanel shared hosting<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Small pilots, under ~100 active users<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Beginner<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">10\u201320 min<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Limited<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Host must offer PHP 8.3+, MySQL 8.4\/MariaDB 11.4 and a changeable document root<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">Windows PC \/ localhost (XAMPP or similar)<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Testing plugins, themes, training admins<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Beginner<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">20\u201340 min<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">No<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Not secure or fast enough for real learners<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">Docker (official moodle-docker)<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Developers, plugin testing<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Advanced<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">15\u201330 min<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">No (development only)<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Built for development, not live sites<\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400;\">If you are unsure, start with localhost to learn the interface. Then move to an Ubuntu server when you are ready for real learners.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you prefer not to manage a server at all, Moodle HQ offers <\/span><span style=\"font-weight: 400;\">MoodleCloud<\/span><span style=\"font-weight: 400;\">, and Certified Moodle Partners such as Dynamic Pixel offer <\/span><strong><a href=\"https:\/\/dynamicpixel.co.in\/moodle-hosting.php\">managed Moodle hosting<\/a><\/strong><span style=\"font-weight: 400;\">.<\/span><\/p>\n<h2><b>How to Install Moodle on Ubuntu 24.04 (Step-by-Step)<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Install Apache, PHP 8.3 and MariaDB 11.4, download Moodle 5.3 with Git, point Apache to the \/public folder, then run the CLI installer and add a cron job. Below is the full sequence for a fresh Ubuntu 24.04 LTS server.<\/span><\/p>\n<p><b>Important:<\/b><span style=\"font-weight: 400;\"> Ubuntu 24.04&#8217;s built-in database packages (MariaDB 10.11, MySQL 8.0, PostgreSQL 16) are older than Moodle 5.3&#8217;s minimums. That is why Step 2 adds the official MariaDB 11.4 repository.<\/span><\/p>\n<h3><b>Step 1: Update the server and install Apache + PHP 8.3<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> apt update <\/span><b>&amp;&amp;<\/b> <span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> apt upgrade <\/span><span style=\"font-weight: 400;\">-y<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> apt install <\/span><span style=\"font-weight: 400;\">-y<\/span><span style=\"font-weight: 400;\"> apache2 git unzip curl <\/span><span style=\"font-weight: 400;\">\\<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">\u00a0 php8.3 libapache2-mod-php8.3 php8.3-cli php8.3-mysql <\/span><span style=\"font-weight: 400;\">\\<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">\u00a0 php8.3-xml php8.3-mbstring php8.3-curl php8.3-zip <\/span><span style=\"font-weight: 400;\">\\<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">\u00a0 php8.3-gd php8.3-intl php8.3-soap php8.3-opcache<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">php <\/span><span style=\"font-weight: 400;\">-v<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The sodium extension ships inside Ubuntu&#8217;s php8.3-common package, so it is enabled by default. <\/span><span style=\"font-weight: 400;\">Check it with <\/span><span style=\"font-weight: 400;\">php -m | grep sodium<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<h3><b>Step 2: Install MariaDB 11.4 and create the database<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">curl <\/span><span style=\"font-weight: 400;\">-LsS<\/span><span style=\"font-weight: 400;\"> https:\/\/r.mariadb.com\/downloads\/mariadb_repo_setup <\/span><b>|<\/b> <span style=\"font-weight: 400;\">\\<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">\u00a0 <\/span><span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> bash <\/span><span style=\"font-weight: 400;\">-s<\/span> <span style=\"font-weight: 400;\">&#8212;<\/span> <span style=\"font-weight: 400;\">&#8211;mariadb-server-version<\/span><span style=\"font-weight: 400;\">=<\/span><span style=\"font-weight: 400;\">&#8220;mariadb-11.4&#8221;<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> apt update <\/span><b>&amp;&amp;<\/b> <span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> apt install <\/span><span style=\"font-weight: 400;\">-y<\/span><span style=\"font-weight: 400;\"> mariadb-server<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> mariadb-secure-installation<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Then open the database shell with <\/span><span style=\"font-weight: 400;\">sudo mariadb<\/span><span style=\"font-weight: 400;\"> and run:<\/span><\/p>\n<p><b><\/b><b><\/b><b>CREATE<\/b> <b>DATABASE<\/b><span style=\"font-weight: 400;\"> moodle <\/span><b>DEFAULT<\/b> <span style=\"font-weight: 400;\">CHARACTER<\/span> <b>SET<\/b><span style=\"font-weight: 400;\"> utf8mb4 COLLATE utf8mb4_unicode_ci;<\/span><span style=\"font-weight: 400;\"><br \/><\/span><b><\/b><b><\/b><b>CREATE<\/b> <span style=\"font-weight: 400;\">USER<\/span> <span style=\"font-weight: 400;\">&#8216;moodleuser&#8217;<\/span><span style=\"font-weight: 400;\">@<\/span><span style=\"font-weight: 400;\">&#8216;localhost&#8217;<\/span> <b>IDENTIFIED<\/b> <b>BY<\/b> <span style=\"font-weight: 400;\">&#8216;Use-A-Strong-Password&#8217;<\/span><span style=\"font-weight: 400;\">;<\/span><span style=\"font-weight: 400;\"><br \/><\/span><b><\/b><b><\/b><b>GRANT<\/b> <b>ALL<\/b> <b>PRIVILEGES<\/b> <b>ON<\/b><span style=\"font-weight: 400;\"> moodle.<\/span><span style=\"font-weight: 400;\">*<\/span> <b>TO<\/b> <span style=\"font-weight: 400;\">&#8216;moodleuser&#8217;<\/span><span style=\"font-weight: 400;\">@<\/span><span style=\"font-weight: 400;\">&#8216;localhost&#8217;<\/span><span style=\"font-weight: 400;\">;<\/span><span style=\"font-weight: 400;\"><br \/><\/span><b><\/b><b><\/b><b>FLUSH<\/b> <b>PRIVILEGES<\/b><span style=\"font-weight: 400;\">;<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">EXIT;<\/span><\/p>\n<h3><b>Step 3: Download Moodle (Git method)<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Git makes future upgrades a one-line job, so it is a better choice than the ZIP from download.moodle.org.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">cd<\/span><span style=\"font-weight: 400;\"> \/var\/www<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> git clone <\/span><span style=\"font-weight: 400;\">-b<\/span><span style=\"font-weight: 400;\"> MOODLE_503_STABLE https:\/\/github.com\/moodle\/moodle.git moodle<\/span><\/p>\n<h3><b>Step 4: Create the moodledata folder<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">This folder stores uploads, cache and sessions. <\/span><span style=\"font-weight: 400;\">It must sit <\/span><b>outside<\/b><span style=\"font-weight: 400;\"> the web root and be writable by the web server.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> mkdir \/var\/moodledata<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">sudo<\/span> <span style=\"font-weight: 400;\">chown <\/span><span style=\"font-weight: 400;\">-R<\/span><span style=\"font-weight: 400;\"> www-data:www-data \/var\/moodledata<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> chmod <\/span><span style=\"font-weight: 400;\">-R<\/span><span style=\"font-weight: 400;\"> 0770 \/var\/moodledata<\/span><\/p>\n<h3><b>Step 5: Set PHP limits<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Edit <\/span><span style=\"font-weight: 400;\">\/etc\/php\/8.3\/apache2\/php.ini<\/span><span style=\"font-weight: 400;\"> and <\/span><span style=\"font-weight: 400;\">\/etc\/php\/8.3\/cli\/php.ini<\/span><span style=\"font-weight: 400;\">.<\/span><span style=\"font-weight: 400;\"> Set:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">max_input_vars <\/span><span style=\"font-weight: 400;\">=<\/span> <span style=\"font-weight: 400;\">5000<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">upload_max_filesize <\/span><span style=\"font-weight: 400;\">=<\/span><span style=\"font-weight: 400;\"> 256M<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">post_max_size <\/span><span style=\"font-weight: 400;\">=<\/span><span style=\"font-weight: 400;\"> 256M<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">memory_limit <\/span><span style=\"font-weight: 400;\">=<\/span><span style=\"font-weight: 400;\"> 512M<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The 5000 value is a hard requirement. The upload and memory values are sensible starting points; change them to match your course files.<\/span><\/p>\n<h3><b>Step 6: Point Apache to Moodle&#8217;s \/public folder<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Create <\/span><span style=\"font-weight: 400;\">\/etc\/apache2\/sites-available\/moodle.conf<\/span><span style=\"font-weight: 400;\">:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">&lt;VirtualHost<\/span><span style=\"font-weight: 400;\"> *:80<\/span><span style=\"font-weight: 400;\">&gt;<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 ServerName<\/span><span style=\"font-weight: 400;\"> lms.yourdomain.com<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 DocumentRoot<\/span><span style=\"font-weight: 400;\"> \/var\/www\/moodle\/public<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 <\/span><span style=\"font-weight: 400;\">&lt;Directory<\/span><span style=\"font-weight: 400;\"> \/var\/www\/moodle\/public<\/span><span style=\"font-weight: 400;\">&gt;<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 \u00a0 \u00a0 AllowOverride<\/span> <b>None<\/b><b><\/b><b><\/b><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 \u00a0 \u00a0 Require<\/span><span style=\"font-weight: 400;\"> all granted<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 \u00a0 \u00a0 FallbackResource \/r.php<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 <\/span><span style=\"font-weight: 400;\">&lt;\/Directory&gt;<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">&lt;\/VirtualHost&gt;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> a2ensite moodle.conf <\/span><b>&amp;&amp;<\/b> <span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> a2dissite 000-default.conf<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> systemctl reload apache2<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The <\/span><span style=\"font-weight: 400;\">FallbackResource \/r.php<\/span><span style=\"font-weight: 400;\"> line sends clean URLs to Moodle&#8217;s new router (added in 5.1).<\/span> <span style=\"font-weight: 400;\">See <\/span><a href=\"https:\/\/docs.moodle.org\/502\/en\/Upgrade\"><span style=\"font-weight: 400;\">Moodle Docs on the code restructure<\/span><\/a><span style=\"font-weight: 400;\"> for Nginx and alias examples.<\/span><\/p>\n<h3><b>Step 7: Run the installer<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Open <\/span><span style=\"font-weight: 400;\">http:\/\/lms.yourdomain.com<\/span><span style=\"font-weight: 400;\"> in a browser and follow the screens.<\/span><span style=\"font-weight: 400;\"> Or use the faster command-line installer:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">sudo<\/span> <span style=\"font-weight: 400;\">-u<\/span><span style=\"font-weight: 400;\"> www-data php \/var\/www\/moodle\/public\/admin\/cli\/install.php<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It asks for the site URL, data folder, database details and admin account, then creates config.php.<\/span><\/p>\n<h3><b>Step 8: Lock file permissions and add cron<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> chown <\/span><span style=\"font-weight: 400;\">-R<\/span><span style=\"font-weight: 400;\"> root:root \/var\/www\/moodle<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> crontab <\/span><span style=\"font-weight: 400;\">-u<\/span><span style=\"font-weight: 400;\"> www-data <\/span><span style=\"font-weight: 400;\">-e<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Add this line so Moodle&#8217;s background tasks run every minute:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">* * * * * \/usr\/bin\/php \/var\/www\/moodle\/public\/admin\/cli\/cron.php &gt;\/dev\/null<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Moodle Docs warns that a site will not work properly without cron. Code folders should not be writable by the web server; only moodledata should be.<\/span><\/p>\n<h3><b>Step 9: Add HTTPS<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> apt install <\/span><span style=\"font-weight: 400;\">-y<\/span><span style=\"font-weight: 400;\"> certbot python3-certbot-apache<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\">sudo<\/span><span style=\"font-weight: 400;\"> certbot <\/span><span style=\"font-weight: 400;\">&#8211;apache<\/span> <span style=\"font-weight: 400;\">-d<\/span><span style=\"font-weight: 400;\"> lms.yourdomain.com<\/span><\/p>\n<p><span style=\"font-weight: 400;\">After HTTPS works, make sure <\/span><span style=\"font-weight: 400;\">$CFG-&gt;wwwroot<\/span><span style=\"font-weight: 400;\"> in config.php starts with <\/span><span style=\"font-weight: 400;\">https:\/\/<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-3410\" src=\"https:\/\/dynamicpixel.co.in\/blog\/wp-content\/uploads\/2026\/11\/How-to-Install-Moodle-on-cPanel.png\" alt=\"How to Install Moodle on cPanel\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/dynamicpixel.co.in\/blog\/wp-content\/uploads\/2026\/11\/How-to-Install-Moodle-on-cPanel.png 1536w, https:\/\/dynamicpixel.co.in\/blog\/wp-content\/uploads\/2026\/11\/How-to-Install-Moodle-on-cPanel-300x200.png 300w, https:\/\/dynamicpixel.co.in\/blog\/wp-content\/uploads\/2026\/11\/How-to-Install-Moodle-on-cPanel-1024x683.png 1024w, https:\/\/dynamicpixel.co.in\/blog\/wp-content\/uploads\/2026\/11\/How-to-Install-Moodle-on-cPanel-768x512.png 768w, https:\/\/dynamicpixel.co.in\/blog\/wp-content\/uploads\/2026\/11\/How-to-Install-Moodle-on-cPanel-400x267.png 400w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><\/p>\n<h2><b>How to Install Moodle on cPanel (Shared Hosting)<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">On cPanel, you upload the Moodle ZIP, create a MySQL database in the MySQL Database Wizard, set the domain&#8217;s document root to Moodle&#8217;s \/public folder, then run the web installer. First confirm your host gives you PHP 8.3+ and MySQL 8.4 or MariaDB 11.4. Many budget plans do not yet.<\/span><\/p>\n<h3><b>Pre-check (2 minutes)<\/b><\/h3>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">In cPanel, open <\/span><b>Select PHP Version<\/b><span style=\"font-weight: 400;\"> or <\/span><b>MultiPHP Manager<\/b><span style=\"font-weight: 400;\"> and choose PHP 8.3 or 8.4.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">In <\/span><b>PHP Options<\/b><span style=\"font-weight: 400;\">, set <\/span><span style=\"font-weight: 400;\">max_input_vars<\/span><span style=\"font-weight: 400;\"> to 5000.<\/span><span style=\"font-weight: 400;\"> Confirm the sodium and intl extensions are ticked.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Ask your host for the exact MySQL or MariaDB version. If it is below Moodle 5.3&#8217;s minimum, install Moodle 4.5 LTS instead or move to a VPS.<\/span><\/li>\n<\/ul>\n<h3><b>Steps<\/b><\/h3>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Download Moodle.<\/b><span style=\"font-weight: 400;\"> Get the Moodle 5.3 ZIP from <\/span><span style=\"font-weight: 400;\">download.moodle.org<\/span><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Create a subdomain.<\/b><span style=\"font-weight: 400;\"> In <\/span><b>Domains<\/b><span style=\"font-weight: 400;\">, click <\/span><b>Create a New Domain<\/b><span style=\"font-weight: 400;\"> (for example lms.yourdomain.com). Moodle Docs notes the main domain may not let you change its document root, so a subdomain is easier.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Upload and extract.<\/b><span style=\"font-weight: 400;\"> In <\/span><b>File Manager<\/b><span style=\"font-weight: 400;\">, upload the ZIP into the subdomain&#8217;s folder and extract it.<\/span> <span style=\"font-weight: 400;\">You should see a <\/span><span style=\"font-weight: 400;\">moodle<\/span><span style=\"font-weight: 400;\"> folder that contains a <\/span><span style=\"font-weight: 400;\">public<\/span><span style=\"font-weight: 400;\"> subfolder.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Set the document root.<\/b><span style=\"font-weight: 400;\"> Back in <\/span><b>Domains<\/b><span style=\"font-weight: 400;\">, edit the subdomain and set its document root to <\/span><span style=\"font-weight: 400;\">&#8230;\/moodle\/public<\/span><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Create moodledata.<\/b><span style=\"font-weight: 400;\"> In File Manager, create a <\/span><span style=\"font-weight: 400;\">moodledata<\/span><span style=\"font-weight: 400;\"> folder in your home directory, outside public_html.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Create the database.<\/b><span style=\"font-weight: 400;\"> Use <\/span><b>MySQL Database Wizard<\/b><span style=\"font-weight: 400;\">: create a database and a user, then tick <\/span><b>ALL PRIVILEGES<\/b><span style=\"font-weight: 400;\">. Note the full names; cPanel adds your account prefix (for example <\/span><span style=\"font-weight: 400;\">acct_moodle<\/span><span style=\"font-weight: 400;\">).<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Run the installer.<\/b><span style=\"font-weight: 400;\"> Visit your subdomain. Choose the language, enter the moodledata path (for example <\/span><span style=\"font-weight: 400;\">\/home\/acct\/moodledata<\/span><span style=\"font-weight: 400;\">), choose <\/span><b>MariaDB<\/b><span style=\"font-weight: 400;\"> or <\/span><b>MySQL<\/b><span style=\"font-weight: 400;\">, and enter the database details.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Finish setup.<\/b><span style=\"font-weight: 400;\"> Pass the server checks, create the admin account and set the site name.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Add cron.<\/b><span style=\"font-weight: 400;\"> In <\/span><b>Cron Jobs<\/b><span style=\"font-weight: 400;\">, add a job that runs every minute:<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">\/usr\/local\/bin\/php \/home\/acct\/moodle\/public\/admin\/cli\/cron.php &gt;\/dev\/null 2&gt;&amp;1<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Your host&#8217;s PHP path may differ. Check it in cPanel or ask support.<\/span><\/p>\n<p><b><\/b><b><\/b><b>Our view:<\/b><span style=\"font-weight: 400;\"> cPanel works well for a pilot with a few dozen learners.<\/span><span style=\"font-weight: 400;\"> Once you pass roughly 100 active users or run timed quizzes, shared CPU limits usually cause slow pages. That is the point to move to a VPS or <\/span><strong><a href=\"https:\/\/dynamicpixel.co.in\/moodle-hosting.php\">managed Moodle hosting<\/a><\/strong><span style=\"font-weight: 400;\">.<\/span><\/p>\n<h2><b>How to Install Moodle on Windows PC (Localhost)<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">To install Moodle on a Windows PC, install a local stack such as XAMPP with PHP 8.3 or 8.4 and a supported database, place the Moodle code in its web folder, point the local site to Moodle&#8217;s \/public folder, then open localhost and run the installer. Use this only for testing, never for real learners.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Older Moodle versions had an official all-in-one Windows package. For Moodle 5.3, check <\/span><a href=\"https:\/\/download.moodle.org\/\"><span style=\"font-weight: 400;\">download.moodle.org<\/span><\/a><span style=\"font-weight: 400;\"> first; if no Windows package is listed, use the manual method below.<\/span><\/p>\n<h3><b>Localhost Moodle install with XAMPP<\/b><\/h3>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Install a local server.<\/b><span style=\"font-weight: 400;\"> Download XAMPP (or Laragon) with PHP 8.3 or 8.4. Check that its bundled MariaDB meets Moodle 5.3&#8217;s minimum of 11.4; if not, install MariaDB 11.4 separately.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Fix PHP settings.<\/b><span style=\"font-weight: 400;\"> In <\/span><span style=\"font-weight: 400;\">php.ini<\/span><span style=\"font-weight: 400;\">, set <\/span><span style=\"font-weight: 400;\">max_input_vars = 5000<\/span><span style=\"font-weight: 400;\"> and enable <\/span><span style=\"font-weight: 400;\">extension=intl<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">extension=sodium<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">extension=zip<\/span><span style=\"font-weight: 400;\"> and <\/span><span style=\"font-weight: 400;\">extension=gd<\/span><span style=\"font-weight: 400;\">.<\/span><span style=\"font-weight: 400;\"> Restart Apache.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Add the Moodle code.<\/b><span style=\"font-weight: 400;\"> Extract the Moodle ZIP to <\/span><span style=\"font-weight: 400;\">C:\\xampp\\moodle<\/span><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Create moodledata.<\/b><span style=\"font-weight: 400;\"> Make <\/span><span style=\"font-weight: 400;\">C:\\xampp\\moodledata<\/span><span style=\"font-weight: 400;\">, outside htdocs.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Point Apache to \/public.<\/b><span style=\"font-weight: 400;\"> In <\/span><span style=\"font-weight: 400;\">httpd.conf<\/span><span style=\"font-weight: 400;\">, set <\/span><span style=\"font-weight: 400;\">DocumentRoot<\/span><span style=\"font-weight: 400;\"> and <\/span><span style=\"font-weight: 400;\">&lt;Directory&gt;<\/span><span style=\"font-weight: 400;\"> to <\/span><span style=\"font-weight: 400;\">C:\/xampp\/moodle\/public<\/span><span style=\"font-weight: 400;\">, and add <\/span><span style=\"font-weight: 400;\">FallbackResource \/r.php<\/span><span style=\"font-weight: 400;\"> inside the Directory block.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Create the database.<\/b><span style=\"font-weight: 400;\"> In phpMyAdmin, create a database named <\/span><span style=\"font-weight: 400;\">moodle<\/span><span style=\"font-weight: 400;\"> with <\/span><span style=\"font-weight: 400;\">utf8mb4_unicode_ci<\/span><span style=\"font-weight: 400;\"> collation.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Install.<\/b><span style=\"font-weight: 400;\"> Open <\/span><span style=\"font-weight: 400;\">http:\/\/localhost<\/span><span style=\"font-weight: 400;\">, follow the installer and create the admin account.<\/span><\/li>\n<\/ol>\n<h3><b>Faster alternatives for developers<\/b><\/h3>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b><\/b><b><\/b><b>WSL2 (Windows Subsystem for Linux):<\/b><span style=\"font-weight: 400;\"> Run Ubuntu 24.04 inside Windows and follow the Ubuntu steps above.<\/span><span style=\"font-weight: 400;\"> This matches a real server most closely.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b><\/b><b><\/b><b>Docker:<\/b><span style=\"font-weight: 400;\"> Moodle HQ maintains <\/span>moodle-docker<span style=\"font-weight: 400;\"> for development and plugin testing.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">A localhost site is the safest place to test plugins, themes and upgrades before you touch a live LMS.<\/span><\/p>\n<h2><b>Common Moodle Installation Errors and Fixes<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Most install failures come from five causes: wrong PHP version, low max_input_vars, a missing PHP extension, the web root not pointing to \/public, or wrong folder permissions. Use this table to match the symptom to the fix.<\/span><\/p>\n<table>\n<thead>\n<tr>\n<th>\n<p><span style=\"font-weight: 400;\">Error or symptom<\/span><\/p>\n<\/th>\n<th>\n<p><span style=\"font-weight: 400;\">Likely cause<\/span><\/p>\n<\/th>\n<th>\n<p><span style=\"font-weight: 400;\">Fix<\/span><\/p>\n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">Directory listing or <\/span><span style=\"font-weight: 400;\">moodle_exception<\/span><span style=\"font-weight: 400;\"> on the home page<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Web server points to <\/span><span style=\"font-weight: 400;\">moodle<\/span><span style=\"font-weight: 400;\"> instead of <\/span><span style=\"font-weight: 400;\">moodle\/public<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Change the document root to <\/span><span style=\"font-weight: 400;\">\/public<\/span><span style=\"font-weight: 400;\"> and reload the web server<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">&#8220;max_input_vars must be at least 5000&#8221;<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">PHP default is 1000<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Set <\/span><span style=\"font-weight: 400;\">max_input_vars = 5000<\/span><span style=\"font-weight: 400;\"> in php.ini (web and CLI)<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">&#8220;PHP extension sodium \/ intl is not installed&#8221;<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Extension missing or disabled<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Install or enable it, then restart Apache or PHP-FPM<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">&#8220;Database version is too old&#8221;<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">MySQL below 8.4, MariaDB below 11.4, PostgreSQL below 17<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Upgrade the database, or install Moodle 4.5 LTS if you cannot<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">&#8220;Data directory is not writable&#8221;<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Wrong owner on moodledata<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">chown -R www-data:www-data \/var\/moodledata<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">Clean URLs return 404<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Router fallback missing<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Add <\/span><span style=\"font-weight: 400;\">FallbackResource \/r.php<\/span><span style=\"font-weight: 400;\"> (Apache) or <\/span><span style=\"font-weight: 400;\">try_files &#8230; \/r.php<\/span><span style=\"font-weight: 400;\"> (Nginx)<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">Installer times out<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Low PHP execution time on shared hosting<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Use the CLI installer, or ask the host to raise <\/span><span style=\"font-weight: 400;\">max_execution_time<\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400;\">If your site installs but feels slow, see our guide to <\/span><strong><a href=\"https:\/\/dynamicpixel.co.in\/moodle-performance.php\">Moodle performance optimization<\/a><\/strong><span style=\"font-weight: 400;\">.<\/span><\/p>\n<h2><b>Post-Install Checklist<\/b><\/h2>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u2610 Cron runs every minute (check Site administration &gt; Server &gt; Tasks)<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u2610 HTTPS works and wwwroot uses https:\/\/<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u2610 Outgoing email works (Site administration &gt; Server &gt; Email)<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u2610 Daily backups of the database and moodledata are scheduled<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u2610 Site administration &gt; Notifications shows no warnings<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u2610 Security checks report (Site administration &gt; Reports &gt; Security checks) reviewed<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u2610 Site registered at moodle.org to receive security alerts<\/span><\/li>\n<\/ul>\n<h2><b>Who Runs Moodle, and How Big Do Sites Get?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Moodle is one of the most widely used open-source LMS platforms, with over 161,000 registered sites and 412 million users in 242 countries (<\/span><strong><a href=\"https:\/\/moodle.org\/stats\/\">moodle.org statistics<\/a><\/strong><span style=\"font-weight: 400;\">, checked 30 October 2026).<\/span><span style=\"font-weight: 400;\"> Real numbers are higher, because registration is optional.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The size data helps you choose an install method:<\/span><\/p>\n<table>\n<thead>\n<tr>\n<th>\n<p><span style=\"font-weight: 400;\">Registered site size (users)<\/span><\/p>\n<\/th>\n<th>\n<p><span style=\"font-weight: 400;\">Number of sites<\/span><\/p>\n<\/th>\n<th>\n<p><span style=\"font-weight: 400;\">Share of all registered sites<\/span><\/p>\n<\/th>\n<th>\n<p><span style=\"font-weight: 400;\">Typical install path<\/span><\/p>\n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">0 \u2013 1,000<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">134,575<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">~84%<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">cPanel, small VPS or managed hosting<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">1,000 \u2013 10,000<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">19,968<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">~12%<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Ubuntu VPS or managed hosting<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">10,000 \u2013 100,000<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">5,798<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">~4%<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Dedicated or cloud servers, tuned database<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">100,000+<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">638<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">under 1%<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Clustered cloud setup with expert support<\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400;\">Shares are our calculation from the moodle.org figures. The takeaway: about 84% of registered Moodle sites have under 1,000 users, so most organisations can start on a simple, well-configured single server.<\/span><\/p>\n<h3><b>When to install Moodle yourself vs hire a partner<\/b><\/h3>\n<table>\n<thead>\n<tr>\n<th>\n<p><span style=\"font-weight: 400;\">Situation<\/span><\/p>\n<\/th>\n<th>\n<p><span style=\"font-weight: 400;\">DIY install<\/span><\/p>\n<\/th>\n<th>\n<p><span style=\"font-weight: 400;\">Hire a Certified Moodle Partner<\/span><\/p>\n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">Testing or learning Moodle<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Yes<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Not needed<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">Pilot with under 100 users<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Yes, if you know Linux or cPanel<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Optional<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">1,000+ users, exams or SSO\/HRMS integration<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Risky<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Recommended<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">Upgrade from Moodle 3.x\/4.x with custom plugins<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Risky<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Recommended (<\/span><strong><a href=\"https:\/\/dynamicpixel.co.in\/moodle-upgrade-services.php\">upgrade service<\/a><\/strong><span style=\"font-weight: 400;\">)<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><span style=\"font-weight: 400;\">Custom theme, plugins or mobile app<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Not suitable<\/span><\/p>\n<\/td>\n<td>\n<p><span style=\"font-weight: 400;\">Recommended (<\/span><strong><a href=\"https:\/\/dynamicpixel.co.in\/moodle-customization.php\">customization<\/a><\/strong><span style=\"font-weight: 400;\">)<\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><b>Frequently Asked Questions<\/b><\/h2>\n<h3><b>How do I install Moodle LMS step by step?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Prepare a server with 64-bit PHP 8.3 or 8.4, a supported database and a web server. Download Moodle, create an empty database and a moodledata folder outside the web root, and point the web server to Moodle&#8217;s \/public folder. Then run the web or CLI installer, create the admin account and set up a cron job that runs every minute.<\/span><\/p>\n<h3><b>Where can I get the official Moodle download?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Download Moodle only from <\/span><a href=\"https:\/\/download.moodle.org\/\"><span style=\"font-weight: 400;\">download.moodle.org<\/span><\/a><span style=\"font-weight: 400;\"> or the official Git repository on GitHub.<\/span><span style=\"font-weight: 400;\"> Moodle Docs advises against unofficial installers, because they may not upgrade cleanly. For new sites in 2026, choose Moodle 5.3 LTS, which receives security fixes until October 2029.<\/span><\/p>\n<h3><b>How do I install Moodle on Windows or a PC?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Install a local stack such as XAMPP with PHP 8.3 or 8.4, extract Moodle into its folder, create a moodledata folder and a utf8mb4 database, point Apache to Moodle&#8217;s \/public folder, and open localhost to run the installer. A Windows PC install is fine for testing, but use a Linux server for real learners.<\/span><\/p>\n<h3><b>What is a localhost Moodle install used for?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">A localhost Moodle install runs only on your own computer at http:\/\/localhost. Teams use it to learn the admin panel, test plugins and themes, and rehearse upgrades without risking a live site. It is not reachable from the internet, so learners cannot use it.<\/span><\/p>\n<h3><b>How do I install Moodle on a local server for my office?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Install Ubuntu 24.04 on an office machine, follow the Ubuntu steps in this guide, and use the server&#8217;s local IP address (for example <\/span><a href=\"http:\/\/192.168.1.50\"><span style=\"font-weight: 400;\">http:\/\/192.168.1.50<\/span><\/a><span style=\"font-weight: 400;\">) as the site URL. Staff on the same network can then log in. Give the server a fixed IP so the URL never changes.<\/span><\/p>\n<h3><b>Which Ubuntu version is best for Moodle 5.3?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Ubuntu 24.04 LTS is the safer choice today. It ships PHP 8.3, which Moodle 5.3 supports. Ubuntu 26.04 ships PHP 8.5 by default, which is outside Moodle 5.3&#8217;s listed PHP versions (8.3 and 8.4). On either release, you still need a newer database than Ubuntu&#8217;s default packages.<\/span><\/p>\n<h3><b>Is Moodle free to install?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Yes. Moodle LMS is open source under the GNU GPL licence, so the software is free to download, install and change. Your real costs are hosting, a domain, an SSL certificate (free with Let&#8217;s Encrypt), and the time or partner fees for setup, updates and support.<\/span><\/p>\n<h3><b>How long does it take to install Moodle?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">On a clean Ubuntu server, an experienced admin usually needs 30 to 60 minutes, including database setup and HTTPS. On cPanel hosting that already meets the requirements, it takes about 10 to 20 minutes. Configuring courses, users, themes and integrations takes much longer than the install itself.<\/span><\/p>\n<h3><b>Why does my new Moodle site show a directory listing or an error?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Since Moodle 5.1, only the \/public folder should be web-accessible. If your web server still points to the main moodle folder, you will see a directory listing or a moodle_exception. Change the document root to moodle\/public, reload the web server, and the installer will load.<\/span><\/p>\n<h2><b>Next Step<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">If you want a production-ready Moodle without managing servers yourself, <\/span><strong><a href=\"https:\/\/dynamicpixel.co.in\/contactus.php\">talk to Dynamic Pixel&#8217;s Moodle team<\/a><\/strong><span style=\"font-weight: 400;\"> about <\/span><a href=\"https:\/\/dynamicpixel.co.in\/moodle-lms-implementation.php\"><span style=\"font-weight: 400;\"><strong>Moodle LMS implementation<\/strong><\/span><\/a><span style=\"font-weight: 400;\">, hosting and <\/span><strong><a href=\"https:\/\/dynamicpixel.co.in\/moodle-support.php\">ongoing support<\/a>.<\/strong><\/p>\n<h2><b>Sources<\/b><\/h2>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/moodledev.io\/general\/releases\/5.3\"><span style=\"font-weight: 400;\">Moodle 5.3 release notes and server requirements \u2013 moodledev.io<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/docs.moodle.org\/fr\/Planification\"><span style=\"font-weight: 400;\">Moodle releases and support dates \u2013 Moodle Docs<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/docs.moodle.org\/502\/en\/Upgrade\"><span style=\"font-weight: 400;\">Upgrade and \/public directory restructure \u2013 Moodle Docs<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/docs.moodle.org\/405\/en\/Installation_quick_guide\"><span style=\"font-weight: 400;\">Installation quick guide (cron, CLI installer) \u2013 Moodle Docs<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/moodle.org\/stats\/\"><span style=\"font-weight: 400;\">Moodle statistics \u2013 moodle.org<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.linuxcapable.com\/how-to-install-php-7-4-on-ubuntu-20-04-lts\/\"><span style=\"font-weight: 400;\">Default PHP versions by Ubuntu release \u2013 LinuxCapable<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/download.moodle.org\/\"><span style=\"font-weight: 400;\">Official Moodle downloads<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/github.com\/moodlehq\/moodle-docker\"><span style=\"font-weight: 400;\">moodle-docker \u2013 Moodle HQ on GitHub<\/span><\/a><\/li>\n<\/ul>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>To install Moodle, set up a server with a web server (Apache or Nginx), 64-bit PHP 8.3 or 8.4 and a database (MySQL 8.4, MariaDB 11.4 or PostgreSQL 17). Download Moodle from download.moodle.org or Git, create an empty database and a moodledata folder outside the web root, then run the web installer or the CLI [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":3409,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[568],"tags":[849,853,852,850,851,854,855,856],"class_list":["post-3408","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-how-to-install-moodle","tag-how-to-install-moodle-lms","tag-how-to-install-moodle-on-pc","tag-how-to-install-moodle-on-ubuntu","tag-how-to-install-moodle-on-windows","tag-localhost-moodle-install","tag-moodle-download","tag-moodle-install-on-local-server"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Learn how to install Moodle 5.3 on Ubuntu, cPanel or a Windows PC. Exact requirements, commands, common errors and fixes from a Certified Moodle Partner.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Mahi Vats\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Dynamic Pixel Official Blog - Revamp the way you E-Learn\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"How to Install Moodle: Ubuntu, cPanel &amp; Windows Guide 2026\" \/>\n\t\t<meta property=\"og:description\" content=\"Learn how to install Moodle 5.3 on Ubuntu, cPanel or a Windows PC. Exact requirements, commands, common errors and fixes from a Certified Moodle Partner.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-11-03T07:02:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-11-03T07:02:19+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"How to Install Moodle: Ubuntu, cPanel &amp; Windows Guide 2026\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Learn how to install Moodle 5.3 on Ubuntu, cPanel or a Windows PC. Exact requirements, commands, common errors and fixes from a Certified Moodle Partner.\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/how-to-install-moodle\\\/#blogposting\",\"name\":\"How to Install Moodle: Ubuntu, cPanel & Windows Guide 2026\",\"headline\":\"How to Install Moodle: Step-by-Step Guide (Ubuntu &amp; cPanel) 2026\",\"author\":{\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/author\\\/mahi-vats\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/How-to-Install-Moodle-Step-by-Step-Guide-Ubuntu-cPanel-2026.png\",\"width\":1536,\"height\":1024,\"caption\":\"How to Install Moodle\"},\"datePublished\":\"2026-11-03T07:02:17+00:00\",\"dateModified\":\"2026-11-03T07:02:19+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/how-to-install-moodle\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/how-to-install-moodle\\\/#webpage\"},\"articleSection\":\"BLOG, How to Install Moodle, How to install Moodle LMS, How to install Moodle on PC, How to install Moodle on Ubuntu, How to install Moodle on Windows, Localhost Moodle install, Moodle download, Moodle install on local server\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/how-to-install-moodle\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/category\\\/blog\\\/#listItem\",\"name\":\"BLOG\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/category\\\/blog\\\/#listItem\",\"position\":2,\"name\":\"BLOG\",\"item\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/category\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/how-to-install-moodle\\\/#listItem\",\"name\":\"How to Install Moodle: Step-by-Step Guide (Ubuntu &amp; cPanel) 2026\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/how-to-install-moodle\\\/#listItem\",\"position\":3,\"name\":\"How to Install Moodle: Step-by-Step Guide (Ubuntu &amp; cPanel) 2026\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/category\\\/blog\\\/#listItem\",\"name\":\"BLOG\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/#organization\",\"name\":\"Dynamic Pixel Official Blog\",\"description\":\"Revamp the way you E-Learn\",\"url\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/author\\\/mahi-vats\\\/#author\",\"url\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/author\\\/mahi-vats\\\/\",\"name\":\"Mahi Vats\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/how-to-install-moodle\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8802448e3d7aa9812317d7938459f450a0d0e595b40c5c10dcef474e3be3aee6?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Mahi Vats\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/how-to-install-moodle\\\/#webpage\",\"url\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/how-to-install-moodle\\\/\",\"name\":\"How to Install Moodle: Ubuntu, cPanel & Windows Guide 2026\",\"description\":\"Learn how to install Moodle 5.3 on Ubuntu, cPanel or a Windows PC. Exact requirements, commands, common errors and fixes from a Certified Moodle Partner.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/how-to-install-moodle\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/author\\\/mahi-vats\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/author\\\/mahi-vats\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/How-to-Install-Moodle-Step-by-Step-Guide-Ubuntu-cPanel-2026.png\",\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/how-to-install-moodle\\\/#mainImage\",\"width\":1536,\"height\":1024,\"caption\":\"How to Install Moodle\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/how-to-install-moodle\\\/#mainImage\"},\"datePublished\":\"2026-11-03T07:02:17+00:00\",\"dateModified\":\"2026-11-03T07:02:19+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/\",\"name\":\"Dynamic Pixel Official Blog\",\"description\":\"Revamp the way you E-Learn\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/dynamicpixel.co.in\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"How to Install Moodle: Ubuntu, cPanel & Windows Guide 2026","description":"Learn how to install Moodle 5.3 on Ubuntu, cPanel or a Windows PC. Exact requirements, commands, common errors and fixes from a Certified Moodle Partner.","canonical_url":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/#blogposting","name":"How to Install Moodle: Ubuntu, cPanel & Windows Guide 2026","headline":"How to Install Moodle: Step-by-Step Guide (Ubuntu &amp; cPanel) 2026","author":{"@id":"https:\/\/dynamicpixel.co.in\/blog\/author\/mahi-vats\/#author"},"publisher":{"@id":"https:\/\/dynamicpixel.co.in\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/dynamicpixel.co.in\/blog\/wp-content\/uploads\/2026\/11\/How-to-Install-Moodle-Step-by-Step-Guide-Ubuntu-cPanel-2026.png","width":1536,"height":1024,"caption":"How to Install Moodle"},"datePublished":"2026-11-03T07:02:17+00:00","dateModified":"2026-11-03T07:02:19+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/#webpage"},"isPartOf":{"@id":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/#webpage"},"articleSection":"BLOG, How to Install Moodle, How to install Moodle LMS, How to install Moodle on PC, How to install Moodle on Ubuntu, How to install Moodle on Windows, Localhost Moodle install, Moodle download, Moodle install on local server"},{"@type":"BreadcrumbList","@id":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/dynamicpixel.co.in\/blog\/#listItem","position":1,"name":"Home","item":"https:\/\/dynamicpixel.co.in\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/dynamicpixel.co.in\/blog\/category\/blog\/#listItem","name":"BLOG"}},{"@type":"ListItem","@id":"https:\/\/dynamicpixel.co.in\/blog\/category\/blog\/#listItem","position":2,"name":"BLOG","item":"https:\/\/dynamicpixel.co.in\/blog\/category\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/#listItem","name":"How to Install Moodle: Step-by-Step Guide (Ubuntu &amp; cPanel) 2026"},"previousItem":{"@type":"ListItem","@id":"https:\/\/dynamicpixel.co.in\/blog\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/#listItem","position":3,"name":"How to Install Moodle: Step-by-Step Guide (Ubuntu &amp; cPanel) 2026","previousItem":{"@type":"ListItem","@id":"https:\/\/dynamicpixel.co.in\/blog\/category\/blog\/#listItem","name":"BLOG"}}]},{"@type":"Organization","@id":"https:\/\/dynamicpixel.co.in\/blog\/#organization","name":"Dynamic Pixel Official Blog","description":"Revamp the way you E-Learn","url":"https:\/\/dynamicpixel.co.in\/blog\/"},{"@type":"Person","@id":"https:\/\/dynamicpixel.co.in\/blog\/author\/mahi-vats\/#author","url":"https:\/\/dynamicpixel.co.in\/blog\/author\/mahi-vats\/","name":"Mahi Vats","image":{"@type":"ImageObject","@id":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/8802448e3d7aa9812317d7938459f450a0d0e595b40c5c10dcef474e3be3aee6?s=96&d=mm&r=g","width":96,"height":96,"caption":"Mahi Vats"}},{"@type":"WebPage","@id":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/#webpage","url":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/","name":"How to Install Moodle: Ubuntu, cPanel & Windows Guide 2026","description":"Learn how to install Moodle 5.3 on Ubuntu, cPanel or a Windows PC. Exact requirements, commands, common errors and fixes from a Certified Moodle Partner.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/dynamicpixel.co.in\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/#breadcrumblist"},"author":{"@id":"https:\/\/dynamicpixel.co.in\/blog\/author\/mahi-vats\/#author"},"creator":{"@id":"https:\/\/dynamicpixel.co.in\/blog\/author\/mahi-vats\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/dynamicpixel.co.in\/blog\/wp-content\/uploads\/2026\/11\/How-to-Install-Moodle-Step-by-Step-Guide-Ubuntu-cPanel-2026.png","@id":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/#mainImage","width":1536,"height":1024,"caption":"How to Install Moodle"},"primaryImageOfPage":{"@id":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/#mainImage"},"datePublished":"2026-11-03T07:02:17+00:00","dateModified":"2026-11-03T07:02:19+00:00"},{"@type":"WebSite","@id":"https:\/\/dynamicpixel.co.in\/blog\/#website","url":"https:\/\/dynamicpixel.co.in\/blog\/","name":"Dynamic Pixel Official Blog","description":"Revamp the way you E-Learn","inLanguage":"en-US","publisher":{"@id":"https:\/\/dynamicpixel.co.in\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Dynamic Pixel Official Blog - Revamp the way you E-Learn","og:type":"article","og:title":"How to Install Moodle: Ubuntu, cPanel &amp; Windows Guide 2026","og:description":"Learn how to install Moodle 5.3 on Ubuntu, cPanel or a Windows PC. Exact requirements, commands, common errors and fixes from a Certified Moodle Partner.","og:url":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/","article:published_time":"2026-11-03T07:02:17+00:00","article:modified_time":"2026-11-03T07:02:19+00:00","twitter:card":"summary_large_image","twitter:title":"How to Install Moodle: Ubuntu, cPanel &amp; Windows Guide 2026","twitter:description":"Learn how to install Moodle 5.3 on Ubuntu, cPanel or a Windows PC. Exact requirements, commands, common errors and fixes from a Certified Moodle Partner."},"aioseo_meta_data":{"post_id":"3408","title":"How to Install Moodle: Ubuntu, cPanel &amp; Windows Guide 2026","description":"Learn how to install Moodle 5.3 on Ubuntu, cPanel or a Windows PC. Exact requirements, commands, common errors and fixes from a Certified Moodle Partner.","keywords":null,"keyphrases":{"focus":{"keyphrase":"How to Install Moodle","score":0,"analysis":[]},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-11-03 06:27:24","updated":"2026-11-03 07:02:19","focus_keyword":"How to Install Moodle","additional_keywords":null,"truseo_locale":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/dynamicpixel.co.in\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/dynamicpixel.co.in\/blog\/category\/blog\/\" title=\"BLOG\">BLOG<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tHow to Install Moodle: Step-by-Step Guide (Ubuntu &amp; cPanel) 2026\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/dynamicpixel.co.in\/blog\/"},{"label":"BLOG","link":"https:\/\/dynamicpixel.co.in\/blog\/category\/blog\/"},{"label":"How to Install Moodle: Step-by-Step Guide (Ubuntu &amp; cPanel) 2026","link":"https:\/\/dynamicpixel.co.in\/blog\/how-to-install-moodle\/"}],"_links":{"self":[{"href":"https:\/\/dynamicpixel.co.in\/blog\/wp-json\/wp\/v2\/posts\/3408","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dynamicpixel.co.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dynamicpixel.co.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dynamicpixel.co.in\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/dynamicpixel.co.in\/blog\/wp-json\/wp\/v2\/comments?post=3408"}],"version-history":[{"count":1,"href":"https:\/\/dynamicpixel.co.in\/blog\/wp-json\/wp\/v2\/posts\/3408\/revisions"}],"predecessor-version":[{"id":3411,"href":"https:\/\/dynamicpixel.co.in\/blog\/wp-json\/wp\/v2\/posts\/3408\/revisions\/3411"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dynamicpixel.co.in\/blog\/wp-json\/wp\/v2\/media\/3409"}],"wp:attachment":[{"href":"https:\/\/dynamicpixel.co.in\/blog\/wp-json\/wp\/v2\/media?parent=3408"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dynamicpixel.co.in\/blog\/wp-json\/wp\/v2\/categories?post=3408"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dynamicpixel.co.in\/blog\/wp-json\/wp\/v2\/tags?post=3408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}