Quick install guide for Chamilo 1.10 on Digital Ocean

logo-chamiloThis guide will take you through the process of installing Chamilo 1.10.2 (from Github packages) for testing on a fresh Digital Ocean instance.

A previous article on this blog explains how to install Chamilo 1.9 using Juju Charms.

To follow this guide, you should be familiar with the notion of SSH keys and installing/configuring server software on Ubuntu 15.10.

Step 1: Get a Digital Ocean instance

  • If you don’t have one, create an account on Digital Ocean
  • Give a credit card account or make a payment through PayPal (you might not need it for the first few bucks you’ll need to follow this guide)
  • Create a (cheap) instance of 512M RAM ($5/month) with Ubuntu 15.10 x64
  • Give an SSH key so that you can connect to your instance with “ssh root@[instance-ip]”

Step 2: Setup local DNS

To make it short, we’ll just define the new instance’s IP as a local name on our computer only. You can also use the IP directly, but I prefer using a name.

  • edit your /etc/hosts file (on Windows, C:\Windows\System32\drivers\etc\hosts), like
  • add the instance IP, a blank space, and a name you want to give it. e.g.: cham1.beeznest.com

In my case, I have IP and name cham1.beeznest.com, but in the following guide we will assume (for simplicity) that we use the IP address directly.

Step 3: Connect and install software stack

  • Connect to your instance (ssh root@
  • apt-get update
  • apt-get upgrade
  • apt-get install libapache2-mod-php5 php5-mysqlnd mysql-server php5-intl php5-gd php5-json php5-curl php5-mcrypt git vim screen
  • give a MySQL root password twice (remember it)

This whole step takes about 2.5 minutes in total on Digital Ocean’s super fast infrastructure.

Step 4: Downloading from Github

cd /var/www
mkdir chamilo
cd chamilo
wget https://github.com/chamilo/chamilo-lms/archive/v1.10.2.tar.gz
tar zxf v1.10.2.tar.gz
rm v1.10.2.tar.gz
mv chamilo-lms-1.10.2 www
cd www
chmod -R 0777 main/lang main/default_course_document/images/ app web

Step 5: Database

mysql -u root -p
[give the mysql root password]
mysql> GRANT ALL PRIVILEGES ON chamilo.* TO chamilo@localhost IDENTIFIED BY 'chamilo';
mysql> exit;

Step 6: Configure Apache’s Virtual Host

  • cd /etc/apache2/sites-available/
  • vim 000-default.conf (or use another editor if you like)
  • Under the #ServerName line, add: ServerName (or the IP of this virtual machine)
  • [change /var/www by /var/www/chamilo/www everywhere]
  • Add the following block anywhere *inside* the VirtualHost block
 <Directory /var/www/chamilo/www>
   Options Indexes FollowSymLinks MultiViews
   AllowOverride All
   Order allow,deny
   allow from all
  • Add before </VirtualHost>: php_admin_value date.timezone “Europe/London”
  • exit (esc + :wq + enter)
  • a2enmod rewrite
  • service apache2 restart

Step 7: Browser install of Chamilo

  • Open your browser on (the IP of this virtual machine) and follow the installation process

That’s all, folks! Don’t forget this is a development-type installation, meaning that some things will not be tuned for production environments. If you need production-ready installations, the BeezNest team is always available for hiring.

Related Posts

Chamilo 1.11.4 beta install welcome screen
Installation guide for Chamilo 1.11.4 on Digital Ocean with PHP7

This guide will take you through the process of installing the Chamilo e-learning...

Installation guide for Chamilo 1.11.16 on Digital Ocean with PHP7.4

This guide will take you through the process of installing the Chamilo e-learning...