Chamilo is a learning management system focused on ease of use and accessibility
PHP JavaScript HTML CSS Java Smarty Other
Switch branches/tags
v1.11.8 v1.11.8-rc.1 v1.11.6 v1.11.6-alpha.1 v1.11.4 v1.11.4-rc.1 v1.11.4-beta.1 v1.11.4-alpha.2 v1.11.4-alpha.1 v1.11.2 v1.11.0 v1.11.0-rc.1 v1.11.0-beta.7 v1.11.0-beta.6 v1.11.0-beta.5 v1.11.0-beta.4 v1.11.0-beta.3 v1.11.0-beta.2 v1.11.0-beta.1 v1.11.0-alpha.2 v1.10.8 v1.10.6 v1.10.6-stable v1.10.6-softaculous v1.10.4 v1.10.2 v1.10.0 v1.10.0-stable v1.9.10.4 v1.9.10.2 v1.9.10 v1.9.8.2 v1.9.8.1 v1.9.8 v1.8.6.1 CHAMILO_1_10_DEV_ICPNA_20130114 CHAMILO_1_9_6_1_STABLE CHAMILO_1_9_6_STABLE CHAMILO_1_9_6_RC_2 CHAMILO_1_9_6_RC_1 CHAMILO_1_9_4_STABLE CHAMILO_1_9_4_RC_1 CHAMILO_1_9_4_ALPHA_1 CHAMILO_1_9_2_STABLE CHAMILO_1_9_2_STABLE_TRIS CHAMILO_1_9_2_STABLE_QUARTER CHAMILO_1_9_2_STABLE_BIS CHAMILO_1_9_0_STABLE_3 CHAMILO_1_9_0_STABLE_2 CHAMILO_1_9_0_STABLE CHAMILO_1_9_0_RC_1 CHAMILO_1_9_0_PRE_ALPHA CHAMILO_1_9_0_ALPHA_7 CHAMILO_1_9_0_ALPHA_6 CHAMILO_1_9_0_ALPHA_5 CHAMILO_1_9_0_ALPHA_4 CHAMILO_1_9_0_ALPHA_3 CHAMILO_1_9_0_ALPHA_2 CHAMILO_1_9_0_ALPHA_1 CHAMILO_1_8_8_6_STABLE CHAMILO_1_8_8_4_STABLE CHAMILO_1_8_8_4_BETA_1 CHAMILO_1_8_8.3_STABLE_4 CHAMILO_1_8_8_2_STABLE_3 CHAMILO_1_8_8_2_STABLE_2 CHAMILO_1_8_8_2_STABLE CHAMILO_1_8_8_2_RC_1 CHAMILO_1_8_8_STABLE_1 CHAMILO_1_8_8_BETA_3 CHAMILO_1_8_8_BETA_2 CHAMILO_1_8_8_BETA_1 CHAMILO_1_8_8_ALPHA CHAMILO_1_8_7_1_STABLE_2 CHAMILO_1_8_7_1_STABLE_1 CHAMILO_1_8_7_STABLE CHAMILO_1_8_7_STABLE_BIS CHAMILO_1_8_7_RC2 CHAMILO_1_8_7_RC_1 CHAMILO_1_8_7_BETA_1 CHAMILO_1_8_7_ALPHA_2 CHAMILO_1_8_7_ALPHA_1 CHAMILO_1_8_6_2_STABLE CHAMILO_1_8_6_2_STABLE_TRIS CHAMILO_1_8_6_2_STABLE_CUATER CHAMILO_1_8_6_2_STABLE_BIS CHAMILO_1_8_6_2_BETA_1 1.10.x.pre-doctrine
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.github Update Github issue template Feb 8, 2017
app Fix Specified key was too long; max key length is 767 bytes Aug 16, 2018
assets Minor - fix js code, remove unused code, fix path Aug 17, 2018
bin Use bin/console doctrine:schema Jan 8, 2018
certificates Minor - partial merge with 1.11.x Aug 8, 2018
config Minor - update version, fix js calls Aug 17, 2018
custompages Applied fixes from FlintCI Mar 16, 2018
documentation Update CSS paths in documentation/ directory Aug 15, 2018
main Fill table "tool" during installation. Aug 17, 2018
plugin Disable "ext_auth_chamilo_logout_button_behaviour" plugin Aug 14, 2018
public Add ThemeBundle autowire + add TwigListener to load the favicon Aug 17, 2018
src Full fos_group table during installation, with common roles. Aug 17, 2018
templates Add liip_theme in order to handel chamilo templates May 22, 2018
tests Minor - partial merge from 1.11.x Aug 13, 2018
translations Minor - WIP Database created and schema created using symfony #2320 Jan 26, 2018
var Minor - add .gitkeep in var/courses and var/upload Jan 18, 2018
.codeclimate.yml Minor - update CI config Aug 3, 2018
.editorconfig Minor - update setting May 31, 2017
.env.dist Minor - update symfony settings Jul 20, 2018
.flintci.yml Add .yamlconfig Jan 8, 2018
.gitattributes Ignore files from web Jan 8, 2018
.gitignore Minor - add components folder Jan 30, 2018
.htaccess Minor - partial merge with 1.11.x Aug 8, 2018
.php_cs Add CI files Jan 4, 2018
.php_cs.dist Minor - update CI config Aug 3, 2018
.scrutinizer.yml Minor - flint fixes Aug 3, 2018
.travis.yml Minor - update travis Aug 15, 2018
.yamllint_config Minor - Ignore files in CI Jan 30, 2018 Add Behat testing requirement for new features Apr 12, 2017
LICENSE Add LICENSE Aug 8, 2018 Add "Quick update" instructions to Aug 16, 2018
apple-touch-icon.png merge May 22, 2014
codesize.xml Minor - update CI config Aug 3, 2018
composer.json Minor - fix validator version Aug 16, 2018
index.php Minor - partial merge with 1.11.x Aug 8, 2018
license.txt Minor - partial merge with 1.11.x Aug 8, 2018
news_list.php Minor - format code + fix php warning Dec 12, 2017
package.json Minor - update version, fix js calls Aug 17, 2018
robots.txt Update Disallow Dec 5, 2017
user.php Applied fixes from FlintCI Mar 16, 2018
user_portal.php Minor - partial merge with 1.11.x Aug 8, 2018
webpack.config.js Create new build file that generates only bootstrap + font awesome Aug 17, 2018
whoisonline.php Minor - partial merge with 1.11.x Aug 8, 2018
whoisonlinesession.php Minor - partial merge with 1.11.x Aug 8, 2018
yarn.lock Minor - update version, fix js calls Aug 17, 2018

