Quick install guide for Chamilo 1.10 on Digital Ocean

Image removed.This 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.