Learn How To Install Moodle on Ubuntu Server 16.04

January 24, 2019

Table of Contents

Moodle is a popular, robust open-source learning platform to create personalized learning environments supported by a global community of people that powers learning environments worldwide. In this guide you will learn how to install and setup Moodle on your Ubuntu 16.04 server instance.

Prerequisites

  • A 1GB Ubuntu Server 16.04 server instance.
  • The typical LAMP stack (Apache, MySQL and PHP).

Preparation

Step 1

  1. Update the OS packages: apt-get update
  2. Install the required PHP modules: apt-get install aspell graphviz php7.0-curl php7.0-gd php7.0-intl php7.0-ldap php7.0-mysql php7.0-pspell php7.0-xml php7.0-xmlrpc php7.0-zip
  3. Restart the Apache web server: service apache2 restart

Step 2

Download Moodle via Curl from the official Moodle distribution server.

  1. Download the Moodle files: curl -L https://download.moodle.org/download.php/direct/stable32/moodle-latest-32.tgz > moodle.tgz
  2. Extract the Moodle files from the downloaded archive and place them in the default Apache document root: sudo tar -xvzf moodle.tgz -C /var/www/html

Step 3

We are now going to create a directory for Moodle outside the web root folder to store course related data. This is a more secure approach compared to storing the course data inside the Moodle root directory:

  1. Create the directory: mkdir /var/moodledata
  2. Change the ownership of the directory so the web server user has access to it: chown -R www-data /var/moodledata
  3. Set the proper permissions of the directory: chmod -R 0770 /var/moodledata

Step 4

Now we need to create the MySQL database that Moodle will use to store its data. We’ll configure MySQL to follow the structure which Moodle expects. and create a user for the database.

Open up the MySQL config file.

nano /etc/mysql/mysql.conf.d/mysqld.cnf

Under the “Basic Settings” section, add the following lines.

default_storage_engine = innodb
innodb_file_per_table = 1
innodb_file_format = Barracuda

Save the config file and restart MySQL.

service mysql-server restart

Now we can create the database.

Login to MySQL.

mysql -u root -p

Enter the root password when prompted which you specified during the MySQL setup.

Step 5

Enter the following command to create the database.

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Create the database user permissions for the database.

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodler'@'localhost' IDENTIFIED BY 'YourMoodlePassword';

Exit the MySQL CLI.

quit;

Note: You should use a secure password for your database.

Conclusion

Congratulations! You now have a successful installation of Moodle running on your Ubuntu Server 16.04 instance. To complete the installation, open your browser and navigate to http://YOUR_SERVER_IP/moodle. This should be very straightforward but you can always refer to the official installation guide.

Need help?

Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!