The established learning platform.
BEFORE INSTALLING
Check requirements carefully. Moodle needs more than most applications: substantial memory, many PHP extensions, and a frequently running cron job.
A small Moodle installation works on shared hosting. A busy one with many concurrent users does not.
INSTALLING
Softaculous where available, or manually. It needs a database and a separate data directory which must be outside the web root.
That data directory placement matters: inside public_html it exposes uploaded course materials.
THE CRON REQUIREMENT
Moodle depends heavily on scheduled tasks: grading, notifications, backups, cleanup, message sending.
Configure a real cron job running every minute or few minutes. Without it Moodle degrades in ways that are confusing to diagnose.
STORAGE
Course materials, particularly video, consume disk rapidly. Host video on a video platform rather than uploading it.
MAINTENANCE
Moodle releases regularly and upgrades are substantial. Budget for them.
ALTERNATIVES
For selling a handful of courses, a course plugin on your main site is considerably less work.