Attention : vous consultez actuellement la documentation dédiée aux versions 1.x de Moodle. La documentation pour les versions 2.x de Moodle est consultable ici : Installation de Moodle, celle pour les versions 3.x de Moodle est consultable ici : Installation de Moodle et celle pour Moodle 4.x est consultable là : Installation de Moodle.

Installation de Moodle

De MoodleDocs
Aller à :navigation, rechercher

Remarque : cet article est en cours de rédaction. N'hésitez pas à le compléter. Veuillez utiliser la page de discussion pour vos recommandations et suggestions d'améliorations.


Avant tout, pas de panique ! :-)

Ce document explique comment installer un nouveau site Moodle. Certaines étapes sont décrites en détails, afin de couvrir la grande variété des petites particularités des différents serveurs web. C'est pourquoi ce document vous semblera peut-être long et compliqué. Ne vous laissez pas décourager pour autant : la mise en place de Moodle est d'habitude une affaire de minutes !

Si vous avez des problèmes, prenez le temps d'étudier attentivement ces instructions : la plupart des difficultés y sont traitées. Si cela ne suffit pas, vous pouvez demander de l'aide à la communauté Moodle sur Moodle en français ou sur Using Moodle (en anglais).

Une autre possibilité est de contacter un Moodle Partner fournissant un hébergement, qui pourra entretenir votre Moodle pour vous, de sorte que que vous puissiez vous focaliser directement sur l'enseignement !

Logiciels et réglages nécessaires

Moodle est principalement développé sur Linux avec Apache, MySQL et PHP (environnement appelé parfois plateforme LAMP), mais est aussi testé régulièrement avec PostgreSQL et sur les systèmes d'exploitation Windows XP, Mac OS X et Netware 6.

