Chamilo 1.8.8.4 : Installation Guide

Documentation > Installation Guide

Thank you for downloading Chamilo 1.8.8.4

This guide explains how to install Chamilo FREE. Please read this fully before proceeding with the installation.

Contents

  1. Pre-requisites
  2. Installation of Chamilo LMS
  3. Upgrade from a previous version of Chamilo/Dok€os
  4. Troubleshooting
  5. Administration section
  6. LDAP 
  7. Mathematical formulas with LaTeX
  8. Mathematical formulas with ASCIIMathML
  9. Mathematical formulas with WIRIS
  10. Full-text indexation with Xapian
  11. Chamilo Rapid - PPT conversion system
  12. Setting chronological tasks


1. Pre-requisites

Chamilo can be installed on Windows, Linux, Mac OS X and UNIX servers indifferently. However, we recommend the use of Linux server for optimal flexibility, remote control and scalability.

Chamilo is mainly a LMS running Apache 1.3, 2.0, MySQL 5.1 and PHP 5.2 (the so called AMP trilogy).

All these software are open source and freely available.

To run Chamilo LMS on your server, you need to install WAMP, LAMP or MAMP:

MySQL database server

You will need a login and password allowing to administrate and create at least one database. By default, Chamilo will create a new database for each course created. It means your host should allow you to create and administrate several databases. You can also install Chamilo using only one database, in that case you have to select this option during the installation.

2. Installation of Chamilo LMS


The following directories need to be readable, writeable and executable for everyone (replace [chamilo] with the directory where your Chamilo installation is located): Optionally, you can do the same to the following directories if you want to enable CSS styles package upload and sub-language definition: Since Chamilo 1.8.8, you can also enable full-text indexing features which require the php5-xapian PHP's extension module to be installed. If you do use it, you will need to allow your system to write into the sarchdb directory:

On Linux, Mac OS X and BSD operating systems you can use the CHMOD 0777 command for this (although we recommend you seek advice from an experienced system administrator to avoid security issues). On Windows, you may need to check the properties of the folders (by right-clicking on them).

2.5. The following directory needs to be readable and writeable for the web browser, only during the installation process:

On Linux, Mac OS X and BSD operating systems you can use the CHMOD 666 command for this (although we recommend you seek advice from an experienced system administrator). In Windows, you may need to check the properties of the files and folders (by right-clicking on them).

NOTES:
Do not modify the home_*.html files directly. Instead, choose "Configure the homepage" in the Chamilo administration section.

Windows : with all-in-one packages like XAMPP, you can install Chamilo easily. In this case (and unless you use it in production), the login and password for MySQL will probably remain empty.

Configuration and security after installation


PHP configuration

To get the best of Chamilo, you need to finetune PHP settings. Consider :
max_execution_time = 300; Maximum execution time of each script, in seconds
max_input_time = 600; Maximum amount of time each script may spend parsing request data
memory_limit = 256M; Maximum amount of memory a script may consume (128MB)
post_max_size = 64M;
upload_max_filesize = 100M;

Some users could meet problems if their PHP settings don't fit these ones:

Past Chamilo versions required register_globals to be set to On. This is no longer necessary, this can be set to Off and Chamilo will work fine. It is considered a bad choice in terms of security to set register_globals to On.

Note: if you are using PHP 5.3 or higher, you need to set your date.timezone setting to whatever your server's timezone is. For example, if your server is in the 'America/New_York' timezone, set this in your php.ini:

date.timezone = 'America/New_York'

BSD users: these php libraries have to be included during php installation:

You might also add the following php modules and packages:



3. Upgrade from a previous version of Chamilo or Dok€os (versions <2.0)

Before upgrading we heavily recommend you do a full backup of the previous Chamilo or Dok€os directories and databases. If you are unsure how to achieve this please ask your hosting provider for advice.

NOTE: This version of Chamilo can only be used to upgrade from smaller versions of Chamilo or Dok€os. For example, you cannot use the normal upgrade scripts from Chamilo 1.8.8.4 to upgrade from Dok€os 2.0. If you need this, please contact one of the Chamilo Association's official providers.

3.1 Upgrading from Chamilo 1.8.8 or 1.8.8.2

3.1 Upgrading from Chamilo 1.8.x


3.2 Upgrading from Dok€os 1.8.x

If you upgrade from Dok€os 1.8.x
* Styles and images are located in the main/css or main/img directories. You can still recover them from your backup if you have made it. Any modified style or image that uses the default style/image name will be overwritten by the next step. To avoid loosing your customisations, always ensure you copy the styles/images under a new name and use and modify the copy, not the original. The original will always be overwritten by newer versions. In Dok€os 1.8.5, we have changed the name of several CSS themes. Backwards compatibility is ensured by the fact that an upgrade only adds the new themes, but you should try and use these new themes rather than sticking to the old ones which will be deprecated shortly (not maintained).

3.3 Upgrading from Dok€os 1.6.x

If you upgrade from a lower version of Dok€os (1.6.x), the first and most important thing to do is to *move* your current directory to another place.
An easy way to do that is to create a subdirectory called "old_version" in your current Chamilo/Dok€os directory and move everything in there using a simple "move" command (i.e. under Linux: mkdir old_version; mv * old_verion/), then make the old_version/ directory writeable by the web server so that courses/ and upload/ directories can be moved from the old to the new installation.

The complete process is as follow:
NOTE: The upgrade from 1.6.x to 1.8.x implies a revision of the customised graphics and styles. The new version uses a complete new set of icons and styles, which means the ones from version 1.6 cannot be simply reused. The good news is the version 1.8.x allows you to create your own style in a separate css folder, that you can then reuse through all the 1.8.x versions

WARNING:
Do not delete the previous Chamilo/Dok€os installation directory before installing the new one. When the update is successfully finished, you can remove the old path.

NOTE:
Do not modify the home_*.html files directly. Instead, choose "Configure the homepage" in the Chamilo administration section.

3.4 In both last cases

The following directories need to be readable, writeable and executable for the web server: On Linux, Mac OS X and BSD operating systems you can quick-fix this using the CHMOD 777 command, but if you are unsure, we recommend you seek advice for your own OS on our forum. In Windows, you may need to check the properties of the folders.

3.5 Quick-upgrade from 1.6.x guide for Linux

The following quick-upgrade guide assumes that:
On the command-line, type:
Then:


4. Troubleshooting

If you have problems, go to the Chamilo website and ask a question on the support forum. Please read the previous messages first to see if there is already an answer to your question. We also maintain a list of Frequently Asked Questions.


5. Administration section

To access the Chamilo administration section, open browser, go to your Chamilo adress and log in with the admin user. Then you will see a "Platform admin section" link in the header of the web page. There you can manage users, courses, sessions, portal look and feel, homepage content, course categories etc. 


6. LDAP

This part is optional, only organisations with an LDAP server will need to read this.
An LDAP module is already provided in Chamilo, but it has to be configured to make it work.

Compiling

Linux servers: It's possible that you have to recompile php with ldap support. Newer distributions also allow downloading rpms for additional packages.

Activating LDAP in Chamilo

In (chamilo folder)/main/inc/conf/configuration.php, around line 90, you see
//for new login module
//uncomment these to activate ldap
//$extAuthSource['ldap']['login'] = "./main/auth/ldap/login.php";
//$extAuthSource['ldap']['newUser'] = "./main/auth/ldap/newUser.php";

remove the // from the last two lines to activate LDAP.

Settings

Ask the LDAP server admin for the settings:

Since 1.8.5, you have to change the LDAP settings inside the "Portal administration" panel, under "Chamilo configuration settings", section "LDAP".
As an example, you should find the following kind of values:
LDAP main server's address: "myldapserver.com"; // your ldap server
LDAP main server's port: 389; // your ldap server's port number
LDAP domain: "dc=xx, dc=yy, dc=zz"; //domain

Teacher/student status

By default, Chamilo will check if the "employeenumber" field has a value. If it has, then Chamilo will consider this user as being a teacher.
If you want to change this behaviour, you can edit main/auth/ldap/authldap.php, function ldap_put_user_info_locally(), and change the if (empty($info_array[$tutor_field])) condition to whatever suits you.
You can also remove this check by removing the condition and leaving only the $status = STUDENT; line.

Protected LDAP servers

Some LDAP servers do not support anonymous use of the directory services.
In this case, you should fill in the appropriate fields in the administration panel (e.g. "manager" and "mypassword") and Chamilo will try to authenticate using these, or fall back to anonymous mode before giving up.

LDAP import into sessions

There is a new set of scripts now that allow you to insert users from LDAP directly into a Chamilo session. This, however, relies on a set of static choices in the LDAP contact attributes.
The fields used intensively by the Chamlio module are:


7. Mathematical formulas with LaTeX

This part is optional, only organisations planning to use mathematical formulas inside the online editor might want to read this.

You can enable mathematical equations writing inside the Chamilo online editor (FCKEditor) by applying the following steps:

Add the corresponding cgi-bin directory to your Apache configuration could be done, in Apache 2, like this:

ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory "/var/www/cgi-bin">
  AllowOverride None
  Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
  Order allow,deny
  Allow from all
</Directory>

Adding a symbolic link can be done, under Windows, by creating a shortcut to the mimetex.exe file from the cgi-bin directory, or under Linux by issuing the following command:

ln -s /var/www/chamilo/main/inc/lib/mimetex/mimetex.cgi /var/www/cgi-bin/mimetex.cgi

If you are reluctant to modify your Apache configuration, alternately you may do at step 4 the following: copy mimetex.exe (for windows) or mimetex.cgi (for linux) from chamilo/main/inc/lib/mimetex/ directory to your cgi-bin/

As a result of this procedure, a new button becomes available in your Chamilo online editor, that gives you possibility to insert mathematical formulas into your documents.


8. Mathematical formulas with ASCIIMathML

Mathematical formulas may be rendered on web-pages using the script ASCIIMathML.js (a customized version for Chamilo). For more information about this script and about the ASCIIMath formula syntax see http://www1.chapman.edu/~jipsen/mathml/asciimath.html and http://dlippman.imathas.com/asciimathtex/AMT.html.

For writing ASCIIMath formulas in documents, a correspondent plugin for the online editor should be activated. For doing this, see the platform administration section and open the page "Administration > Configuration settings > Editor". Enable the setting "ASCIIMathML mathematical editor".

Inside documents, the script ASCIIMathML.js renders mathematical formulas in two altrnative ways:

For providing image-based fallback in a production system, you should pick up and install on your server software for TeX rendering, such as:

As an alternative, you may try to use some public services for TeX rendering, such as:

Open with a text editor the file .../chamilo/main/inc/lib/asciimath/ASCIIMathML.js. Find somewhere at the beginning the line that initializes the variable AMTcgiloc. You may need to alter the setting to be for example:

For testing how the variable AMTcgiloc may be set, there are some examples (as comments) inside the script.


9. Mathematical formulas with WIRIS

Installing this plugin you get WIRIS editor and WIRIS CAS.
This activation is not fully realized unless it has been previously downloaded the PHP plugin for FCKeditor WIRIS and unzipped its contents in the Chamilo's directory main/inc/lib/fckeditor/editor/plugins/fckeditor_wiris/
This is necessary because Wiris is proprietary software and his services are commercial. To make adjustments to the plugin, edit configuration.ini file or replace his content by configuration.ini.default Chamilo file.


Full-text indexation with Xapian

Note: This step will require a dedicated server or a virtual dedicated server as the packages involved are not available on most shared hosting solutions.
On Debian or Ubuntu 10.04 and superior, you will simply need to install the php5-xapian package and restart your web server:

sudo apt-get install php5-xapian
sudo /etc/init.d/apache2 restart
Then go to your administration page -> Configuration settings -> Search and enable the search tool. Follow the recommendations on the page to get the complete indexing suite installed. Once you're done, all documents you import into your Chamilo portal in a recognized format will be indexed and searchable. Chamilo Administrators training (which you can ask any Chamilo's Official Provider for) include a full review of the full-text search feature.


Chamilo Rapid - PPT conversion system

Note: This step will require a dedicated server or a virtual dedicated server as the packages involved are not available on most shared hosting solutions.
On Debian or Ubuntu 10.04 and superior, install OpenOffice.org v3 (this might work with LibreOffice) and start it as a headless server:

sudo apt-get install openoffice.org
sudo soffice -nologo -nofirststartwizard -headless -norestore -invisible "-accept=socket,host=localhost,port=2002,tcpNoDelay=1;urp;"
Then go to your administration page -> Chamilo Rapid and set the host to "localhost" and the port to "2002". Save. Go to your course, learning path tool and see the new icon appeared. Import your PPT. This should work. Note: Sometimes, this doesn't work out so easily. You can probably ask for the assistance of any system administrator around with a bit of Java and PHP experience, or you can always ask one of the Chamilo's Official Providers for assistance (ask for a guaranteed commercial contract).


Setting chronological tasks

Since Chamilo 1.8.8, a few tasks need to be executed regularly in order to get the best out of your server resources. One of such tasks (and the only one around at the time of Chamilo 1.8.8) is the sending of internal messaging notifications by e-mail, i.e. when you receive an e-mail from another person or from a group inside the internal messaging system of Chamilo, if all e-mails are sent immediately, then you might not have the chance to receive them at your pace, once a day or even once a week. For cases like this you, as a Chamilo administrator, should setup a cron process on the server to check the queue of e-mails and send is timely.

Setting up a cron task is easy and there are several ways to do it. We recommend you have a look at the Drupal documentation for setting up cron and define your own cron process as:

35 * * * * wget -O - -q -t 1 http://campus.example.com/main/cron/run.php
Make sure you have a look into run.php as maybe you want to change a few settings there.




Contact address
Mail: info@chamilo.org



Valid XHTML 1.0 Transitional Valid CSS