Moodle E-learning System
Build Learning Site With Open Source Elearning Platform
Quickly create an e-learning platform with one of the popular Moodle open source system. Create and distribute own courses & training materials to the trainees.
Overview
Moodle is an open source learning management system (LMS). It is a 100% free e-learning system. Moodle stands for Modular Object-Oriented Dynamic Learning Environment. Moodle allows developers to create online learning sites in a matter of minutes. It’s an open source learning platform that’s both stable and scalable. Moodle open source was created to make it simple for teachers, students, and administrators to develop and distribute tailored content. This open source e-learning platform includes a modern customizable dashboard and a user-friendly layout. Furthermore, it is appropriate for a wide range of institutions and organizations all around the world.
Moodle comprises a wide variety of features, including collaborative tools and activities, an all-in-one calendar, progress tracking, multilingual reporting, and much more. Moodle has also implemented e-learning standards such as SCORM (Sharable Content Object Reference Model), AICC HACP, IMS, and Learning Tools Interoperability (LTI). By selecting a suitable theme, users can change the look and feel of the site or a specific course. Users can enhance the main functionality of Moodle using the plugins feature. There are numerous plugins available that can be utilized to enhance the functioning of the site. Furthermore, developers can tailor their plugins to meet the needs of their customers.
Moodle has a mobile app for iPhone, Android, and Windows phones and tablets. Users can utilize the mobile app from any location. This e-learning system is written in PHP and stores data in MySQL/PostgreSQL databases. It comes with extensive user and developer documentation. The license for this open source e-learning platform is GPLv3+.
System Requirements
In order to install Moodle, you must have the following softwares:
- Nginx
- PHP 7.3.0 or greater
- MySQL 5.7 or greater
Features
Following are the key features of Moodle:
- Modern and easy to use interface
- Personalised dashboard
- File management
- Track progress
- Notifications
- Multilingual capability
- Customisable site design and layout
- Manage user roles and permissions
- High interoperability
- Plugin management
- Peer and self assessment
- Competency based marking
Installation Instructions
Install Moodle on Ubuntu 18.04 LTS with Nginx
Install Nginx Web Server
Nginx is the most popular and secure web server. In order to install Nginx, use the following command
sudo apt install nginx
Once the Nginx is install, configure the domain and restart the Nginx by using the following command
sudo service nginx restart
Install MySQL Server
Next, need to install database Server, use the following command to install MySql server
sudo apt-get update;
sudo apt-get install mysql-server;
mysql_secure_installation
Once, the database server is installed, use the following command to restart MySql server
sudo service mysql restart
Install PHP 7.4 and Related Modules
Run commands to add a third-party PPA to Ubuntu.
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
Now, run the following command to install PHP 7.4 and related modules.
sudo apt install php7.4-fpm php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-soap php7.4-xmlrpc php7.4-gd php7.4-xml php7.4-cli php7.4-zip
Create Database for Moodle
Now, you have installed all the required software and the next step is to login to mysql server and create Moodle database. Use following command to create database. Change with your database name.
CREATE DATABASE moodle;
Create a database user called “moodle” with new password. and granted user full access to the database by running the following commands. Change with your desired database user and with your desired password.
CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'password_here';
GRANT ALL ON moodle.* TO 'moodleuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES; EXIT;
Download Moodle
Next, run the commands below to change directlory download and download Moodle.
cd /var/www/
sudo git clone -b MOODLE_38_STABLE git://git.moodle.org/moodle.git moodle
Run the following commands to set permissions.
sudo mkdir -p /var/www/moodledata
sudo chown -R www-data:www-data /var/www/
sudo chmod -R 755 /var/www/
sudo chown www-data:www-data /var/www/moodledata
Create Nginx config file for Moodle site.
sudo nano /etc/nginx/sites-available/moodle
Add below code into it and save the file.
server {
listen 80;
listen [::]:80;
root /var/www/moodle;
index index.php index.html index.htm;
server_name example.com;
client_max_body_size 100M;
autoindex off;
location / {
try_files $uri $uri/ =404;
}
location /dataroot/ {
internal;
alias /var/www/moodledata/;
}
location ~ [^/].php(/|$) {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Create symlink to enable newly created site.
sudo ln -s /etc/nginx/sites-available/moodle /etc/nginx/sites-enabled/
Restart Nginx web server.
sudo systemctl restart nginx
Now, open browser and type http://example.com to access the site. Follow installation wizard to install Moodle.