# Dokeos 1.6.2 guide d'installation

Merci d'avoir choisi Dokeos ! Ce texte vous guidera durant l'installation de Dokeos 1.6.2. Merci de prendre intégralement connaissance des informations qu'il contient avant de procéder à l'installation.

Ce guide ne constitue qu'une aide brève pour l'installation. Nous rédigeons un manuel plus complet concernant l'installation, mais il n'est pas encore disponible au moment où vous lisez ces lignes. Lorsqu'il sera disponible, ce manuel sera accessible via la page de documentation de Dokeos . Vous pouvez aussi consulter la progression du travail de rédaction du manuel d'installation sur le wiki. Une FAQ est aussi disponible en ligne: Frequently Asked Questions.

Contenu du guide d'installation

1. Eléments requis pour l'installation
2. Installer une nouvelle version de Dokeos (installation fraîche)
3. Mettre à jour une version de Dokeos déjà installée
4. Dysfonctionnements
5. Administration
6. Authentification Ldap (optionnel)

## 1. Eléments requis pour l'installation

Dokeos est une application web qui nécessite d'autres logiciels pour fonctionner:

- Un serveur web - Nous recommandons Apache
- PHP
- Un serveur de bases de données MySQL

Ces élements doivent être installés sur votre serveur avant de procéder à l'installation de Dokeos.
Vous pouvez installer ces éléments séparément, méthode qui donne souvent les meilleurs résultats. Cependant, l'utilisateur débutant qui souhaite tester Dokeos peut utiliser un package qui installe tous ces éléments en une seule fois. Si vous souhaitez utiliser un tel package, nous vous recommandons d'installer Wamp (téléchargeable à l'adresse WAMP5, vous aurez alors besoin de PHP4 add-on) ou XAMP.

### 1.1. Un serveur web

Le serveur web Apache est recommandé, et Dokeos est pré-configuré pour utiliser les fonctions de sécurité d'Apache si celà est possible. Cependant, d'autres serveus web feront aussi l'affaire. Pour une meilleure sécurité, vous devez activer le module Apache mod_rewrite. Les règles mod_rewrite pour Dokeos sont inscrites dans un fichier.htaccess dans le dossier de chaque cours, Apache doit permettre cette utilisation (AllowOverride FileInfo dans le fichier httpd.conf).
Télécharger le serveur web Apache
Consulter le manuel du serveur web Apache

### 1.2. PHP

Vous avez besoin de PHP version 4.3.2 ou plus récent (versions 4.x ), configuré avec les modules suivants : mysql, zlib, preg, xml. PHP 5 ou plus récent n'est pas encore supporté par Dokeos. Vous aurez aussi besoin du module ldap si vous souhaitez utiliser une authentification ldap avec Dokeos. La plupart des distributions compilées de PHP 4 sont fournies avec ces modules. De toute façon, leur présence est vérifiée par Dokeos au moment de l'installation.
Télécharger PHP
Consulter le manuel de PHP

Vous pourriez rencontrer des problèmes si PHP comprend un paramétrage différent de :

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

Les versions antérieures de Dokeos nécessitaient register_globals paramétré sur On. Ce n'est plus nécessaire, ce paramètre peut être réglé sur Off, Dokeos fonctionnera correctement.

Utilisateus de BSD: ces librairies php doivent être incluses durant l'installation de php:

- php-mysql extension mysql pour php
- php-pcre extension pcre pour php
- php-session extension session pour php
- php-zlib extension zlib pour php
- (optionnel) php-ldap si vous souhaitez utiliser une authentification LDAP

### 1.3. Un serveur de bases de données MySQL

Vous aurez besoin d'un identifiant et d'un mot de passe autorisant l'administration et la création d'au moins une base de données. Par défaut, Dokeos créé une nouvelle base de données pour chaque nouveau cours. Cela signifie que votre hébergeur doit vous autoriser à créer et administrer plusieurs bases de données. Vous pouvez aussi procéder à l'installation de Dokeos en utilisant une seule base de données, pour cela, sélectionnez l'option correspondante durant l' installation.
Télécharger le serveur de base de données MySQL
Consulter le manuel de MySQL

Note:
Il semble que les caractères (`) contenu dans les requêtes SQL de Dokeos depuis la version 1.3 ne fonctionnent pas avec les versions de MySQL antérieures à 3.23.6.

### 1.4. Autorisations

En outre, vous avez besoin d'un accès en écriture sur le dossier où Dokeos a été uploadé ou décompressé. En utilisation locale, sur une machine équipée de Windows, cela ne constitue pas un problème. A distance, vous devez être autorisé à effectuer des modifications de CHMOD par FTP, telnet ou tout autre moyen.

## 2. Installer une nouvelle version de Dokeos (installation fraîche)

2.1. Télecharger le package d'installation de Dokeos 1.6.2 (.zip pour les utilisateurs de Windows ou .tar.gz pour les utilisateurs d'autres systèmes d'exploitation) depuis la page de téléchargement de Dokeos.

2.2. Décompressez le package d'installation. La plupart des systèmes d'exploitation effectuent cette opération au travers d'une interface graphique, si cela ne fonctionne pas, vous pouvez utiliser la ligne de commande, accéder au dossier dans lequel vous avez téléchargé le package d'installation et saisir tar -zxvf dokeos-1.6.2.tar.gz

2.3. Transférer par n'importe quel moyen (FTP, SCP, copie locale des fichiers) le contenu du package d'installation de Dokeos 1.6.2 vers le site web sur votre serveur (racine ou sous-dossier). Le serveur web peut aussi être votre machine, en local. Assurez-vous de copier tous les fichiers (archive, home, claroline, courses) ainsi que tous les fichiers .php.

Pour les utilisateurs de Windows qui effectuent l'installation en local: si vous utilisez un package Apache/PHP/MySQL, vous devez simplement réaliser un glisser/déposer du contenu du package d'installation de Dokeos vers le dossier web du package correspondant:

- EasyPHP - C:\Program Files\easyphp\www\
- WAMP - C:\Program Files\wamp\www\
- XAMP - C:\Program Files\xamp\www\

2.4. Les dossiers suivants doivent être paramétrés en lecture, écriture et exécution pour tous les utilisateurs:

- dokeos/claroline/inc/conf/
- dokeos/claroline/garbage/
- dokeos/claroline/upload/
- dokeos/archive/
- dokeos/courses/
- dokeos/home/

Sur les systèmes d'exploitation Linux, Mac OS X et BSD vous pouvez réaliser un CHMOD 777. Avec Windows, vous avez besoin de vérifier les propriétés des dossiers (en effectuant un clic droit au dessus du nom).

2.5. Les fichiers suivants doivent être paramétrés en lecture et écriture pour tous les utilisateurs:

- dokeos/claroline/inc/conf/claro_main.conf.php (si present)
- dokeos/home/*.html

Sur les systèmes d'exploitation Linux, Mac OS X et BSD vous pouvez réaliser un CHMOD 666. Avec Windows, vous avez besoin de vérifier les propriétés des dossiers (en effectuant un clic droit au dessus du nom).

NOTE:
Ne modifiez pas les fichiers home_*.html directement. Pour réaliser les modifications sur ces fichiers, choisissez "Configurer la page d'accueil " dans la section administration de Dokeos.

2.6. Ouvrez votre navigateur et saisissez l'adresse http://www.yourserver.org/yoursite/dokeos/index.php. Si vous installez Dokeos localement (pas sur un serveur distant) saisissez l'adresse: http://localhost/dokeos/index.php

2.7. Cliquez sur le bouton "Installer" et suivez les instructions qui s'affichent à l'écran. Pour les utilisateurs Windows: avec un package comme easyphp, dont les paramétrages initiaux n'ont pas été modifiés, l'identifiant et le mot de passe pour MySQL doivent rester vides.

2.8. Configuration et securité après l'installation

- Protéger le fichier de configuration : assurez-vous que personne ne puisse en modifier le contenu. Vous trouverez le fichier de configuration dans (dokeos folder)/claroline/inc/conf/claro_main.conf.php. Réduisez ses droits à la lecture seule (windows/xwindows: effectuez un clic droit au dessus du nom pour modifier les propriétés du fichier. Linux/bsd/macosx: réalisez un CHMOD 444). Le fichier de configuration est créé par Apache, ainsi, vous devez posséder les droits nécessaires (root) pour modifier les permissions.
- Protéger le dossier d'installation : si le dossier (dokeos folder)/claroline/install est toujours accessible, une nouvelle installation écrasant la vôtre est possible (vous perdriez ainsi toutes vos données). Déplacez le dossier en dehors de votre dossier web pour le rendre inaccessible, modifiez son nom, ou modifiez ses propriétés de telle sorte que personne ne puisse le lire ou l'éxecuter.
- Pour une meilleure sécurité : affecter les droits en écriture sur les fichiers rendra plus facile l'installation, et résoudra de nombreux problèmes pour ceux qui ne possèdent pas une expérience avancée d'administrateur. Cependant, vous améliorerez la sécurité en rendant le propriétaire du processus apache (appelé apache ou www-data) aussi propriétaire de tous les fichiers et dossiers de Dokeos. Ainsi les fichiers doivent seulement être en lecture et écriture pour le propriétaire du processus Apache, pas pour l'ensemble des utilisateurs.
- Configurer votre installation Dokeos : dans la section administration de Dokeos, vous pouvez utiliser le paramétrage de configuration de Dokeos pour modifier le comportement de votre installation.
- Configurer la fonction mail de Dokeos : la plupart des utilisateurs de Dokeos utilisent les paramétrages du fichier php.ini. Cependant, l'outils annonces exploite phpMailer (un autre projet open-source) et le paramétrage de cet outil doit être ajusté dans (dokeos folder)/claroline/inc/conf/mail.conf.php.

## 3. Mettre à jour une version de Dokeos déjà installée

Avant de procéder à la mise à jour, nous vous recommandons très vivement de réaliser une sauvegarde complète de la précédente installation (dossiers et bases de données). Si vous n'êtes pas certain de savoir mener la procédure de sauvegarde, demandez conseil à votre hébergeur pour pouvoir ensuite réaliser cette opération. Si vous mettez à jour depuis Dokeos 1.6 ou 1.6.1, vous pouvez simplement copier les nouveaux fichiers de la version 1.6.2 afin d'écraser les fichiers de l'ancienne version. Si vous upgradez depuis une version plus ancienne (1.5.x), utilisez l'outil de mise à niveau, comme décrit ci-dessous.

3.1. Téléchargez le package d'installation Dokeos 1.6.2 (.zip pour les utilisateurs Windows ou.tar.gz pour les autres utilisateurs) depuis la page de téléchargement de Dokeos.

3.2. Décompressez le package d'installation. La plupart des systèmes d'exploitation effectuent cette opération au travers d'une interface graphique, si cela ne fonctionne pas, vous pouvez utiliser la ligne de commande, accéder au dossier dans lequel vous avez téléchargé le package d'installation et saisir tar -zxvf dokeos-1.6.2.tar.gz

3.3. Déplacez le dossier Dokeos vers une localisation différente de la précédente version

Attention:
Ne supprimez pas le précédent dossier d'installation de Dokeos avant d'installer la nouvelle version. Lorsque le mise à jour sera terminée, vous pourrez supprimer l'ancienne localisation.

Astuce:
Si vous souhaitez que Dokeos 1.6.2 soit installé dans le même dossier que l'installation précédente:

- déplacez l'ancien dossier vers une nouvelle localisation (par exemple de dokeos/ vers dokeos_old/)
- décompressez Dokeos 1.6.2 dans l'ancien dossier (par exemple dans dokeos/)
- passez à l'étape suivante

3.4. Les fichiers suivants doivent être paramétrés en lecture et écriture pour tous les utilisateurs:

- dokeos/claroline/inc/conf/claro_main.conf.php (si present)
- dokeos/home/*.html

Sur les systèmes d'exploitation Linux, Mac OS X et BSD vous pouvez réaliser un CHMOD 666. Avec Windows, vous avez besoin de vérifier les propriétés des dossiers (en effectuant un clic droit au dessus du nom).

NOTE:
Ne modifiez pas les fichiers home_*.html directement. Pour réaliser les modifications sur ces fichiers, choisissez "Configurer la page d'accueil " dans la section administration de Dokeos.

3.5. Les dossiers suivants doivent être paramétrés en lecture, écriture et exécution pour tous les utilisateurs:

- dokeos/claroline/inc/conf/
- dokeos/claroline/garbage/
- dokeos/claroline/upload/
- dokeos/archive/
- dokeos/courses/
- dokeos/home/

Sur les systèmes d'exploitation Linux, Mac OS X et BSD vous pouvez réaliser un CHMOD 777. Avec Windows, vous avez besoin de vérifier les propriétés des dossiers (en effectuant un clic droit au dessus du nom).

3.6. Ouvrez votre navigateur et saisissez l'adresse http://www.yourserver.org/yoursite/dokeos/index.php. Si vous installez Dokeos localement (pas sur un serveur distant) saisissez l'adresse: http://localhost/dokeos/index.php

3.7. Cliquez sur le bouton "Installer", puis sur "Update from Dokeos 1.5 | 1.5.4 | 1.5.5" et suivez les instructions qui s'affichent à l'écran.

3.8. Cette partie de l'installation est optionnelle !
Depuis après la version 1.5.5, les tables suivantes appartenant à la base dokeos_main peuvent être supprimées lors de la mise à jour depuis une version 1.5.5 version ou antérieure, à condition que vous ne les utilisiez pas pour une personnalisation de votre installation Dokeos:

- `todo`
- `pma_bookmark`
- `pma_column_comments`
- `pma_pdf_pages`
- `pma_relation`
- `pma_table_coords`
- `pma_table_info`

Ces tables peuvent être supprimées en se connectant à la base de données comme administrateur et en exécutant la requête: DROP TABLE dokeos_main.my_table; où dokeos_main est le nom de la base de données principale de Dokeos et où my_table représente chacune des tables précédentes (répeter la requête pour chacune des tables).
Le nettoyage des champs inutilisés a aussi eu une influence sur le code: main_db.cours. cours_id a été supprimé, comme toutes les références à ce champ contenues dans le code officiel de Dokeos. Le code du cours (littéral) est utilisé à la place. Mettez à jour les adaptations de votre code si c'est nécessaire.
Comme pour la suppression des tables, les champs suivants peuvent être supprimés à la condition qu'ils ne soient pas utilisés à des fins de personnalisation dans votre code, en utilisant une requête: ALTER TABLE database.table drop column abc où database est le nom de la base de données (dokeos_main? or code of a course), table est le nom de la table (cours?) abc est le nom du champ à éliminer. Vous pouvez aussi éliminer les champs suivants:

- `_dokeos_main_`.`cours`.`versionDb`
- `_dokeos_main_`.`cours`.`versionClaro`
- `_dokeos_main_`.`cours`.`cahier_charges`
- `_dokeos_main_`.`faculte`.`bc`
  # la table `faculte` a été renommée `course_category` depuis la version 1.6
- `_cours_`.`announcement`.`code_cours`
- `_cours_`.`course_description`.`upDate`

## 4. Dysfonctionnements

Dans le futur, nous fournirons aussi les instructions pour réaliser une installation "manuelle" de Dokeos, en créant les tables par vous-même. Si vous rencontrez un quelconque problème, consultez le site de Dokeos et posez vos questions sur le forum de support. Prenez d'abord connaissance des messages postés antérieurement pour voir si une réponse à votre question n'est pas déja disponible. Une FAQ est aussi disponible en ligne: Frequently Asked Questions.

## 5. Administration

Pour accéder à la section Administration de Dokeos, ouvrez votre navigateur, saisissez l'adresse de votre site Dokeos et identifiez-vous en tant qu'administrateur. Vous accèderez à la plate-forme d'administration via un lien situé dans l'entête de la page.

## 6. LDAP

Cette partie est optionnelle, seules les organisations utilisant un serveur LDAP ont besoin de ces informations.
Un module LDAP est fourni avec Dokeos, mais il doit être configuré pour pouvoir être exploitable.

Compilation
Serveurs Linux: il est possible que vous ayez à recompiler php avec le support de ldap. Les distributions récentes autorisent le téléchargement de rpms pour les packages aditionnels.

Activer LDAP dans Dokeos
Dans (dokeos folder)/claroline/inc/conf/claro_main.conf.php, aux environs de la ligne 90, vous pouvez lire:
//for new login module
//uncomment these to activate ldap
//$extAuthSource['ldap']['login'] = "./claroline/auth/ldap/login.php";
//$extAuthSource['ldap']['newUser'] = "./claroline/auth/ldap/newUser.php";
supprimez les // situés devant les deux dernières lignes pour activer LDAP.

Paramétrages
Récupérez les informations du serveur LDAP auprès de l'administrateur:

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

Vous devez saisir ces informations dans (dokeos folder)/claroline/auth/ldap/ldap_var.inc.php
//parameters for LDAP module
$usesLDAP = TRUE;
$usesCurriculum = FALSE;
$ldaphost = "myldapserver.com"; // your ldap server
$ldapport = 389; // your ldap server's port number
$ldapDc = "dc=xx, dc=yy, dc=zz"; //domain

Statut Enseignant/Etudiant
Si vous le souhaitez, vous pouvez affecter le statut d'Enseignant ou d'Etudiant aux utilisateurs de Dokeos conformément aux informations disponibles dans le serveur ldap. Cependant, ce n'est pas automatique, vous devrez modifier le code: claroline/auth/ldap/ldap_var.inc.php aux environs de la ligne 189, fonction putUserInfoInClaroline ($login, $infoArray)

if (votre critère )
{
$statut = STUDENT;
}
else
{
$statut = COURSEMANAGER;
}

Si cela vous semble trop difficile, une solution plus simple consiste à écrire $statut = STUDENT; et à donner les droits d'Enseignant via la section Administration de Dokeos.

Serveurs LDAP protégés
Quelques serveurs LDAP ne supportent pas l'utilisation anonyme du dossier services. Dans ce cas, vous devrez mettre en place un code utilisant identifiant et mot de passe. Ce code est disponible, adressez une demande sur le forum ou par courriel pour l'obtenir.

Contact address: Dokeos, 44 rue des palais, B-1030 Brussels, Belgium
Mail: info@dokeos.com