Learning Management Systems simply known as LMS, are software that creates, manages, and delivers e-learning content for teachers and students. An e-learning platform is a portal that contains educational content that offers students everything all in one place. Students can register for their courses and view their details on the portal

Administrators on the other hand have an easier way of creating users, who may be students or trainers on the system without a lot of hassle. Details like health data, academic data, scheduling, and accounting can be also accessed from the portal. Any data connected to the user can be found using the Identity of the user. One can know the course a student is taking in school from their identity. Teachers can know which course they teach also from their identity. Any information required can be accessed from the portal. There are several LMS available but in this guide, we are going to deal with Chamilo.

Some of the benefits of LMS are:

  • Easy to track the development progress of the users mostly the students.
  • All-in-one Platform as it contains all data in one place.
  • Quick and accurate effective administration system by providing reporting features.
  • Everything is digital, saving on not buying notebooks and printing materials.
  • They are consistent and flexible.

Chamilo Learning Management System

Chamilo is one of the easiest e-learning platforms to use for teachers and students to digitalize and formalize their course content, making it easier to access education. It has several features that make it stand out from other LMS.

  • Easy to install and use while creating users or courses.
  • Inbuilt Plugins like signatures that allows students to sign for an exam once completed.
  • Highly customizable as you can personalize courses with dynamic fields.
  • Fully secure with even more validation of disabled users.
  • Allows students to download a PDF of their results.
  • Reports can be printed or downloaded in CSV format.
  • Multi-Language support
  • A social network page with a social wall improves engagement.
  • A card game to motivate learners on the portal.

This guide will show you how to install the Chamilo Learning Management system on Ubuntu. Chamilo 2.0 is still in development thus recommended to install Chamilo 1.11.x which is a stable version.

Install Chamilo LMS on Ubuntu 22.04|20.04

You should have LAMP installed on your system before installing Camillo LMS.

Step 1. Install LAMP Stack on Ubuntu

We will install Apache web server, MySQL database server, and PHP.

Update your system packages

sudo apt update && sudo apt upgrade -y

If a reboot is required after the upgrade proceed with it.

[ -f /var/run/reboot-required ] && sudo reboot -f

Install Apache Server

To install Apache, use the following command.

sudo apt install apache2

Start and enable apache at boot time.

sudo systemctl start apache2
sudo systemctl enable apache2

Install MySQL Database Server

To install the MySQL database server, use the following command.

sudo apt install mysql-server

Install PHP and other extensions

To Install PHP and its extensions, Use the following command.

sudo apt install -y php libapache2-mod-php php-pgsql php-mysql php-intl php-mbstring php-gd php-curl php-xmlrpc php-xml php-zip php-zip wget unzip

Edit the PHP configuration file

sudo nano /etc/php/*/apache2/php.ini

Edit the following lines

max_execution_time = 300
memory_limit = 512M
upload_max_filesize = 100M
post_max_size = 20M
date.timezone = Africa/Nairobi

Save and exit the file.

To check the available timezones, use the following command and choose the one appropriate for you.

sudo timedatectl list-timezones
sudo timedatectl set-timezone Africa/Nairobi

Replace Africa/Nairobi with the correct name of your timezone.

Once done with the configurations, restart Apache service.

sudo systemctl restart apache2

Step 2. Setup Chamilo LMS Database

Login to MySQL shell. It does not have a password set, So press ENTER to continue.

sudo mysql -u root -p

Then create a database and name it how you want.


Next is to create a user and set the password

CREATE USER 'chamilo'@'localhost' IDENTIFIED BY 'ChamiloDBPassword';

Then grant the user full access to the database.

GRANT ALL ON chamilo.* TO 'chamilo'@'localhost' WITH GRANT OPTION;

Save the changes.


Then exit the shell.


Step 3. Install Chamilo LMS on Ubuntu 22.04|20.04

Install curl and wget tools on your Ubuntu system.

sudo apt install wget curl unzip

Download the latest version of Chamilo LMS from the download page.

VER=$(curl -s https://api.github.com/repos/chamilo/chamilo-lms/releases/latest|grep tag_name|cut -d '"' -f 4|sed 's/v//')
wget https://github.com/chamilo/chamilo-lms/releases/download/v${VER}/chamilo-${VER}.zip

Extract the files using the following command.

unzip chamilo-${VER}.zip

Move the extracted files to the installation directory

sudo mv chamilo-${VER}/ /var/www/html/chamilo

Assign ownership of the installation directory.

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

Change access permission of the installation directory

sudo chmod -R 755 /var/www/html/chamilo/

Step 4. Configure Apache2

Create a new apache configuration file using the following command.

sudo nano /etc/apache2/sites-available/chamilo.conf

Append the following data on the file and save then exit the file.

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html/chamilo
    ServerName learning.example.com

    <Directory /var/www/html/chamilo/>
        Options FollowSymlinks
        AllowOverride All
        Require all granted

    ErrorLog ${APACHE_LOG_DIR}/chamilo_error.log
    CustomLog ${APACHE_LOG_DIR}/chamilo_access.log combined

Disable the Apache Configuration file.

sudo a2dissite 000-default.conf

Then enable the newly created Chamilo LMS configuration file.

sudo a2ensite chamilo.conf

Enable the Apache rewrite mode

sudo a2enmod rewrite

Restart Apache to save the changes.

sudo systemctl restart apache2

Step 5. Launch Chamilo LMS Web interface

To access the Chamilo LMS web interface go to http://your-ip-address/. It will appear as shown below. Click on Install Chamilo

Select the Language you want to continue with for installation and click Next.

Next is the server requirements page where most of the packages are installed and available. Click on New Installation.

Accept the License agreement and fill in your personal data on the next page.

Next is to set up MySQL database settings. Enter the credentials of the user and password that you created then click on Check Database Connection. Once the connection is successful, click Next.

Next is the configuration settings which most of them are filled out.

The next is a summary of the details, If you wish to change, just press the Previous button. If its okay Press Install chamilo.

The login page appears as shown below. Enter your credentials and click Log in.

After logging in, you will be taken to the homepage as shown.

Chamilo LMS

You can now create users, courses, edit configuration settings and add training sessions. To access this page, click on administration.

To add a user, click on create user. The page below appears

Enter the details and click on Add. It will take you to a page that will show the available users.

To create a course. Click on create course which will take you to the following page.

Then this page appears showing the available courses and the newly created one.

There are other pages in the portal that provide more features like social network that has a social wall and the friends you have.

There is the reporting page which allows you to search by using keywords and status.

There is the Personal Calendar page that allows you to schedule your tasks and operations.


From this guide, we have learned about Chamilo Learning Management System. We have also installed Chamilo LMS on Ubuntu 22.04 / Ubuntu 20.04. We have seen its unique features like the social wall that you can post and improves the engagement of its users, both teachers and students. It is very easy to use and get acquainted with very fast.


Please enter your comment!
Please enter your name here