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.
Prerequisites
– 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> FLUSH PRIVILEGES; 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 chamilo.com . Create a new file with the following content
nano /etc/apache2/sites-available/chamilo.conf ServerAdmin admin@chamilo.com DocumentRoot /var/www/html/chamilo ServerName opsto.tk ErrorLog /var/log/apache2/chamilo.com-error_log CustomLog /var/log/apache2/chamilo.com-access_log common
Replace all occurences of ‘chamilo.com’ 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
wget https://github.com/chamilo/chamilo-lms/releases/download/v1.11.6/chamilo-1.11.6-php7.zip
Once it is downloaded, unpack the zip archive to the document root directory on your server.
unzip chamilo-1.11.6-php7.zip -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 http://chamilo.com and follow the installation wizard to complete the Chamilo installation.
Of 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.