Chamilo is an open-source e-learning and content management system. It allows you to create a virtual campus for the provision of online/semi-online training. In this tutorial, we will show you how to install Chamilo on a Linux VPS. For the purpose of this tutorial, we will use a virtual server with Ubuntu 14.04 installed as an operating system.
In order to Install Chamilo on your virtual server, it has to meet the following system requirements:
- Apache 2.2+
- MySQL 5.1+ or MariaDB 5+
- PHP 5.4+ (5.6 recommended for greater efficiency)
Also, the following PHP libraries need to be installed/enabled on your Ubuntu VPS:
php5-iconv or php5-mbstring (either one of them) php5-xml php5-session php5-mcrypt php5-mysqlnd php5-zlib php5-pcre php5-gd php5-json php5-ldap php5-curl php5-ctype php5-intl php5-xsl php5-xapian
In order to get the best out of Chamilo, the following PHP settings need to be set in your php.ini file:
max_execution_time = 300 max_input_time = 600 memory_limit = 256M post_max_size = 100M upload_max_filesize = 100M magic_quotes_gpc = Off magic_quotes_runtime = Off short_open_tag = Off safe_mode = Off
To find the location of your php.ini file you can use the command:
php --ini | grep "Loaded Configuration File"
Additionally, it is very important to set your ‘date.timezone’ setting to whatever your server’s timezone is.
If the Chamilo requirements are met by your server, you are good to go.
Connect to your server via SSH and update all your system software to the latest version available.
sudo apt-get update && sudo apt-get -y upgrade
Navigate to ‘/var/www/’ and download the latest version of the software from https://chamilo.org/chamilo-lms/. The latest version of Chamilo at the moment of writing this tutorial is 1.11.2.
cd /var/www/ sudo wget https://github.com/chamilo/chamilo-lms/archive/v1.11.2.tar.gz
Unpack the archive using the following command:
sudo tar -xzvf v1.11.2.tar.gz
Rename the Chamilo directory:
sudo mv chamilo-lms-1.11.2 chamilo
Change the ownership of the files:
sudo chown -R www-data: chamilo
Now, create an Apache virtual host for Chamilo:
sudo nano /etc/apache2/sites-available/chamilo.conf
Add the following content:
ServerAdmin [email protected] DocumentRoot /var/www/chamilo ServerName yourdomain.com ServerAlias www.yourdomain.com Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all ErrorLog /var/log/httpd/yourdomain.com-error_log CustomLog /var/log/httpd/yourdomain.com-access_log common
Save the file and close it. Enable Chamilo and restart the Apache web server:
sudo a2ensite chamilo sudo service apache2 restart
Create a MySQL database, so Chamilo can store its data. Log into MySQL as root:
mysql -u root -p
Create a new database, a database user and set up a password using the commands below:
mysql> CREATE DATABASE chamilo; mysql> GRANT ALL PRIVILEGES ON chamilo.* TO 'chamilo'@'localhost' IDENTIFIED BY 'YoUrPaSsWoRd'; mysql> FLUSH PRIVILEGES; mysql> \q
Now, open your web browser and navigate to http://yourdomain.com.
You can now proceed with the online instructions to complete the Chamilo installation.
PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.