How to install Moodle on Ubuntu 14.04

Version 1.0
Author: Srijan Kishore <s [dot] kishore [at] ispconfig [dot] org>
Follow howtoforge on Twitter
Last edited 24/Sep/2014

This document describes how to install and configure Moodle on Ubuntu 14.04.  Moodle (acronym for Modular Object-Oriented Dynamic Learning Environment) (stylised in lower-case as moodle) is a free software e-learning platform, also known as a Learning Management System, or Virtual Learning Environment (VLE). As of June 2013 it had a user base of 83,008 registered and verified sites, serving 70,696,570 users in 7.5+ million courses with 1.2+ million teachers. Equipped with a horde of smart features such as virtual quizzes, assignment submission, wiki, grading, IM services, and online discussion boards, Moodle enables a seamless online learning experience for end-users. Also, by virtue of being a modular software, it is capable of enhanced functionality through customized plugins.

1 Preliminary Note

This tutorial is based on Ubuntu 14.04 server, so you should set up a basic Ubuntu 14.04 server installation before you continue with this tutorial. The system should have a static IP address. I use as my IP address in this tutorial and as the hostname. 

2 Install Apache/MySQL/PHP

We require Apache, MySQL and PHP before Moodle installation. I will be using root credentials, if you are doing installation with any other user just prefix sudo before all commands:

apt-get -y install apache2 mysql-client mysql-server php5

You will be asked to provide a password for the MySQL root user - this password is valid for the user root@localhost as well as [email protected], so we don't have to specify a MySQL root password manually later on:
New password for the MySQL "root" user: <-- yourrootsqlpassword
Repeat password for the MySQL "root" user: <-- yourrootsqlpassword

Moodle require some more packages we will install them as follows:

apt-get -y install graphviz aspell php5-pspell php5-curl php5-gd php5-intl php5-mysql php5-xmlrpc php5-ldap git-core

I will be using git utility for downloading Moodle so I have installed git-core.

3 Download Moodle

Now we will download Moodle as follows:

cd /opt
git clone git://
cd moodle
git branch -a
git branch --track MOODLE_27_STABLE origin/MOODLE_27_STABLE
git checkout MOODLE_27_STABLE

Next we need to copy the Moodle content to the /var/www/html as:

cp -R /opt/moodle /var/www/html/
mkdir /var/moodledata
chown -R www-data /var/moodledata
chown -R www-data /var/www/html/moodle
chmod -R 777 /var/moodledata
chmod -R 0755 /var/www/html/moodle

We need to change the default storage engine to innodb:

nano /etc/mysql/my.cnf

Give values at the end of the file as:

#Basic settings for moodle
default-storage-engine = innodb

4 Database initialization

We need a database for Moodle, I will create  the database for the Moodle as follows:

mysql -u root -p

Here we are adding database=moodledb user=moodleuser and password=moodlepassword:


Further moving ahead:


Restart services

service apache2 restart
service mysql restart


3 Web installation of Moodle

Now we will proceed with the Moodle web-installation. Open a browser of your choice and open the link http:

Select your language and press Next:

Change the value of Data directory to /var/moodledata and press Next:

Press Next:

Give the values at the time of creation of the database, in my case it was as follows:

Database host    :    localhost
Database name    :    moodledb
Database user    :    moodleuser
Database password    :    moodlepassword
table prefix    :    mdl_    (or any valaue of your choice)
Database port    :    3306
Unix socket    :    It will remain blank.

After giving the values press Next:

Press Continue:

Press Continue:

Press Continue:

Now create an admin user for Moodle, you can use any value as per your choice. In my case I am using:
Username    :    admin
New password    :    Howtoforge@1
First name    :    Srijan
Surname    :    Kishore
EMail    :    [email protected]

All other field I will be using its default value, ofcourse you can change it later.

Press Update profile:

Give any name as per your choice, I am using a test name as:

Full site name    :    Test-moodle
Short name for site    :    test
Self registration    :    Disable

After giving the values  press Save changes:

Now go to Site Administration-->Server-->System Paths and define the paths as follows:

Path to du    :    /usr/bin/du
Path to aspell    :    /usr/bin/aspell
Path to dot    :    /usr/bin/dot

Press Save Changes.

Now we are done with the installation part of Moodle, We can access the Moodle page at  http://192.168.0100/moodle/login/index.php as follows:

Your credentials will be Username=admin and Password=Howtoforge@1.
Next page will be the default welcome page.

Now we can add courses and use Moodle as per our requirement. Congratulations! You now we have a fully functional Moodle instance on our Ubuntu 14.04 :)

Share this page:

9 Comment(s)