Chamilo 2.x

Build Status Scrutinizer Code Quality Bountysource Code Consistency CII Best Practices Codacy Badge

Chamilo is an e-learning platform, also called "LMS" or "LCMS" published under GNU/GPLv3+. It is or has been used by more than 20M people worldwide.

Quick install

If you want a detail and explanation of all of the steps please read the "Installation Guide". We assume you have already installed "yarn" and "composer" and you're installing the portal in a domain, not in a sub folder inside a domain.

git clone chamilo2
cd chamilo2
composer install (If composer asks to accept recipes, just press enter or "n")
php bin/console assets:install
php bin/console fos:js-routing:dump --format=json --target=public/js/fos_js_routes.json
yarn install
yarn run encore dev
chmod -R 777 .env app var public main/default_course_document/images/	

Then enter the main/install/index.php and follow the UI instructions (database, admin user settings, etc).

Quick update

If you have already installed it and just want to update it from Git, do:

git pull origin master
yarn install
yarn encore dev
composer update

This will update the JS (yarn) and PHP (composer) dependencies.

Installation guide (Dev environment, stable environment not yet available)

The instructions above are meant only for stable versions. If you are a developer and want to contribute to Chamilo in the current development branch (not stable yet), then please follow the instructions below. Please bear in mind that the development version is NOT COMPLETE at this time, and many features are just not working yet. This is because we are working on root components that require massive changes to the structure of the code, files and database. As such, to get a working version, you might need to completely uninstall and re-install from time to time. You've been warned.

First, apply the procedure described here: Managing CSS and JavaScript in Chamilo (in particular, make sure you follow the given links to install all the necessary components on your computer).

Then make sure your database supports large prefixes (see this Stack Overflow thread if you use MySQL < 5.7 or MariaDB < 10.2.2).

Load the (your-domain)/main/install/ URL to start the installer (which is very similar to the installer in previous versions). If the installer is pure-HTML and doesn't appear with a clean layout, that's because you didn't follow these instructions carefully. Go back to the beginning of this section and try again.

Finally, if you are installing this development version in a subdirectory, you will need to add "folder" in configuration.php once the installation process finished:

$_configuration['url_append'] = 'the-folder';

and in the ".env" file in the root folder:



The upgrade instructions are located in the documentation here: Upgrade

Changes from 1.x

  • app/Resources/public/assets moved to public/assets
  • main/inc/lib/javascript moved to public/js
  • main/img/ moved to public/img
  • main/template/default moved to src/Chamilo/CoreBundle/Resources/views
  • bin/doctrine.php removed use bin/console doctrine:xyz options
  • PHPMailer replaced with Swift Mailer
  • Plugin images, css and js libs are loaded inside the public/plugins folder (composer update copies the content inside plugin_name/public inside web/plugins/plugin_name
  • Plugins templates use asset() function instead of using "_p.web_plugin"
  • bower replaced by yarn


  • Auth (CAS, Shibboleth, Oath2)
  • URL course changes "cidReq" to "c", "session_id" to "s"
  • Fix plugins that use api_get_setting directly in the code
  • Fix plugins render using tpl or PHP files


If you want to submit new features or patches to Chamilo, please follow the Github contribution guide and our file. In short, we ask you to send us Pull Requests based on a branch that you create with this purpose into your repository forked from the original Chamilo repository.


For more information on Chamilo, visit