How to Install Chamilo on Ubuntu 16.04

Server Management Services

In this installation guide we will show you how to install Chamilo on a clean Ubuntu 16.04 VPS with Apache, PHP amd MySQL. Chamilo is a free and open-source learning management platform and content management system (CMS) written in PHP. Chamilo is currently used by more than 7 million students, and number of governments, universities, schools and companies, and it is one of the most popular learning management systems.

Chamilo has tons of useful features including:
– Courses management
– User management, authentication and enrollment
– 20 pedagogical tools (document management, tests, forum, wiki, surveys, etc..)
– Social learning network
– Standards implementations (SCORM 1.2, AICC, IMS/QTI, HotPotatoes, iCal)
– Training sessions management
– Availability timeframe for tests/exams
– CSV/Excel data import/export
and many more..

For detailed list of all features available in the latest Chamilo version you can check their official site.


– SSH access with root privileges
– Ubuntu 16.04 VPS
– Apache web server version 2.2 or newer
– MySQL/MariaDB database server version 5 or newer
– PHP version 5.4 or newer

Login via SSH and update the system

Login to your Ubuntu 16.04 VPS via SSH as user root

ssh root@IP_Address -p

and as usual, run the following command to upgrade all installed packages on your VPS

apt update && apt upgrade

Install MySQL server

We will start preparing our Ubuntu 16.04 for Chamilo, with installing MySQL database server. Chamilo stores its informaion in a database, so we will have to create a MySQL user and database. Run the following command to install MySQL server

apt -y install mysql-server

At the begging of the installation a window will appear and you will be prompted to enter a password for the MySQL root user. You should always use strong passwords for your accounts, especially when it comes to users that have full privileges such as the root user

Once the MySQL server is installed run the following command to enable it to start upon server reboot

systemctl enable mysql

Create MySQL user and database

Next, login to the MySQL server as user root, using the password we entered in the previous step

mysql -u root -p

and create a new MySQL user and database for the Chamilo installation

mysql> CREATE DATABASE chamilo;
mysql> GRANT ALL PRIVILEGES on chamilo.* to 'chamilouser'@'localhost' identified by 'PASSWORD';
mysql> exit

Don’t forget to replace ‘PASSWORD’ with an actual strong password.

Install Apache web server

Chamilo can run on different web server, but in this guide we decided to use Apache. Its installation is pretty simple and it can be installed using the apt package manager

apt -y install apache2

After the installation is completed you can check if the web serevr is successully installed, by navigating to http://Your_IP in your favorite web browser. If everything is OK you will get the default Apache web page.

Same as we did with MySQL, enable the Apache web server to start automatically upon server reboot

systemctl enable apache2

Install PHP 7

Chamilo is PHP based application, so we have to install PHP on the server, including some PHP extensions required by Chamilo.

apt -y install php php-mcrypt php-common php-intl php-gd libapache2-mod-php7.0

restart the web server and proceed with the next step

systemctl restart apache2

Create Apache Virtual Host

In order to be able to access Chamilo with a domain name, we will have to create Apache virtual host directive for that domain. For example we will use . Create a new file with the following content

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

    DocumentRoot /var/www/html/chamilo
    ErrorLog /var/log/apache2/
    CustomLog /var/log/apache2/ common

Replace all occurences of ‘’ with your actual domain name.

Enable the virtual host directive using the following command:

a2ensite chamilo

and restart the web server for the changes to take effect.

systemctl restart apache2

Download and install Chamilo

Go to Chamilo’s official website and download the latest stable release of the application. At the moment of writing this installation guide it is version 1.11.6. Please note that you to download the version built for PHP 7


Once it is downloaded, unpack the zip archive to the document root directory on your server.

unzip -d /var/www/html/

The content of the applicaion will be placed in a new ‘chamilo-1.11.6’ directory under the document root. We will rename it to something simpler

cd /var/www/html
mv chamilo-1.11.6 chamilo

change the ownership of the Chamilo files

chown -R www-data:www-data chamilo

Finally, navigate your web browser to and follow the installation wizard to complete the Chamilo installation.

Install Chamilo on Ubuntu 16.04

Installing Chamilo on Ubuntu 16.04Of course, if you are one of our Ubuntu Hosting customers, you don’t have to Install Chamilo on your Ubuntu 16.04 VPS, simply ask our admins, sit back and relax. Our admins will Install Chamilo on Ubuntu 16.04 for you immediately.

PS. If you liked this post about How to Install Chamilo on Ubuntu 16.04 VPS, please share it with your friends on the social networks using the buttons below or simply leave a comment in the comments section. Thanks.