Les logiciels et réglages nécessaires pour Moodle sont les suivants :

  • Logiciel serveur web. La plupart des gens utilisent Apache, mais Moodle devrait fonctionner tout aussi bien avec n'importe quel serveur web compatible avec PHP, comme IIS sur les plateformes Windows.
  • Le langage PHP (version 4.1.0 ou ultérieure). PHP 5 est supporté dès la version 1.4 de Moodle. (Il existe certains problèmes lors de l'installation de Moodle avec PHP-Accelerator).
  • Un serveur de base de données : MySQL ou PostgreSQL sont complètement supportés et recommandés pour être utilisés avec Moodle. MySQL est le choix de la plupart des gens, mais il y a quelques arguments in faveur de PostgreSQL, notamment si vous planifier un gros déploiement. Veuillez noter que MySQL 4.1.16 ou version ultérieure est requis pour faire tourner Moodle 1.6.

La plupart des hébergeurs web proposent tout cela par défaut. Si vous vous êtes engagé auprès d'un hébergeur web qui n'offre pas ces logiciels, demandez-lui pourquoi, et envisagez de changer de fournisseur.

Si vous voulez faire fonctionner Moodle sur votre propre ordinateur et que cela vous fait un peu peur, lisez notre guide pour installer Apache, MySQL et PHP. Ce document offre quelques pas-à-pas pour l'installation de ces logiciels sur la plupart des plateformes.

Autres logiciels requis :

Télécharger le logiciel

Il y a deux façons d'obtenir Moodle : par téléchargement d'un fichier compressé ou à l'aide du CVS. Toutes deux sont expliquées en détail sur la page de téléchargement http://moodle.org/download/.

Après avoir téléchargé et décompressé l'archive ou obtenu les fichiers par CVS, vous aurez sous les yeux un dossier nommé moodle, contenant un certain nombre de dossiers et de fichiers.

Vous pouvez placer ce dossier intégralement dans le dossier documents de votre serveur web. Dans ce cas, le site Moodle sera accessible à l'adresse http://votreserveur.com/moodle/. Vous pouvez aussi copier le contenu de ce dossier dans le dossier documents de votre serveur. Dans ce cas, le site Moodle sera accessible simplement à l'adresse http://votreserveur.com/.

Si vous télécharger Moodle sur votre propre ordinateur pour le déposer ensuite sur le serveur web, il est habituellement mieux de déposer l'archive (plutôt que le dossier décompressé), et de le décompresser sur le serveur. Les interfaces des hébergements, comme Cpanel, vous permettent de décompresser les archives dans un gestionnaire de fichier.

Structure du dossier de Moodle

Vous pouvez ignorer cette section, qui comporte un bref résumé du contenu du dossier de Moodle.

config.php - contient les réglages de base (ce fichier n'est pas inclus dans la distribution ; vous allez le créer au cours de l'installation)
install.php - le script qui créera le ficher config.php
version.php - indique la version actuelle de Moodle
index.php - la page d'accueil du site
admin/ - code pour l'administration du site
auth/ - modules pour l'authentification des utilisateurs
blocks/ - modules pour les blocs latéraux sur de nombreuses pages
calendar/ - code pour gérer et afficher les calendriers
course/ - code pour l'affichage et la gestion des cours
doc/ - documentation et fichiers d'aide de Moodle
files/ - code pour l'affichage et la gestion des fichiers déposés
lang/ - textes dans les différentes langues, un dossier par langue
lib/ - bibliothèque de code du programme Moodle
login/ - code de gestion des connexions et de la création des comptes
mod/ - tous les modules d'activités de Moodle
pix/ - les images et graphiques génériques du site
theme/ - les différents thèmes permettant de changer l'aspect de votre site
user/ - code pour afficher et gérer les utilisateurs

Lancer le script d'installation pour créer le fichier config.php

Pour lancer le script d'installation (install.php), accédez simplement à l'URL de votre Moodle à l'aide d'un navigateur web, ou à directement à l'adresse http://votreserveur/install.php.

Le script d'installation essaiera d'enregistrer un cookie de session. Si une fenêtre surgissante s'affiche dans votre navigateur, veuillez accepter ce cookie !

Moodle détectera qu'une configuration est nécessaire et vous guidera sur quelques pages pour vous auder à créer un nouveau fichier de configuration nommé config.php. À la fin de cette opération, Moodle essaiera d'enregistrer le fichier au bon endroit. Vous pourrez également le télécharger et installer à la main le fichier config.php sur le serveur, dans le dossier principal de Moodle.

Au cours de l'opération, le script testera l'environnement de votre serveur et vous suggérera au besoin comment corriger les éventuels problèmes. Dans la plupart des situations, ces instructions seront suffisantes, mais si vous êtes bloqué, jetez un oeil ci-dessous pour obtenir plus d'informations sur de qui pourrait vous ennuyer.

Vérifier les réglages de votre serveur web

Assurez-vous en premier lieu que votre serveur web permette d'utiliser « index.php » comme page par défaut (de même par exemple que index.html, index.htm, default.htm, etc.).

Dans Apache, cela peut être obtenu avec une directive « DirectoryIndex » dans votre fichier « httpd.conf ». Chez moi, cela se présente ainsi :

DirectoryIndex index.php index.html index.htm 

Contrôlez simplement que index.php soit dans la liste (et de préférence au début de la liste, pour des raisons de performance).

Deuxièmement, mais seulement si vous utilisez Apache 2, vous devrez activer la variable AcceptPathInfo, qui permet de passer des arguments à des scripts, comme http://serveur/file.php/arg1/arg2. Cela est essentiel, pour permettre des liens relatifs entre vos ressources, et également pour offrir un gain de performance aux utilisateurs de votre site Moodle. Vous pouvez activer cette variable en ajoutant la ligne ci-dessous à votre fichier « httpd.conf ».

AcceptPathInfo on

Troisièmement, pour fonctionner, Moodle nécessite un certain nombre de réglages PHP. Sur la plupart des serveurs, ces réglages sont actifs par défaut. Cependant, certains serveurs PHP (et avec certaines des versions les plus récentes de PHP) peuvent avoir des réglages différents. Ces réglages sont définis dans le fichier de configuration de PHP (dont le nom est habituellement php.ini) :

magic_quotes_gpc = 1        (préférable, mais pas nécessaire)
magic_quotes_runtime = 0    (nécessaire)
file_uploads = 1
session.auto_start = 0
session.bug_compat_warn = 0

Si vous n'avez accès ni au fichier httpd.conf, ni au fichier php.ini de votre serveur, ou si Moodle est installé sur un serveur avec des applications nécessitant des réglages différents, vous pouvez cependant CONTOURNER tous ces réglages par défaut.

Pour le faire, il vous faudra créer dans le dossier de Moodle un fichier nommé .htaccess, contenant les définitions adéquates pour ces réglages. Cela ne fonctionne que pour les serveurs Apaches et seulement si le privilège Overrides est accordé. Voici un exemple du contenu d'un fichier .htaccess :

DirectoryIndex index.php index.html index.htm
<IfDefine APACHE2>
 AcceptPathInfo on
</IfDefine>
php_flag magic_quotes_gpc 1
php_flag magic_quotes_runtime 0
php_flag file_uploads 1
php_flag session.auto_start 0
php_flag session.bug_compat_warn 0

Dans ce fichier, on peut aussi définir la taille maximale des fichiers déposés :

LimitRequestBody 0
php_value upload_max_filesize 2M
php_value post_max_size 2M

Le plus simple à faire est de copier le fichier fourni lib/htaccess, de le modifier suivant vos besoins. Ce fichier contient de plus amples instructions. Pour cela il vous suffit de taper, dans Unix, la commande :

cp lib/htaccess .htaccess

Créer une base de données

Il est nécessaire de créer une base de données vide (nommée par exemple moodle) dans votre gestionnaire de base de données, ainsi qu'un utilisateur spécial (nommé par exemple moodleuser) ayant accès à cette base de données (et seulement à celle-ci). Il est possible d'utiliser l'utilisateur root, mais cela n'est pas recommandé sur un système en production : si un pirate découvre le mot de passe, tout votre système de base de données serait alors compromis, plutôt qu'une seule base de données.

Veuillez noter qu'actuellement (version 1.5.x) Moodle ne fonctionne pas avec la nouvelle option MySQL 5.x "STRICT_TRANS_TABLES". Si vous utilisez MySQL 5.x, modifier votre fichier de configuration MySQL (appelé my.ini sous Windows et my.cnf sur Unix/Linux/Mac OS X) et mettez en commentaire cette option (ou supprimez-la). Vous aurez alors à redémarrer MySQL.

Exemple de commandes sur MySQL :

#mysql -u root -p
  > CREATE DATABASE moodle; 
  > GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER
       ON moodle.* TO moodleuser@localhost IDENTIFIED BY 'motdepasse'; 
  > quit 
#mysqladmin -p reload

Exemple de commandes pour PostgreSQL :

#su - postgres
  > psql -c "create user moodleuser createdb;" template1
  > psql -c "create database moodle with encoding 'unicode';" -U moodleuser template1
  > psql -c "alter user moodleuser nocreatedb;" template1
  > psql -c "alter user moodleuser with password 'yourpassword';" template1
  > su - root
# /etc/init.d/postgresql reload

(Pour MySQL, vous pouvez utiliser phpMyAdmin pour gérer vos bases de données. Tout peut être fait via une interface web).

Créer un dossier de données

Moodle aura également besoin d'espace sur le disque dur du serveur pour conserver les fichiers déposés par les utilisateurs, comme les documents de cours ou les photos des utilisateurs.

Créez quelque part à cet effet un dossier. Par sécurité, ce dossier NE DOIT PAS être accessible directement depuis le web. La manière la plus simple d'obtenir cela est de le créer EN DEHORS du dossier web. Sinon, vous pouvez protéger ce dossier en y plaçant un fichier nommé .htaccess, contenant cette ligne :

deny from all

Faites en sorte que le logiciel serveur (p. ex. Apache) ait les privilèges pour écrire dans ce dossier, afin que Moodle puisse enregistrer les fichiers déposés. Sur les ordinateurs UNIX, cela signifie que le possesseur du dossier en question soit quelque chose comme nobody, www ou apache.

Sur la plupart des serveurs web, vous devrez probablement restreindre à votre groupe tous les accès à vos fichiers (afin d'éviter que d'autres utilisateurs du même fournisseur puissent voir ou modifier vos fichiers), mais accorder les droits de lecture et d'écriture à tous les autres utilisateurs (ce qui permettra au serveur web d'accéder à vos fichiers).

