Moodle is the world's most widely used open-source learning management system (LMS), used by schools, trainers and companies to run online courses, quizzes and assignments. Softaculous installs it on cPanel hosting in a few minutes. Moodle has a few requirements that matter more than for a normal website, so follow these steps carefully.
Before you start
- A domain or subdomain such as
learn.example.comwith a valid SSL certificate. - PHP set to a version supported by the Moodle release in MultiPHP Manager, with extensions
intl,zip,gd,soap,sodium,mbstring,xmlandcurlenabled in Select PHP Version. - In PHP options, set
max_input_varsto at least5000(Moodle refuses to install with less) andmemory_limitto256Mor more.
Install Moodle
- Open cPanel → Software → Softaculous Apps Installer, search Moodle (category Educational) and click Install.
- Installation URL:
https://, the subdomain, empty directory. - Data Directory: Moodle stores uploaded files in
moodledata. Make sure it is outside the web root, e.g./home/cpuser/moodledata. - Set the site name, admin username, password and email.
- Click Install. Installation can take a few minutes because Moodle creates many database tables.
Set up the Moodle cron (required)
Moodle needs a cron job to send notifications, process forum posts and clean up. Add it in cPanel Cron Jobs to run every minute or every 5 minutes:
/usr/local/bin/php /home/cpuser/learn.example.com/admin/cli/cron.php >/dev/null 2>&1Use the PHP binary matching the site's version; see cron troubleshooting. Site administration → Notifications warns you if cron has not run recently.
Configure email
Course enrolments, password resets and forum digests depend on email. Go to Site administration → Server → Email → Outgoing mail configuration:
- SMTP hosts:
server-hostname:465 - SMTP security: SSL
- SMTP username and password: a mailbox such as
noreply@example.com - No-reply address: the same mailbox
Moodle can send many emails at once (for example to a whole course); keep an eye on the hourly sending limit.
Warning: Moodle is resource-hungry. Shared hosting is fine for small courses and pilots. Schools with hundreds of active students, video-heavy courses or simultaneous exams should use a VPS or contact support for advice.
Create your first course
- Go to Site administration → Courses → Add a new course.
- Enter the full and short name, category and format (Topics or Weekly).
- Save and add activities: files, quizzes, assignments, forums.
- Enrol users under Participants, or enable self-enrolment.
Troubleshooting
- Installer stops at environment check: fix the listed PHP setting or extension, then reload.
- Uploads fail: raise
upload_max_filesizeandpost_max_size, and the course's maximum upload size. - Slow pages: purge caches in Site administration → Development → Purge caches, and check resource usage.
