Learn how to install Moodle LMS, a multilingual learning management system designed to help educators create effective online courses.
What is Moodle LMS?
With over 213 million users across the world, Moodle LMS is a multilingual learning management system that provides a set of learner-centric tools and collaborative learning environments for educators, administrators, and students.
With a simple interface, drag-and-drop features, and well-documented resources along with ongoing usability improvements, Moodle is easy to use & provided freely as open-source software under the GNU General Public License.
Given its flexibility & scalability, Moodle has been adapted for use across education, business, non-profit, government, and community contexts.
Moodle Installation Pre-Requisite
- a web hosting account (if you haven’t gotten one yet, visit https://dashboard.webhostingmagic.com/store/secure-php-hosting, select a hosting package to create a hosting account.)
- if you have an existing hosting account, ensure that it is capable of supporting sodium PHP extension. See php.net/manual/en/book.sodium.php for more information.
- a valid domain with SSL/TLS certificate installed if you are installing on the main domain.
Moodle LMS Installation (Automatic)
The easiest and recommended method of installing Moodle LMS is using our 1-click application installer.
Not only does it make the entire installation & setup process as easy as clicking a couple of buttons, but it also can keep it up-to-date and secure.
To use this script installer, log in to your cPanel.
Locate the Software section and click on Softaculous.
Once the page loads, use the search field on the top to search for “Moodle” or alternatively toggle the Educational category.
Select the URL to install Moodle.
Select the domain (if you have several domains on the account) or sub-domain.
If you are installing on a sub-domain, make sure that it has been created and that our system has installed an automatic SSL/TLS certificate on it before proceeding.
If you are installing on a sub-folder, input the desired name or accept the auto-generated one.
Select the version of Moodle LMS you want to install.
We highly recommend installing the latest version.
Fill out the other information such as site name, site description, admin username, admin password, names, admin email, etc.
Select a language and then click the Install button.
The one-click installer will take care of everything including creating the database, setting the file & folder permissions, and doing everything needed to get the application up and running.
Once the installation has been completed, access your home Directory via cPanel File Manager or SSH and access the “moodledata” folder.
Open it to edit the .htaccess file.
Since we are using Apache version higher than 2.2, make sure that the:
order deny,allow deny from all
is changed to:
Require all denied
Then save and close the file.
Moodle LMS Installation (Manual)
First, download Moodle either from:
- or pull the code from the Git repository (recommended for developers and also makes upgrading very simple) by running:
git clone -b MOODLE_310_STABLE git://git.moodle.org/moodle.git
Create a database either via SSH:
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
or login to cPanel, scroll down Databases and click on MySQL® Database Wizard (recommended your first database and user).
The wizard will guide you through the setup of a MySQL® database, user accounts, and user privileges.
If creating the database via SSH, create a user/password combination with appropriate permissions for the database:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'gooddoggie'@'localhost' IDENTIFIED BY '3Z2Y~]jE#h2mD_qTXtA!%^9yQ@:+MqNrqL';
Create an empty directory at the root directory with the permission to hold the Moodle files and grant write permission “gooddoggie”:
mkdir moodledata && chmod 755 moodledata
The owner can read, write and execute. Group members and everyone else can read and execute but cannot modify (write) the file.
ls -al moodledata
to confirm permissions.
If you have downloaded the zip or tgz file earlier, unzip or untar, and move the Moodle code to the directory where you want it to exist in.
cd into the Moodle code directory (often /public_html unless you are install in a sub-folder or sub-domain) , find the file config-dist.php, then copy or rename it to a new file called config.php.
cd /public_html (if you are on a different dir)
Edit the config.php with your favorite editor and change the appropriate settings to point to your site, directories and database.
If you skip this part, the Moodle install script will the create config.php for you but make sure you (re-)set permissions appropriately later.
Visit the URL for your Moodle LMS site in a browser (the installation will complete automatically) or run the command line version at (requires cli version of PHP):
The CLI will create the config.php for you and will not run if you have created one earlier.
Set up a cron job to run periodically as the site will not work properly unless cron is running regularly:
* * * * * /usr/bin/php /home/gooddoggie/cli/cron.php >/dev/null
The Moodle team recommend that the cron run every minute, as required for asynchronous activity deletion when using the recycle bin.
FREE Moodle LMS Installation
We do offer a free installation for every applications we provide.
Once your hosting account is ready, please visit our technical support hub and create a request so that our engineers can install Moodle LMS for you.