Si vous avez des difficultés à gérer proprement cela, parlez-en à l'administrateur de votre serveur web. Notamment, certains sites utilisant le réglage de PHP appelée Safe Mode pourrait demander une création manuelle du dossier de données par l'administrateur.

Visiter la page d'administration pour poursuivre l'installation

La page d'aministration devrait être maintenant active à l'adresse http://exemple.com/moodle/admin. Si vous essayez d'accéder à la page d'accueil de votre site, vous y arriverez directement malgré tout. La première fois que vous accéderez à la page d'administration, un condensé de la licence GPL vous sera présenté. Vous devez l'accepter avant de continuer la mise en service de votre installation.

(Moodle va aussi essayer de placer des cookies dans votre navigateur. Si celui-ci vous permet d'accepter ou non les cookies, vous devez accepter les cookies de Moodle, ou alors Moodle ne fonctionnera pas.)

Moodle va maintenant mettre en place votre base de données et créer les tables qui contiendront les données. Les tables de la base de données principale sont d'abord créées. Un certain nombre de commandes SQL seront affichées, suivies de messages (en rouge ou en vert) de ce type :

CREATE TABLE course ( id int(10) unsigned NOT NULL auto_increment, category int(10) unsigned NOT NULL default '0', password varchar(50) NOT NULL default '', fullname varchar(254) NOT NULL default '', shortname varchar(15) NOT NULL default '', summary text NOT NULL, format tinyint(4) NOT NULL default '1', teacher varchar(100) NOT NULL default 'Teacher', startdate int(10) unsigned NOT NULL default '0', enddate int(10) unsigned NOT NULL default '0', timemodified int(10) unsigned NOT NULL default '0', PRIMARY KEY (id)) TYPE=MyISAM

SUCCESS

... et ainsi de suite, et finalement : Main databases set up successfully.

Si ces messages n'apparaissent pas, c'est qu'un problème est survenu avec la base de données, ou qu'un paramètre de votre configuration est incorrect dans votre config.php. Vérifiez que PHP ne fonctionne pas en mode Safe Mode (certains hébergeurs web commerciaux ont le mode Safe Mode activé). Vous pouvez vérifier la configuration des variables PHP en créant un fichier PHP contenant <? phpinfo() ?> et en le chargeant dans votre navigateur. Vérifiez tout et rechargez ensuite la page d'administration.

Descendez tout en bas de la page et cliquez sur le lien Continuer.

Une page semblable va s'afficher, qui met en place toutes les tables requises par chaque module de Moodle. Comme avant, tout doit être en vert.

Descendez tout en bas de la page et cliquez sur le lien Continuer.

Un formulaire devrait s'afficher maintenant, dans lequel vous pouvez définir plus d'options de configuration pour votre installation, telles que la langue par défaut, les hôtes SMTP, etc. Si vous n'avez pas encore déterminé tous les réglages, ce n'est pas grave : vous pourrez en tout temps modifier ces réglages à l'aide de l'interface d'administration de Moodle. Descendez tout en bas de la page et cliquez sur le bouton Enregistrer.

Si vous êtes coincé sur cette page et ne pouvez continuer (et seulement dans ce cas), c'est probablement que votre serveur souffre de ce que j'appelle le problème du buggy referrer. Il est facile d'y remédier : désactivez le réglage secureforms, puis essayez de continuer.

La page suivante est un formulaire où vous pouvez définir l'aspect de votre site Moodle et de sa page d'accueil, comme le nom, le format, le texte de description, etc. Remplissez-le (vous pourrez en tout temps modifier ces réglages) et cliquez sur le bouton Enregistrer.

Finalement, l'on vous demandera de créer un utilisateur administrateur, qui aura accès aux pages d'administration. Remplissez les différents champs avec votre nom, votre adresse de courriel, etc., puis cliquez sur le bouton Enregistrer. Tous les champs ne sont pas obligatoires. Si toutefois vous oubliez de renseigner un champ important, on vous demandera de le remplir.

Assurez-vous de retenir le nom d'utilisateur et le mot de passe que vous choisissez pour le compte administrateur. Ces données seront nécessaires pour accéder à la page d'administration.

(Si pour une raison ou pour une autre l'installation est interrompue, ou si une erreur système vous empêche de vous annoncer dans Moodle avec votre compte administrateur, il est en général possible de s'annoncer avec le nom d'utilisateur par défaut admin, avec le mot de passe admin.)

Dès que vous avez créé votre compte administrateur, la page d'accueil de votre site s'affichera. Remarquez les liens vers les options d'administration en bas à gauche de la page (elles apparaissent aussi sur la page d'administration) : ces options ne sont visibles que parce que vous êtes annoncé en tant qu'administrateur. L'administration de votre site Moodle peut être intégralement effectuée à l'aide de ce menu. Par exemple :

  • la création et la suppression de cours
  • la création et la suppression de comptes utilisateurs
  • l'administration des comptes d'enseignants
  • la modification de réglages globaux, comme les thèmes, etc.

Mais vous n'êtes pas encore tout à fait au bout de l'installation ! Il reste une chose très importante à mettre en place (voir la section suivante sur le cron).

Mettre en place un cron

Veuillez vous référer aux instructions sur le cron.

Créer un nouveau cours

Maintenant Moodle fonctionne correctement, et vous pouvez créer un cours.

Sélectionnez Ajouter un cours dans les pages d'administration.

Remplissez le formulaire, en prêtant attention en particulier au format du cours. Il n'est pas nécessaire de se préoccuper tout de suite de tous les détails. Tous les réglages peuvent en effet être modifiés en tout temps par l'enseignant.

Cliquez sur le bouton Enregistrer, et un autre formulaire s'affichera, où vous pourrez définir le ou les enseignants de ce cours. Ce formulaire ne permet d'ajouter comme enseignants que des utilisateurs déjà définis. Si vous voulez créez un ou plusieurs nouveaux comptes, demandez aux personnes concernées de s'en créer (voir la page de connexion), ou créez vous-mêmes des comptes, en cliquant sur Ajouter un utilisateur dans les pages d'administration.

Vous pouvez ensuite modifier le cours selon vos désirs. Il sera accessible parmi les « Cours disponibles » de la page d'accueil.

Référez-vous au Manuel de l'enseignant pour plus de détails sur la mise en place de cours.

Voir aussi