Chamilo | Free And Open Source LMS For E-learning Sites
LMS For E-learning

Chamilo LMS For E-learning

Create Online Learning Website With Free E-learning Tool

Improve access to education by building online e-learning platforms with free learning management software. Easily create courses and track student's progress.

Chamilo is a free e-learning tool that allows users to create web-based online learning apps. It’s an open-source e-learning platform that’s both lightweight and adaptable. Chamilo is a PHP-based web application that uses a MySQL database to store data. It is one of the most widely used LMS for e-learning, with over 20 million people around the world. Chamilo 2.0 is still in development, however, users can still use it till version 1.11.x. It is released under the GNU/GPLv3 license. This free learning management system is cross-platform and works on Windows, Linux, and Mac OS X.

Chamilo includes several useful features, such as a course catalog, user creation & role management, skill management, certificate creation, SCORM support, and many more. It also has a shopping cart to assist trainers in selling courses and earning money. Chamilo can be used for a variety of learning and collaboration activities. Teachers can use the web to create, manage, publish their courses, and track trainee’s progress. Students can follow courses, read materials, actively participate in groups, forums, and chat rooms.

Users are authenticated from the database by default. Chamilo, on the other hand, has an LDAP module that allows administrators to disable database authentication and replace it with LDAP authentication. Developers can also modify and improve the core functionality by incorporating available extensions. Chamilo also allows for the building of bespoke extensions to meet unique business requirements.

System Requirements

In order to install Chamilo, you must have the following softwares:

  • Apache 2.2 or greater / Nginx
  • PHP 7.2 or greater
  • MySQL 5.6 or greater

Features

Following are the key features of Chamilo:

  • Free and open source
  • Courses management
  • Users management
  • Document management
  • Social learning network
  • Customizable interface
  • Integration with third-party tools
  • Time-controlled exams
  • Automated generation of certificates
  • Mobile rriendly
  • Tracking of users progress

Installation Instructions

Install Chamilo 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 

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.2 and related modules.

sudo apt install php7.2-fpm php7.2-common php7.2-sqlite3 php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-ldap php7.2-apcu php7.2-zip

Create Database for Chamilo

Now, you have installed all the required software and the next step is to login to mysql server and create Chamilo database. Use following command to create database. Change with your database name.

CREATE DATABASE chamilo; 

Create a database user called “chamilo” 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 'chamilouser'@'localhost' IDENTIFIED BY 'password_here'; 
GRANT ALL ON chamilo.* TO 'chamilouser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES; EXIT;

Download Chamilo

Next, run the commands below to download Chamilo, unzip and move it to Nginx web server directory.

cd /tmp && wget https://github.com/chamilo/chamilo-lms/releases/download/v1.11.6/chamilo-1.11.6-php7.zip
unzip chamilo-1.11.6-php7.zip
sudo mv chamilo-1.11.6 /var/www/html/chamilo

Run the following commands to set permissions.

sudo chown -R www-data:www-data /var/www/html/chamilo/
sudo chmod -R 755 /var/www/html/chamilo/

Create Nginx config file for Chamilo site.

sudo nano /etc/nginx/sites-available/chamilo

Add below code into it and save the file.

server {
   listen 80;
   listen [::]:80;
   root /var/www/html/chamilo;
   index  index.php index.html index.htm;
   server_name  example.com;

   client_max_body_size 100M;

   location / {
       try_files $uri /index.php$is_args$args;
   }

   location ~ [^/].php(/|$) {
       include snippets/fastcgi-php.conf;
       fastcgi_pass unix:/run/php/php7.2-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/chamilo /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 the installation wizard to install Chamilo.

Explore

You may find the following links relevant: