# Guide d'installation de Chamilo LMS

Merci d'avoir téléchargé Chamilo

- Vous pouvez tester Chamilo LMS, en tnt que professeur, sans l'installer, sur le campus libre de Chamilo

Ce guide explique comment installer Chamilo LMS. Nous recommandons activement la lecture complète de ce guide avant de commencer l'installation.

English: Get back to the English version of the installation guide.

## Index

1. Prérequis
2. Installation de Chamilo LMS
3. Upgrade depuis une version antérieure de Chamilo/Dok€os
4. Problèmes
5. La section d'administration
6. LDAP
7. Formules mathématiques avec LaTeX
8. Formules mathématiques avec ASCIIMathML
9. Formules mathématiques avec WIRIS
10. Indexation full-text avec Xapian
11. Chamilo Rapid - système de conversion PPT
12. Configurer de tâches "chronologiques"
13. Changer l'ordre des noms/prénoms par langue
14. Améliorer le temps de téléchargement de fichiers

## 1. Prérequis

Chamilo peut être installé sous Windows, Linux, Max OS X et serveurs UNIX indifféremment. Cela dit, nous recommandons activement l'utilisation d'un serveur Linux pour sa flexibilité optimale, son facile contrôle à distance et sa capacité de redimensionnement. En particulier, nous recommandons la distribution Debian (ou sa petite soeur Ubuntu)
Chamilo est un système de gestion de l'apprentissage (LMS) qui fonctionne principallement sur base d'un serveur web (Apache 2.2 recommandé), de MySQL (5.1 ou 5.5) ou de MariaDB (5 ou 10) et de PHP 5.3, 5.4 ou 5.5 (5.5 recommandé pour une plus grande efficacité) (la trilogie aussi appelée AMP).
Tous ces éléments logiciels sont sous licence de logiciels libres et sont disponibles gratuitement.
Pour faire fonctionner Chamilo LMS sur votre serveur, il est suggéré d'installer WAMP, LAMP ou MAMP (ou leurs composants individuellement):

- Pour installer WAMP (AMP sous Windows), nous recommandons le paquet XAMPP en installateur ".exe"
- Pour installer LAMP (AMP sous Linux), utilisez le système de gestion de paquets de votre distribution préférée (apt, Synaptic, RPMFinder, yum etc.). Par exemple, sur un serveur Ubuntu, vous pouvez utiliser le Shell (terminal) ou Synaptic via le guide Ubuntuguide on Apache et les sections suivantes du présent guide/li>
- Pour installer MAMP (AMP sur Mac OS X), référez-vous au site dédié de MAMP
- Assurez-vous de vérifier les dépendances si vous avez besoin de connaîtres les pré-requis de façon plus précise.

### Serveurs de base de données MySQL ou MariaDB

Vous aurez besoin d'un login et d'un mot de passe pour gérer et créer une base de données. Généralement, la configuration par défaut sur des ordinateurs locaux est de permettre la connexion comme utilisateur root avec un mot de passe vide. Il est FORTEMENT RECOMMANDÉ de modifier le mot de passe et de définir un utilisateur avec un accès à une (et une seule) base de données spécifique. Veuillez vous référer à la documentation de MySQL ou MariaDB pour ce faire.
Veuillez noter que ceci a été largement simplifié depuis la version 1.9, étant donné qu'il était nécessaire antérieurement de choisir entre plusieurs bases de données ou un mode base-de-données-unique non maintenu..

## 2. Installation de Chamilo LMS

Une fois votre système de base préparé, vous pouvez commencer l'installation de Chamilo proprement dite

1. Télécharger Chamilo LMS
2. Décompressez-le
3. Copiez le répertoire de Chamilo dans le répertoire web de votre serveur web (Apache). Celui-ci peut se trouver dans C:\xampp\htdocs\ sur une machine Windows avec WAMP, ou dans /var/www/html/ (ou /var/www/) sur un serveur Linux
4. Ouvrez votre navigateur (Firefox, Chrome, ...) et tapez l'adresse suivante http://localhost/chamilo/ si vous l'avez installé localement ou http://www.domain.com/chamilo/ l'avez installé à distance. Nous recommandons la définition d'un Virtual Host spécifique pour cette installation si vous avez les compétences requises pour configurer votre serveur web
5. Suivez le processus d'installation. Vous pouvez accepter toutes les valeurs par défaut. Pensez à modifier le mot de passe d'administrateur afin de vous en souvenir plus tard.

Note: si vous installez Chamilo localement en utilisant "localhost" ou l'adresse IP de votre ordinateur durant l'installation, vous pourriez rencontrer des difficultés lors de l'accès depuis d'autres ordinateurs. Pour éviter ça, vous pouvez appliquer une petite modification à votre fichier de configuration.
Les répertoires suivants doivent êtres lisibles, éditables et exécutables par votre serveur web.
Note: Cela ne requiert généralement pas de modification spécifique sous Windows (ce qui est d'ailleurs l'une des raisons principales pour l'existence d'autant de virus et malware pour ce système d'exploitation, mais cela demande l'utilisation de "chmod" sous Linux et Mac. Dans ces derniers cas, veuillez suivre les instructions qui suivent.
Remplacez [chamilo] par le répertoire où vous avez placé le contenu du zip:

- [chamilo]/main/inc/conf/
- [chamilo]/main/upload/users/
- [chamilo]/main/default_course_document/images/
- [chamilo]/archive/
- [chamilo]/courses/
- [chamilo]/home/

Optionnellement, vous pouvez faire la même chose pour les répertoires suivants si vous souhaitez permettre l'envoi de styles CSS ou la définition de nouvelles langues par les administrateurs de Chamilo:

- [chamilo]/main/css/
- [chamilo]/main/lang/

Depuis Chamilo 1.8.8 (et pour toutes les versions suivantes), vous pouvez également activer l'indexation full-text, qui requiert l'installation de l'extension php5-xapian. Si vous l'utilisez, vous devrez autoriser votre système à écrire dans le répertoire searchdb:

- [chamilo]/searchdb

Si vous trouvez un répertoire tests/ à la racine, veuillez le supprimer. Il s'agit d'un répertoire de développement qui ne bénéficie pas des vérifications de sécurité nécessaires pour un système en production. Il ne devrait en tout cas *jamais* être accessible aux utilisateurs finaux sur un système en production.

Sous les systèmes d'exploitation Linux, Mac OS X et BSD, vous pouvez utiliser la commande chmod 0775 pour modifier les permissions, bien que nous recommandions, pour des raisons de sécurité, de cherchez l'assistance d'un administrateur système expérimenté pour le faire. Sous Windows, vous pourriez avoir besoin de vérifier les propriétés de ces répertoires (en cliquant dessus avec le bouton droit de la souris).

Le répertoire suivant doit être lisible et éditable seulement durant le processus d'installation:

- chamilo/main/inc/conf/

NOTES:
Ne modifiez *pas* les fichiers home/home_*.html directement. Choisissez plutôt l'option "Configurer la page d'accueil" dans la section d'administration de Chamilo.

Windows : avec les paquets tout-en-un comme XAMPP, vous pouvez installer Chamilo facilement. Dans ce cas (et à moins que vous ne l'utilisiez en production), le mot de passe de MySQL pourrait rester vide.

### Configuration et sécurité après l'installation

- Protégez votre répertoire de configuration: assurez-vous que personne (à part vous) ne puisse l'éditer. Vous trouverez le répertoire de configuration dans (chamilo folder)/main/inc/conf. Rendez-le lisible uniquement (windows/xwindows: click-droit sur le répertoire pour en éditer les propriétés - Linux/BSD/MacOSX: utilisez la commande "chmod -r 0555". Le fichier de configuration (main/inc/conf/configuration.php) est créé par votre serveur webThe config file is created by your web server (Apache + PHP, usually) so you may need to be root user to change its permissions.
- Protégez votre répertoire d'installation: si le répertoire [chamilo]/main/install est toujours accessible, des individus mal intentionnés pourraient (potentiellement) provoquer une réinstallation par dessus votre installation actuelle (ce qui pourrait se matérialiser en une perte de données). Pour éviter ça, déplacez le répertoire ailleurs, changez ses permissions ou supprimez-le, tout simplement, afin que personne ne puisse y accéder.
- Astuces de sécurité: rendre tous les fichiers éditables par tout le monde (chmod -r 0777) vous permettra d'installer Chamilo plus facilement, il est vrai, mais cela permettra également à d'éventuels individus malintentionés de plus facilement attaquer votre installation de Chamilo. Il est donc conseillé d'utiliser un utilisateur système spécifique comme propriétaire de tous les fichiers et répertoires de Chamilo, et de seulement donner accès au serveur web sur les répertoires et fichiers énumérés plus haut. Ces fichiers et répertoires doivent uniquement être accessibles au serveur web, pas au reste des utilisateurs système sur votre serveur, et encore moins aux utilisateurs non-identifiés qui tenteraient de se connecter à votre serveur (par exemple via FTP). Il est aussi recommandé d'empêcher l'interprétation de fichiers PHP pour tous les répertoires qui autorisent l'écriture par le serveur web (à part la racine des répertoires de cours). N'hésitez pas à engager un administrateur système expérimenté pour cela. Cela peut s'avérer un peu plus cher maintenant, mais vous serez heureux de ne pas devoir faire façe aux coûts exhorbitants des pertes de données au cas où vous souffririez l'attaque d'un pirate.
- Configurez votre installation de Chamilo: dans la section d'administration de Chamilo, vous pouvez utiliser les paramètres de configuration pour ajuster le comportement de votre installation.
- Configurez les mails de Chamilo: la plupart des installations de Chamilo utilisent la configuration de mails par défaut de php.ini. Cependant, si vous utilisez un serveur de mails différent, vous pourriez avoir besoin d'ajuster les paramètres de mails dans le fichier [chamilo]/main/inc/conf/mail.conf.php.
- Jetez un oeil sur notreguide de sécurité pour plus d'information

### Configuration de PHP

Pour obtenir le meilleur de votre installation de Chamilo, vous devez configurer vos paramètres PHP:

- Editez le fichier php.ini (sous windows, il devrait se trouver dans C:\xampp\php\php.ini, et sous Debian ou Ubuntu (Linux) : /etc/php5/apache2/php.ini
- cherchez les mots contenant "_max" et augmentez les valeurs correspondantes pour permettre au serveur de gérer des fichiers plus grands et des requêtes plus lourdes
- nous recommandons les valeurs suivantes :

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 = 100M
upload_max_filesize = 100M

Certains de nos utilisateurs ont rencontré des problèmes parce que leurs paramètres de configuration ne correspondaient pas dans les cas suivants (valeurs recommandées):

- short_open_tag = Off
- safe_mode = Off
- magic_quotes_gpc = Off
- magic_quotes_runtime = Off

Certaines versions antérieures de Chamilo exigeaient que register_globals soit configuré à On. Ce n'est plus le cas depuis bien longtemps et ce paramètres devrait désormais être configuré à Off (bien que les dernières versions de PHP ne proposent même plus ce paramètre de configuration et le mettent d'office à Off). L'activation du register_globals est désormais largement considérée comme un mauvais choix au niveau sécurité.

Note: si vous utilisez PHP 5.3 ou supérieur, vous devez configurer le paramètre date.timezone à la zone horaire de votre serveur. Par exemple, si votre serveur est dans la zone horaire 'America/New_York', configurez-le de la manière suivante dans votre php.ini:

date.timezone = 'America/New_York'

Note: PHP 5.3.9 introduit un nouveau paramètre appelé "max_input_vars", qui limite le nombre d'éléments que vous pouvez envoyer au travers d'un formulaire déterminé. Si vous devez gérer de grandes quantités d'utilisateurs ou de longs parcours d'apprentissage (de nombreux éléments), assurez-vous de configurer ce paramètre plus haut que se valeur par défault de 1000.

Utilisateurs de BSD: les librairies suivantes doivent être inclues durant l'installation de PHP:

- php5-mysql (or php5-mysqlnd) The mysql shared extension for php
- php5-pcre The pcre shared extension for php
- php5-session The session shared extension for php
- php5-zlib The zlib shared extension for php
- php5-gd The graphics-generation extension for php
- php5-intl The international behaviours extension for php
- (optional) php5-ldap if you want to be able to use LDAP authentication

Nous recommandons aussi les extensions suivantes:

- php5-ctype
- php5-iconv
- php5-json
- php5-mbstring
- php5-curl
- php5-iconv
- php5-xsl
- php5-ldap
- php5-xapian

Le reste de ce manuel n'est pas encore traduit. N'hésitez pas à consulter le forum de Chamilo si la lecture en anglais vous est impossible.

## 3. Mettre à jour depuis une version antérieure de Chamilo LMS (1.*) ou de Dok€os (<2.0)

Avant de mettre à jour, nous recommandons chaudement la prise d'une copie de sauvegarde de votre installation (répertoires et bases de données). Si vous ne savez pas comment faire, consultez votre fournisseur d'hébergement ou un administrateur système qualifié.
Chamilo LMS 1.9 comes with a new database structure in comparison to 1.8. Although the upgrade script takes the migration in charge, it might be generating a very heavy load on your server during the upgrade, and will change your database completely, preserving the data as well as possible (we have tested the procedure many times, but remember this is GNU/GPLv3 and we cannot be held responsible for what would happen to your data without professional supervision). This is why we *really* recommend you take a full backup of your system before you upgrade.
NOTE: For very heavy Chamilo databases, some of our official providers have developed improved migration procedures that use more memory but process the upgrades up to 20 times faster. If this is the kind of thing you need, we highly recommend you contact them (see reference below).
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.9 to upgrade from Dok€os 2.0. If you need this, please contact one of the Chamilo Association's official providers <providers@chamilo.org>)

### 3.1 Upgrading from Chamilo 1.9.x (minor upgrade)

As this is only a minor version change from previous 1.9.* versions of Chamilo, the only thing you need to do is:

- check that you haven't left any customised stylesheet or image (if you have, make sure you keep a copy on the side*)
- download the Chamilo 1.9 install package from the Chamilo download page
- unzip the new files of Chamilo 1.9 over the files of the older version (or unzip the files in one folder and then copy the files from there to the older version's directory)
- edit the main/inc/conf/configuration.php file: at the en of the file, locate the previous version number (e.g. '1.9.4') and change it to this new version (e.g. '1.9.8')
- you're done! No other upgrade procedure is required

### 3.2 Upgrading from Chamilo 1.8.x

- check that you haven't left any customised stylesheet or image (if you have, make sure you keep a copy on the side*)
- download the Chamilo 1.9 install package from the Chamilo download page
- unzip the new files of Chamilo 1.9 over the files of the older version (or unzip the files in one folder and then copy the files from there to the older version's directory)
- point your browser on your portal URL + main/install/
- choose your language and click Upgrade from 1.8.x

### 3.3 Upgrading from Dok€os 1.8.x

If you upgrade from Dok€os 1.8.x :

- check that you haven't left any customised stylesheet or image (if you have, make sure you keep a copy on the side*)
- download the Chamilo 1.9 install package from the Chamilo download page
- unzip the new files of Chamilo 1.9 over the files of the older version (or unzip the files in one folder and then copy the files from there to the older version's directory)
- point your browser on your portal URL + main/install/
- choose your language and click Upgrade from 1.8.x

A bunch of Chamilo administrators have reported minor issues with the migration between versions considerably apart (like from Dok€os to Chamilo). This might include loosing some assignments or forum posts. To avoid any ugly effect on your users, we recommend you first establish a checklist of all the content that is critical to you, and that you keep a working copy of your previous site on the side. This way, it will be easier to manage the transition by letting your users get access to their contents from the previous site and making it easier for you to compare the two. If you are experiencing difficulties, consider asking for help from a PHP developer or hiring an official Chamilo provider. They will make sure you get the best our of your Chamilo migration.
* 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.4 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:

- move the current Dok€os directory contents to a subdirectory called old_version and make it writeable by the web server. This is important to allow the move of the courses/ and upload/ directories to the new install
- download the Chamilo 1.9 install package from the Chamilo download page
- unzip the new files of Chamilo 1.9 in the main Chamilo/Dok€os directory. The new directory main should be located directly inside your Chamilo/Dok€os root folder
- point your browser on your portal URL
- choose your language and click Upgrade from 1.6.x and confirm the current directory of the old version

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.5 In both last cases

The following directories need to be readable, writeable and executable for the web server:

- chamilo/main/inc/conf/
- chamilo/main/upload/users/
- chamilo/main/default_course_document/
- chamilo/archive/
- chamilo/courses/
- chamilo/home/

On Linux, Mac OS X and BSD operating systems you can quick-fix this using the chmod 0777 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.6 Quick-upgrade from 1.8.x guide for Linux

The following quick-upgrade guide assumes that:

- the Chamilo database username (for MySQL) is "chamilo_db_user" and your login is "chamilo_user"
- the chamilo installation is currently in /var/www/chamilo/ and it has 0777 permissions (which is bad, we know, but you'll fix it)
- your portal's URL is http://www.portalurl.com/

On the command-line, type:

- cd /tmp
- mysqldump -u chamilo_db_user -p --all-databases --result-file=/home/chamilo_user/chamilo_old.sql
- cp -ra /var/www/chamilo /home/chamilo_user/backup_chamilo
- mkdir /var/www/chamilo/old_version
- mv /var/www/chamilo/* /var/www/chamilo/old_version/
- chmod -R 0777 /var/www/chamilo/old_version/
- wget http://chamilo.googlecode.com/files/chamilo-1.9.8.tar.gz
- tar zxvf chamilo-1.9.8.tar.gz
- sudo cp -ra chamilo-1.9.8/* /var/www/chamilo/
- rm chamilo-1.9.8.tar.gz
- sudo rm -r chamilo-1.9.8/

Then:

- Direct your browser to http://www.portalurl.com/main/install/
- Proceed with the installation
- Review the directories permissions

## 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.

##

## 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

Note: The LDAP mechanism has been changed in 1.9. As a result, some of the following information might not be correct. Please check the configuration settings inside Chamilo to learn the details.

In [Chamilo folder]/main/inc/conf/configuration.conf.php, around line 93, you'll find settings like the following:
// -> Uncomment the two lines below to activate LDAP AND edit main/inc/conf/auth.conf.php for configuration
// $extAuthSource["extldap"]["login"] = $_configuration['root_sys'].$_configuration['code_append']."auth/external_login/login.ldap.php";
// $extAuthSource["extldap"]["newUser"] = $_configuration['root_sys'].$_configuration['code_append']."auth/external_login/newUser.ldap.php";
remove the // from the last two lines to activate LDAP.

### Settings

Ask the LDAP server admin for the settings:

- ldap server name
- ldap server port (usually 389)
- ldap dc

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:

- uid, which is matched to the username in Chamilo
- userPassword, which is matched to the user password, although this part will only work for non-encrypted passwords for now, but it shouldn't be necessary if using the LDAP server as authentication
- ou should end with the year of the person registration or any criteria you will use to filter users, so that they can be retrieved on that criteria
- sn is used as the lastname field in Chamilo
- givenName is used as the firstname field in Chamilo
- mail is used as the email field in Chamilo

## 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:

- 1. Configure your Apache installation to add a cgi-bin directory that contains a symbolic link to the mimetex.cgi in chamilo/main/inc/lib/mimetex/ (*see below, step 4)
- 2. Reload your Apache configuration
- 3. Edit the online editor's configuration file chamilo/main/inc/lib/fckeditor/myconfig.php and

- 3.1. Enable the mimetex plugin, find the line //$config['LoadPlugin'][] = 'mimetex'; and modify it to be: $config['LoadPlugin'][] = 'mimetex'; (remove the double slash)
- 3.2. The additional settings $config['MimetexExecutableInstalled'] , $config['MimetexExecutableDetectionMethod'] and $config['MimetexExecutableDetectionTimeout'] are configured for best probability of automatic detection of the installed on the server file mimetex.cgi or mimetex.exe. In rare cases these options might need to be twicked, see the acccompanying comments about these options within the file myconfig.php
- 3.3. Once the plugin has been activated, almost in all toolbars the corresponding button appears. If you need to edit some toolbars, see the configuration files (php) within the directory chamilo/main/inc/lib/fckeditor/toolbars/ . Here is an example:
  $config['ToolbarSets']['Normal'] = array(
  array('FitWindow','Bold','Image','Link','PasteWord','MP3','mimetex','Table','Subscript','Superscript','ShowBlocks')
  );
  The item 'mimetex' represents the button, you may add it to or remove it from any toolbar.

- 4. To install mimetex executable file, make these changes:

  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/

- 5. Make sure that the file mimetex.cgi (or mimetex.exe) has right to be executed by the web-server process. For example, on a Ubuntu Linux system you may write a command like the following:
  sudo chmod a+x mimetex.cgi
- 6. Make sure that the file mimetex.cgi (or mimetex.exe) has been uploaded in BINARY format. This is another common problem; the fix is just to re-upload the file in ASCII format. You'll need to consult your FTP program's documentation to figure out how to switch modes. BINARY mode is used for non-text items, such as executables (*.exe), zip files (*.zip), image files (*.jpg, *.gif) and the like. ASCII mode needs to be used for text only documents, which includes *.txt, *.cgi, *.pl *.css, *.html, etc.
  You can also try to re upload the mimetex file using the "Upload file" in the "Filemanager" tool in CPanel/Plesk

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:

- By translation ASCIIMath formula notation into MathML code. MathML standard currently is supported by the following browsers:
  - Mozilla Firefox, you may consider installing STIX fonts (http://www.stixfonts.org) on your client machines for nice looking formulas
  - Internet Explorer 6 or higher with the add-on MathPlayer 2.0 or higher (http://www.dessci.com/en/products/mathplayer)
  - Opera 9.5 or higher
- For browser that do not support MathML - by translation ASCIIMath formula notation into TeX notation and passing it to an external service. The external service produces and returns an image that contains the formula. This way is so called "image-based fallback".

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

- mimeTeX - http://www.forkosh.dreamhost.com/source_mimetex.html. See "7. Mathematical formulas with LaTeX" on how to install the mimetex executable file on your server
- mathTeX - http://www.forkosh.com/mathtex.html. Browse the site for installation instructions

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

- MathTran - http://www.mathtran.org
- Google Chart Tools - http://code.google.com/apis/charttools

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:

- var AMTcgiloc = "http://mychamiloserver.org/cgi-bin/mimetex.cgi";
- var AMTcgiloc = "http://mychamiloserver.org/cgi-bin/mathtex.cgi";
- var AMTcgiloc = "http://www.mathtran.org/cgi-bin/mathtran?tex=";
- var AMTcgiloc = "http://chart.googleapis.com/chart?cht=tx&chs=1x0&chl=";
- ... or something else

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 will not be completed unless you have previously downloaded the PHP plugin for FCKeditor WIRIS and unzipped its contents into the main/inc/lib/fckeditor/editor/plugins/fckeditor_wiris/ directory.
This is necessary because Wiris is proprietary software and its 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 11.10 and superior, install LibreOffice.org v3 and start it as a headless server:

    sudo apt-get install libreoffice
    sudo soffice -accept="socket,host=127.0.0.1,port=2002,tcpNoDelay=1;urp;" -headless -nodefault -nofirststartwizard -nolockcheck -nologo -norestore &

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.

## Changing the language's firstname/lastname order

As Chamilo becomes more popular and crosses many borders now, it frequently happens that administrators want to re-order the firstname and lastname fields in tables, and also on which field it is sorted first.
This can easily be modified by editing the main/inc/lib/internationalization_database/name_order_conventions.php file, finding your language and changing the fields. It is pretty self-explanatory and looks like this:

    'simpl_chinese' => array( 'format' => 'title last_name first_name', 'sort_by' => 'last_name' ), // Eastern order

Feel free to change this to

    'simpl_chinese' => array( 'format' => 'title first_name lastname', 'sort_by' => 'last_name' ), // Eastern order

for example. The effect should be immediate.

## Improving files download efficiency

File download can be very slow when passing through a PHP script to control permissions. One solution to this is to use the X-Sendfile header, which depends on a module on the webserver. Check http://stackoverflow.com/a/3731639/1406662 for more details on implementing Sendfile. Chamilo LMS 1.9.8 (and following versions) supports the X-Sendfile headers, but requires a specific line of configuration to be added to configuration.php:

    $_configuration['enable_x_sendfile_headers'] = true;

If you have issues with files taking a long time to download, make sure you reconfigure your webserver and add this line. You should see an notable difference in download time.

Adresse de contact
Mail: info@chamilo.org