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 » : différence entre les versions

De MoodleDocs
Aller à :navigation, rechercher
m (curl et Moodle 2.2.1)
 
(37 versions intermédiaires par 5 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{Mettre à jour}}
'''Avant tout, pas de panique ! :-)'''
'''Avant tout, pas de panique ! :-)'''


Ligne 6 : Ligne 7 :
[http://moodle.org/course/view.php?id=5 Using Moodle] (en anglais).
[http://moodle.org/course/view.php?id=5 Using Moodle] (en anglais).


Une autre possibilité est de contacter un [http://moodle.com/hosting/ Moodle Partner fournissant un hébergement], qui pourra entretenir votre Moodle pour vous, de sorte que vous puissiez vous focaliser directement sur l'enseignement !
Une autre possibilité est de contacter un [http://moodle.com/hosting/ Partenaire Moodle fournissant un hébergement], qui pourra entretenir votre Moodle pour vous, de sorte que vous puissiez vous focaliser directement sur l'enseignement ! C'est l'option la plus confortable, mais si vous décidez de choisir un hébergeur ayant Fantastico (inclus dans cPanel), alors [http://otaru-jc.ac.jp/hagley/settingupmoodleonhostingwithcpanel.swf ce tutoriel vous guidera] dans le processus de choix d'un hébergeur et d'installation de Moodle via cPanel. Dans cette dernière formule, l'installation ne nécessite aucune connaissance particulière, mais la version installée est celle prévue par Fantastico, c'est-à-dire rarement la dernière.


== Logiciels et réglages nécessaires ==
'''Note:''' Pour les hébergements disposant de cPanel et incluant donc d'office l’installateur Fantastico (ou Softaculous), l'installation de Moodle avec sa base de données associée et son dossier Moodledata (souvent uploaddata) s'effectue automatiquement en quelques clics. L'inconvénient est qu'il s'agit rarement de la dernière version de Moodle
 
 
== Prérequis 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/2000/2003 (WAMP), Solaris 10 (Sparc and x64), Mac OS X et Netware 6. Le support de PostgreSQL, Oracle et Microsoft SQL Server est aussi disponible.
 
'''Note pour ceux utilisant un hébergeur web :''' La plupart des hébergeurs web proposent tout cela par défaut. Vous devriez contacter le support technique des hébergeurs pour vérifier ces points '''avant''' de vous engager. 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 les modifications nécessaires ne sont pas apportées.


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 :
Les logiciels et réglages nécessaires pour Moodle sont les suivants :


'''Matériel''' (sauf si vous utilisez un serveur hébergé)
* Espace disque : 160 Mo de libre (min). Vous aurez besoin de plus de place pour stocker vos contenus de cours.
* Mémoire : 256 Mo (min), 1 Go (recommandé). La règle générale est que Moodle peut supporter 50 utilisateurs ''simultanés'' pour chaque 1 Go de RAM, mais cela peut varier en fonction de la combinaison de votre matériel spécifique, et des logiciels utilisés.
'''Logiciel'''
* Logiciel serveur web. La plupart des gens utilisent [http://www.apache.org/ Apache], mais Moodle devrait fonctionner tout aussi bien avec n'importe quel serveur web compatible avec PHP, comme IIS sur les plateformes Windows.
* Logiciel serveur web. La plupart des gens utilisent [http://www.apache.org/ 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 [http://www.php.net/ PHP] (version 4.1.0 ou ultérieure). PHP 5 (version 5.1.0 ou ultérieure) est supporté dès la version 1.4 de Moodle. (Il a existé certains problèmes lors de l'installation de Moodle avec [http://www.php-accelerator.co.uk PHP-Accelerator]). A partir de Moodle 1.6, la version minimale requise est PHP 4.3.0 (ou 5.1.0).
* Le langage de script [http://www.php.net/ PHP]. Il a existé certains problèmes lors de l'installation de Moodle avec [http://www.php-accelerator.co.uk PHP-Accelerator]. Il existe actuellement deux versions (ou branches) de PHP : PHP4 et PHP5 et les versions requises sont détaillées ci-dessous.
* Un serveur de base de données : [http://www.mysql.com/ MySQL] ou [http://www.postgresql.org/ 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 [[:en:Arguments in favour of PostgreSQL|arguments en faveur de PostgreSQL]], notamment si vous planifiez un gros déploiement. Veuillez noter que MySQL 4.1.16 (4.1.12 si vous utilisez uniquement les langues en latin) ou version ultérieure est requis pour faire tourner Moodle 1.6. La version minimale de PostgreSQL est la 7.4, celle largement utilisée est 8.0 et 8.1. A partir de Moodle 1.7, d'autres formats de base de données sont supportés, notamment Oracle et MS SQL.
** Dès la version 1.4 de Moodle, PHP4 (version 4.1.0 ou ultérieure) et PHP5 (version 5.1.0 ou ultérieure) sont supportés.
* Que le paramètre PHP "safe mode" soit à OFF dans les fichiers de configuration de php (php.ini) et d'apache (généralement httpd.config).
** A partir de Moodle 1.6, PHP4 (4.3.0 ou ultérieur) ou PHP5 (5.1.0 ou ultérieur) sont supportés.
** Moodle 2.0 ne supporte plus PHP4, et PHP5 (version 5.2.8 ou ultérieure) est nécessaire.
** Moodle 2.1 nécessite PHP 5.3.2 ou ultérieure.
** Paramètres PHP
*** le paramètre PHP ''safe mode'' doit être à OFF dans les fichiers de configuration de php (php.ini) et d'apache (généralement httpd.config).
*** le paramètre ''memory_limit'' doit être au moins à 40M à partir de Moodle 1.8 (32M pour Moodle 1.7, et 16M jusqu'à Moodle 1.6). Les grands sites peuvent nécessiter plus de 128M. PHP 5.2.x nécessite une valeur plus haute pour ''memory_limit'' que les versions précédentes, jusqu'au double. Les systèmes d'exploitation 64 bits nécessitent également une valeur plus élevée.
*** le paramètre ''session.save_handler'' doit être réglé à ''files''
** Extensions et librairies PHP
*** mbstring - est requis à partir de Moodle 1.6 pour l'affichage des chaines multi-byte.
*** iconv est recommandé à partir de Moodle 1.6.
*** Sur les systèmes Linux/Unix/Mac OS X, la [http://www.libgd.org/ bibliothèque GD] et la [http://www.freetype.org/ bibliothèque FreeType 2] vous permettront d'afficher dynamiquement les graphiques générés par les pages d'historique.
*** mysql est requis si vous utilisez la base de donnée MySql. Notez que pour certaines distributions Linux (notamment Red Hat) c'est une installation optionnelle.
*** pgsql est requis pour supporter la base de donnée PostgreSQL.
*** zlib est requis pour supporter les fonctionnalités zip/unzip.
*** curl est recommandé à partir de Moodle 1.8, et doit être installé et activé dans Moodle 2.x (exemple : 2.2.1)
*** tokenizer est recommandé à partir de Moodle 1.8.
*** curl et openssl sont nécessaires pour les fonctionnalités de réseau Moodle (à partir de Moodle 1.8).
*** d'autres extensions PHP peuvent être requises pour des fonctionnalités optionnelles de Moodle, notamment comme l'authentification externe et/ou l'inscription (par exemple, extension LDAP)
* Un serveur de base de données : [http://www.mysql.com/ MySQL] ou [http://www.postgresql.org/ PostgreSQL] sont complètement supportés et recommandés pour être utilisés avec n'importe quelle version de Moodle. A partir de Moodle 1.7, d'autres formats de base de données sont supportés, notamment Oracle et MS SQL. MySQL est ''le'' choix de la plupart des gens, mais il y a quelques [[:en:Arguments in favour of PostgreSQL|arguments en faveur de PostgreSQL]], notamment si vous planifiez un gros déploiement.
** Pour Moodle 1.5 et ultérieur, MySQL (3.23 ou ultérieur) ou PostgreSQL (7.4 ou ultérieur)
** Pour Moodle 1.6 et ultérieur, MySQL (4.1.12 ou ultérieur) ou PostgreSQL (7.4 ou ultérieur)
** Pour Moodle 1.7 et ultérieur, MySQL (4.1.12 ou ultérieur) ou PostgreSQL (7.4 ou ultérieur) ou Microsoft SQL Server 2005 (version 9 ou [http://moodle.org/mod/forum/discuss.php?d=59284 SQL Server Express 2005])
** Pour Moodle 1.8 et ultérieur, MySQL (4.1.12 ou ultérieur) ou PostgreSQL (8.0 ou ultérieur) ou Microsoft SQL Server 2005 (version 9 ou [http://moodle.org/mod/forum/discuss.php?d=59284 SQL Server Express 2005])
** Pour Moodle 1.9 et ultérieur, MySQL (4.1.12 ou ultérieur) ou PostgreSQL (8.0 ou ultérieur) ou Microsoft SQL Server 2005 (version 9 ou [http://moodle.org/mod/forum/discuss.php?d=59284 SQL Server Express 2005])


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.
: '''Note Mysql''' : à partir de Moodle 1.6 si vous utilisez uniquement les langues en latin, MySQL 4.1.12 est suffisant. Si vous utilisez des langues non latines, MySQL 4.1.16 au minimum sera nécessaire. Actuellement, le réglage de MySQL "strict mode" devrait être à OFF (mis à "" ou "MYSQL40") dans le fichier de configuration de MySQL.
: '''Note PostgreSQL''' : la version minimale de PostgreSQL est la 7.4, et est celle recommandée pour les anciennes versions de Moodle. A partir de Moodle 1.8, la version minimale de PostgreSQL est 8.0, largement utilisée.


Si vous voulez faire fonctionner Moodle sur votre propre ordinateur et que cela vous fait un peu peur, lisez notre guide pour [[Installation de AMP|installer Apache, MySQL et PHP]]. Ce document offre quelques pas-à-pas pour l'installation de ces logiciels sur la plupart des plateformes.
Si vous voulez faire fonctionner Moodle sur votre propre ordinateur et que cela vous fait un peu peur, lisez notre guide pour [[Installation de AMP|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 :
== Combien d'utilisateurs ? ==
 
En plus des prérequis matériels et logiciels, vous devrez aussi réfléchir à la capacité de votre installation en fonction du nombre d'utilisateurs que Moodle devra gérer. Il y a deux nombres à prendre en comptes :
 
* '''Utilisateurs qui naviguent sur le site''': le nombre maximum d'utilisateurs susceptibles de consulter votre site Moodle. C'est le nombre d'ordinateurs de votre organisation, ou d'inscrits à vos cours (celui qui sera le plus grand).
* '''Utilisateurs simultanés de la base de données''' : le nombre maximum d'utilisateurs simultanés de la base de données (nécessaire pour des activités Moodle telles que les tests). C'est le nombre d'utilisateurs qui utiliseront Moodle au même moment. En établissement éducatif, vous pouvez utiliser vos planning pour obtenir cette information.
 
Lorsque vous avez ces chiffres, vous pouvez estimer si votre installation Moodle pourra tenir la charge pour ces capacités. Le nombre exact d'utilisateurs dépend de votre configuration matériel/logiciel/réseau spécifique. Généralement, la quantité de mémoire (RAM) installée est le facteur déterminant mais une vitesse processeur supérieure aidera également à réduire le temps de chargement des pages.
 
Voici la règle générale approximative pour un serveur unique :
* le nombre maximal d'utilisateur en simultané = RAM (Go) * 50
* le nombre maximal d'utilisateurs en consultation = nombre maximal d'utilisateurs simultanés * 5.
 
Par exemple, une université ayant 500 ordinateurs, et 100 utilisateurs simultanés aura besoin d'environ 2 Go de RAM pour son serveur, pour supporter le nombre d'utilisateurs simultanés.


Extensions PHP :
'''Note si vous utilisez un serveur hébergé''' : demandez à votre hébergeur quelles sont les limites existants sur les accès simultanés à la base de données et la charge processeur. Cela vous donnera une bonne estimation du nombre d'utilisateurs que Moodle pourra gérer.
* Sur les systèmes Linux/Unix/Mac OS X, la [http://www.boutell.com/gd/ bibliothèque GD] et la [http://www.freetype.org/ bibliothèque FreeType 2] vous permettra d'afficher dynamiquement les graphiques générés par les pages d'historique.
* mbstring - est requis pour l'affichage des chaines multi-byte. (iconv est également recommandé pour Moodle 1.6)
* mysql est requis pour supporter la base de donnée MySql. Notez que pour certaines distributions Linux (notamment Red Hat) c'est une installation optionnelle.
* pgsql est requis pour supporter la base de donnée PostgreSQL.
* zlib est requis pour supporter les fonctionnalités zip/unzip.
* d'autres extensions PHP peuvent être requises pour des fonctionnalités optionnelles de Moodle, notamment comme l'authentification externe et/ou l'inscription (par exemple, extension LDAP)


== Télécharger le logiciel ==
== 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 (mais en anglais) sur la page de téléchargement [http://moodle.org/download/].
Il y a deux façons d'obtenir Moodle : par téléchargement d'un fichier compressé ou à l'aide du [[CVS pour administrateurs|CVS]]. Toutes deux sont expliquées en détail (mais en anglais) sur la page de téléchargement http://moodle.org/downloads/


Après avoir obtenu les fichiers par CVS, ou téléchargé l'archive, puis l'avoir décompressé en utilisant soit
=== Téléchargement d'un fichier compressé ===
On peut télécharger Moodle depuis la page de téléchargement http://moodle.org/downloads/
 
Il est possible d'obtenir les différentes versions de Moodle en utilisant les adresses suivantes :
* http://download.moodle.org/stable20/
* http://download.moodle.org/stable19/
* http://download.moodle.org/stable18/
* http://download.moodle.org/stable17/
* http://download.moodle.org/stable16/
* http://download.moodle.org/stable15/
* http://download.moodle.org/stable14/
* http://download.moodle.org/stable13/
 
et la version de développement est toujours là :
* http://download.moodle.org/moodle/
 
Si l'on souhaite connaitre les dernières modifications apportées dans les 30 derniers jours, il suffit d'ajouter CHANGES à la fin, par exemple :
* http://download.moodle.org/moodle/CHANGES
 
=== Téléchargement par CVS ===
 
Toutes les informations d'utilisations de CVS sont disponibles sur la page [[CVS pour administrateurs]].
 
=== Mise en place des fichiers ===
 
Après avoir obtenu les fichiers par [[CVS pour administrateurs|CVS]], ou téléchargé l'archive, puis l'avoir décompressé en utilisant soit
  tar -zxvf [filename]
  tar -zxvf [filename]
soit
soit
Ligne 45 : Ligne 113 :
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 '''<nowiki>http://votreserveur.com/moodle/</nowiki>'''. 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 '''<nowiki>http://votreserveur.com/</nowiki>'''.
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 '''<nowiki>http://votreserveur.com/moodle/</nowiki>'''. 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 '''<nowiki>http://votreserveur.com/</nowiki>'''.


Si vous téléchargez 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''.
Si vous téléchargez 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 ==
=== Structure du dossier de Moodle ===


Vous pouvez ignorer cette section, qui comporte un bref résumé du contenu du dossier de Moodle.
Vous pouvez ignorer cette section, qui comporte un bref résumé du contenu du dossier de Moodle.
Ligne 70 : Ligne 138 :
:''user/'' - code pour afficher et gérer les utilisateurs
:''user/'' - code pour afficher et gérer les utilisateurs


== Lancer le script d'installation pour créer le fichier ''config.php'' ==
== Préparer votre système ==


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 '''<nowiki>http://votreserveur/install.php</nowiki>'''.
Pour vous assurer que Moodle s'installera correctement, vous devez vérifier que les paramètres du serveur web sont corrects, créer une base de données vide pour Moodle, et créer un répertoire sur le disque dans lequel Moodle pourra stocker tous vos fichiers (et les autres fichiers créés automatiquement) liés aux cours qui seront créés.
 
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 aider à 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 ce qui pourrait vous ennuyer.  


=== Vérifier les réglages de votre serveur web ===
=== 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.).
*En premier lieu, assurez-vous 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 :
Dans Apache, cela peut être obtenu avec une directive « DirectoryIndex » dans votre fichier « httpd.conf ». Chez moi, cela se présente ainsi :
Ligne 90 : Ligne 152 :
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).
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 <nowiki>http://serveur/file.php/arg1/arg2</nowiki>. 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 ».
*Deuxièmement, '''mais seulement si vous utilisez Apache 2''', vous devrez activer la variable ''AcceptPathInfo'', qui permet de passer des arguments à des scripts, comme <nowiki>http://serveur/file.php/arg1/arg2</nowiki>. 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
  '''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'') :
=== Vérification des paramètres PHP ===
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_gpc = 1        (préférable, mais pas nécessaire. Pour Moodle 2.0, devrait être plutôt mis à 0)
  magic_quotes_runtime = 0    (nécessaire)
  magic_quotes_runtime = 0    (nécessaire)
  file_uploads = 1
  file_uploads = 1
Ligne 102 : Ligne 165 :
  session.bug_compat_warn = 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.
Pendant que vous modifiez le fichier php.ini, vous pouvez définir d'autres paramètres optionnels. Par exemple, vous pouvez spécifier la taille maximale des fichiers que l'on peut déposer, généralement fixée par défaut à 2 Mo. Pour la fixer à 16 Mo :
 
post_max_size = 16M
upload_max_filesize = 16M


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 :
==== Utiliser un fichier .htaccess pour le serveur web et les paramètres PHP ====
 
Si vous installez Moodle sur un serveur hébergé, et ne pouvez pas modifier directement les fichiers de votre serveur, 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. Cela fonctionne seulement sur les serveurs Apache, et si Overrides est autorisé dans la configuration générale d'Apache.
 
*Créez dans le dossier de Moodle un fichier nommé ''.htaccess'', contenant des lignes comme :


  DirectoryIndex index.php index.html index.htm
  DirectoryIndex index.php index.html index.htm
Ligne 118 : Ligne 188 :
  php_flag session.bug_compat_warn 0
  php_flag session.bug_compat_warn 0


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


  LimitRequestBody 0
  LimitRequestBody 0
  php_value upload_max_filesize 2M
  php_value upload_max_filesize 16M
  php_value post_max_size 2M
  php_value post_max_size 16M


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 :
*Pour certains hébergeurs (comme 1&1 par exemple), vous devrez également ajouter :
 
AddType x-mapp-php5 .php
 
*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
  cp lib/htaccess .htaccess


=== Créer une base de données ===
=== Créer une base de données vide ===


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.
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, modifiez 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.
:'''Attention :''' Veuillez noter qu'à partir de Moodle 1.5.x, Moodle ne fonctionne pas avec le nouveau mode strict de MySQL 5.x (STRICT_TRANS_TABLES et/ou STRICT_ALL_TABLES) -- voir cette [http://moodle.org/mod/forum/discuss.php?d=58552 discussion sur les forums anglais]. Si vous utilisez MySQL 5.x, modifiez 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 mettez sql-mode="" (avec des guillemets simples) (ou supprimez-la). Vous aurez alors à redémarrer MySQL. Si vous n'avez pas accès à votre serveur, utilisez PHPMyAdmin (ou un autre client MySQL) et entrez la commande SET @@global.sql_mode="" (guillemets simples); (note the semi-colon).


=== Utiliser un serveur hébergé ===
Si vous utilisez un hébergeur web, vous avez probablement un panneau d'administration web vous permettant de créer votre base de données.
Si vous utilisez un hébergeur web, vous avez probablement un panneau d'administration web vous permettant de créer votre base de données.


Le système '''Cpanel''' est un des plus connus. Pour créer une base de données à partir de Cpanel :
Le système ''''[http://www.cpanel.com/ cPanel]''' est un des plus connus. Pour créer une base de données à partir de cPanel :


# Cliquez sur l'icône "'''MySQL Databases'''".
# Cliquez sur l'icône "'''MySQL Databases'''".
Ligne 142 : Ligne 217 :
# Tapez un nom d'utilisateur et un mot de passe (que vous n'utilisez pas ailleurs) dans les champs respectifs, et cliquez sur "'''Add User'''".
# Tapez un nom d'utilisateur et un mot de passe (que vous n'utilisez pas ailleurs) dans les champs respectifs, et cliquez sur "'''Add User'''".
# Maintenant, utilisez le bouton "'''Add User to Database'''" pour donner à cet utilisateur "'''ALL'''" les droits sur cette base de données.
# Maintenant, utilisez le bouton "'''Add User to Database'''" pour donner à cet utilisateur "'''ALL'''" les droits sur cette base de données.
# Notez que vos nom d'utilisateur et de base de données peuvent être préfixés par votre compte Cpanel. En entrant les noms dans l'installateur de Moodle, utilisez les noms complets.
# Notez que vos nom d'utilisateur et de base de données peuvent être préfixés par votre compte cPanel. En entrant les noms dans l'installateur de Moodle, utilisez les noms complets.


Si vous avez accès à la ligne de commande Unix, vous pouvez faire l'équivalent en tapant quelques lignes.
==== En utilisant la ligne de commande ====
Si vous avez accès à la ligne de commande Unix ou Windows, vous pouvez faire l'équivalent en tapant quelques lignes, depuis le client MySQL.


Exemple de commandes sur MySQL (les parties en rouge sont pour Moodle 1.6 et ultérieur, ignorez les pour Moodle 1.5 ou postérieur) :
Exemple de commandes sur MySQL (les parties en rouge sont nécessaires à partir de Moodle 1.6, ignorez les pour les versions inférieures) :


   # mysql -u root -p
   # mysql -u root -p
Ligne 153 : Ligne 229 :
           TO moodleuser@localhost IDENTIFIED BY 'motdepasse';  
           TO moodleuser@localhost IDENTIFIED BY 'motdepasse';  
   > quit  
   > quit  
   # mysqladmin -p reload
   # mysqladmin -u root -p reload


Si vous utilisez MySQL 4.0.2 ou supérieur, vous devrez également spécifier l'utilisation de tables temporaires, en modifiant la commande GRANT ci-dessus de la manière suivante :
Si vous utilisez MySQL 4.0.2 ou supérieur, vous devrez également spécifier l'utilisation de tables temporaires, en modifiant la commande GRANT ci-dessus de la manière suivante :
Ligne 167 : Ligne 243 :
   # su - postgres
   # su - postgres
   > psql -c "create user moodleuser createdb;" template1
   > psql -c "create user moodleuser createdb;" template1
  > psql -c "alter user moodleuser with encrypted password 'motdepasse';" template1
   > psql -c "create database moodle <font color="red">with encoding 'unicode'</font>;" -U moodleuser template1
   > psql -c "create database moodle <font color="red">with encoding 'unicode'</font>;" -U moodleuser template1
   > psql -c "alter user moodleuser nocreatedb;" template1
   > psql -c "alter user moodleuser nocreatedb;" template1
  > psql -c "alter user moodleuser with encrypted password 'motdepasse';" template1
   > su - root
   > su - root
   # /etc/init.d/postgresql reload
   # /etc/init.d/postgresql reload
Ligne 176 : Ligne 252 :
  psql -c "create database moodle with template=template1 encoding = 'unicode' owner = moodleuser location = '/var/mydata';"
  psql -c "create database moodle with template=template1 encoding = 'unicode' owner = moodleuser location = '/var/mydata';"


=== Créer un dossier de données ===
=== Créer le dossier de données (moodledata) ===


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.
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 :
L'installation de Moodle essaie de créer ce dossier pour vous, mais s'il échoue, vous devrez créer un dossier dédié au stockage des données manuellement.
 
'''Sécurité''' : 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 (si vous utilisez Apache) en y plaçant un fichier nommé ''.htaccess'', contenant cette ligne :


  deny from all
  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''.
'''Permissions''' : 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'', et qu'il ait les droits de lecture, d'écriture, et d'exécution. Pour cela, vous pouvez utiliser une ligne comme :
 
chown -R nobody:nobody moodledata
 
Par défaut, Moodle affichera un avertissement si vous créez le dossier de données dans le dossier web, mais sinon, il peut être créé ou vous le souhaitez. Vous pourrez le déplacer plus tard ou bon vous semblera, en prenant bien garde à modifier le chemin d'accès dans le fichier '''config.php'''. Par exemple, si ''moodledata'' est situé dans un dossier nommé ''data'', alors vous devriez avoir :
$CFG->dataroot = '/data/moodledata';


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).
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é ''Safe Mode'' pourraient demander une création manuelle du dossier de données par l'administrateur.
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é ''Safe Mode'' pourraient demander une création manuelle du dossier de données par l'administrateur.
== 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 '''<nowiki>http://votreserveur/install.php</nowiki>'''.
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 aider à 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 ce qui pourrait vous ennuyer.


== Visiter la page d'administration pour poursuivre l'installation ==
== Visiter la page d'administration pour poursuivre l'installation ==
Ligne 207 : Ligne 301 :
... et ainsi de suite, et finalement : <font color="green">Main databases set up successfully.</font>
... et ainsi de suite, et finalement : <font color="green">Main databases set up successfully.</font>


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.
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|Safe Mode]]'' activé). Vous pouvez vérifier la configuration des variables PHP en créant un fichier PHP contenant [[phpinfo|<?php 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''.
Descendez tout en bas de la page et cliquez sur le lien ''Continuer''.
Ligne 237 : Ligne 331 :


== Mettre en place un cron ==
== Mettre en place un cron ==
Les tâches de fond de Moodle (par exemple, envoyer les messages des forums par courriel, et effectuer les sauvegardes automatiques des cours) sont assurées par un script que vous pouvez configurer pour s'exécuter à des moments bien précis de la journée. Ceci est connu comme un script cron.
Veuillez vous référer aux [[Cron|instructions sur le cron]].


Veuillez vous référer aux [[Cron|instructions sur le cron]].
== Mettre en place les sauvegardes ==
 
Veuillez vous référer aux [[Sauvegarde (administrateur)|instructions de sauvegarde]].
 
== Comment vérifier l'état du serveur ? ==
 
Moodle contient un script qui vous aidera à identifier des problèmes communs de php et de configuration du serveur web, ainsi que des problèmes de configuration. Il peut être utile de lancer ce script pour vérifier que vous n'ayez pas de problèmes après l'installation. Ouvrez la page suivante :
 
<nowiki>http://www.monmoodle.com/moodle/admin/health.php</nowiki>
 
Modifiez la ligne en fonction de votre adresse, et en supprimant éventuellement ''moodle/'' si vous l'avez installé à la racine.


== Créer un nouveau cours ==
== Créer un nouveau cours ==
Ligne 257 : Ligne 363 :


*[[FAQ d'installation]]
*[[FAQ d'installation]]
*[[Mise à jour|Mise à jour de Moodle]]
*[[Installation chez un hébergeur gratuit]]
*[[Installation sur Windows Vista]]
*[[Installation de AMP|Installation d'Apache, MySQL et PHP]]
*[[Installation de AMP|Installation d'Apache, MySQL et PHP]]
*[[Mise à jour|Mise à jour de Moodle]]
*[[Moodle sur clé USB]]
*[[:en:Windows installation|Windows installation]] (en anglais)
*[[:en:Windows installation|Windows installation]] (en anglais)
*[[:en:RedHat Linux installation|Step by Step Installation Guide for RedHat]] (en anglais)
*[[:en:RedHat Linux installation|Step by Step Installation Guide for RedHat]] (en anglais)
*[[:en:Debian GNU/Linux installation|Step by Step Installation Guide for Debian GNU/Linux]] (en anglais)
*[[:en:Debian GNU/Linux installation|Step by Step Installation Guide for Debian GNU/Linux]] (en anglais)
 
*[[:en:Step-by-step Install Guide for Ubuntu|Step-by-step Install Guide for Ubuntu]] (en anglais)





Dernière version du 16 janvier 2012 à 13:09

Cet article a besoin d'une mise à jour. Veuillez SVP le mettre à jour et retirer cette notice une fois la mise à jour effectuée. Si le bloc "Autres langues" (voir pied de page), comprend un lien "English", vous pouvez vous inspirer du contenu anglais.



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 Partenaire Moodle fournissant un hébergement, qui pourra entretenir votre Moodle pour vous, de sorte que vous puissiez vous focaliser directement sur l'enseignement ! C'est l'option la plus confortable, mais si vous décidez de choisir un hébergeur ayant Fantastico (inclus dans cPanel), alors ce tutoriel vous guidera dans le processus de choix d'un hébergeur et d'installation de Moodle via cPanel. Dans cette dernière formule, l'installation ne nécessite aucune connaissance particulière, mais la version installée est celle prévue par Fantastico, c'est-à-dire rarement la dernière.

Note: Pour les hébergements disposant de cPanel et incluant donc d'office l’installateur Fantastico (ou Softaculous), l'installation de Moodle avec sa base de données associée et son dossier Moodledata (souvent uploaddata) s'effectue automatiquement en quelques clics. L'inconvénient est qu'il s'agit rarement de la dernière version de Moodle


Prérequis 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/2000/2003 (WAMP), Solaris 10 (Sparc and x64), Mac OS X et Netware 6. Le support de PostgreSQL, Oracle et Microsoft SQL Server est aussi disponible.

Note pour ceux utilisant un hébergeur web : La plupart des hébergeurs web proposent tout cela par défaut. Vous devriez contacter le support technique des hébergeurs pour vérifier ces points avant de vous engager. 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 les modifications nécessaires ne sont pas apportées.


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

Matériel (sauf si vous utilisez un serveur hébergé)

  • Espace disque : 160 Mo de libre (min). Vous aurez besoin de plus de place pour stocker vos contenus de cours.
  • Mémoire : 256 Mo (min), 1 Go (recommandé). La règle générale est que Moodle peut supporter 50 utilisateurs simultanés pour chaque 1 Go de RAM, mais cela peut varier en fonction de la combinaison de votre matériel spécifique, et des logiciels utilisés.

Logiciel

  • 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 de script PHP. Il a existé certains problèmes lors de l'installation de Moodle avec PHP-Accelerator. Il existe actuellement deux versions (ou branches) de PHP : PHP4 et PHP5 et les versions requises sont détaillées ci-dessous.
    • Dès la version 1.4 de Moodle, PHP4 (version 4.1.0 ou ultérieure) et PHP5 (version 5.1.0 ou ultérieure) sont supportés.
    • A partir de Moodle 1.6, PHP4 (4.3.0 ou ultérieur) ou PHP5 (5.1.0 ou ultérieur) sont supportés.
    • Moodle 2.0 ne supporte plus PHP4, et PHP5 (version 5.2.8 ou ultérieure) est nécessaire.
    • Moodle 2.1 nécessite PHP 5.3.2 ou ultérieure.
    • Paramètres PHP
      • le paramètre PHP safe mode doit être à OFF dans les fichiers de configuration de php (php.ini) et d'apache (généralement httpd.config).
      • le paramètre memory_limit doit être au moins à 40M à partir de Moodle 1.8 (32M pour Moodle 1.7, et 16M jusqu'à Moodle 1.6). Les grands sites peuvent nécessiter plus de 128M. PHP 5.2.x nécessite une valeur plus haute pour memory_limit que les versions précédentes, jusqu'au double. Les systèmes d'exploitation 64 bits nécessitent également une valeur plus élevée.
      • le paramètre session.save_handler doit être réglé à files
    • Extensions et librairies PHP
      • mbstring - est requis à partir de Moodle 1.6 pour l'affichage des chaines multi-byte.
      • iconv est recommandé à partir de Moodle 1.6.
      • Sur les systèmes Linux/Unix/Mac OS X, la bibliothèque GD et la bibliothèque FreeType 2 vous permettront d'afficher dynamiquement les graphiques générés par les pages d'historique.
      • mysql est requis si vous utilisez la base de donnée MySql. Notez que pour certaines distributions Linux (notamment Red Hat) c'est une installation optionnelle.
      • pgsql est requis pour supporter la base de donnée PostgreSQL.
      • zlib est requis pour supporter les fonctionnalités zip/unzip.
      • curl est recommandé à partir de Moodle 1.8, et doit être installé et activé dans Moodle 2.x (exemple : 2.2.1)
      • tokenizer est recommandé à partir de Moodle 1.8.
      • curl et openssl sont nécessaires pour les fonctionnalités de réseau Moodle (à partir de Moodle 1.8).
      • d'autres extensions PHP peuvent être requises pour des fonctionnalités optionnelles de Moodle, notamment comme l'authentification externe et/ou l'inscription (par exemple, extension LDAP)
  • Un serveur de base de données : MySQL ou PostgreSQL sont complètement supportés et recommandés pour être utilisés avec n'importe quelle version de Moodle. A partir de Moodle 1.7, d'autres formats de base de données sont supportés, notamment Oracle et MS SQL. MySQL est le choix de la plupart des gens, mais il y a quelques arguments en faveur de PostgreSQL, notamment si vous planifiez un gros déploiement.
    • Pour Moodle 1.5 et ultérieur, MySQL (3.23 ou ultérieur) ou PostgreSQL (7.4 ou ultérieur)
    • Pour Moodle 1.6 et ultérieur, MySQL (4.1.12 ou ultérieur) ou PostgreSQL (7.4 ou ultérieur)
    • Pour Moodle 1.7 et ultérieur, MySQL (4.1.12 ou ultérieur) ou PostgreSQL (7.4 ou ultérieur) ou Microsoft SQL Server 2005 (version 9 ou SQL Server Express 2005)
    • Pour Moodle 1.8 et ultérieur, MySQL (4.1.12 ou ultérieur) ou PostgreSQL (8.0 ou ultérieur) ou Microsoft SQL Server 2005 (version 9 ou SQL Server Express 2005)
    • Pour Moodle 1.9 et ultérieur, MySQL (4.1.12 ou ultérieur) ou PostgreSQL (8.0 ou ultérieur) ou Microsoft SQL Server 2005 (version 9 ou SQL Server Express 2005)
Note Mysql : à partir de Moodle 1.6 si vous utilisez uniquement les langues en latin, MySQL 4.1.12 est suffisant. Si vous utilisez des langues non latines, MySQL 4.1.16 au minimum sera nécessaire. Actuellement, le réglage de MySQL "strict mode" devrait être à OFF (mis à "" ou "MYSQL40") dans le fichier de configuration de MySQL.
Note PostgreSQL : la version minimale de PostgreSQL est la 7.4, et est celle recommandée pour les anciennes versions de Moodle. A partir de Moodle 1.8, la version minimale de PostgreSQL est 8.0, largement utilisée.

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.

Combien d'utilisateurs ?

En plus des prérequis matériels et logiciels, vous devrez aussi réfléchir à la capacité de votre installation en fonction du nombre d'utilisateurs que Moodle devra gérer. Il y a deux nombres à prendre en comptes :

  • Utilisateurs qui naviguent sur le site: le nombre maximum d'utilisateurs susceptibles de consulter votre site Moodle. C'est le nombre d'ordinateurs de votre organisation, ou d'inscrits à vos cours (celui qui sera le plus grand).
  • Utilisateurs simultanés de la base de données : le nombre maximum d'utilisateurs simultanés de la base de données (nécessaire pour des activités Moodle telles que les tests). C'est le nombre d'utilisateurs qui utiliseront Moodle au même moment. En établissement éducatif, vous pouvez utiliser vos planning pour obtenir cette information.

Lorsque vous avez ces chiffres, vous pouvez estimer si votre installation Moodle pourra tenir la charge pour ces capacités. Le nombre exact d'utilisateurs dépend de votre configuration matériel/logiciel/réseau spécifique. Généralement, la quantité de mémoire (RAM) installée est le facteur déterminant mais une vitesse processeur supérieure aidera également à réduire le temps de chargement des pages.

Voici la règle générale approximative pour un serveur unique :

  • le nombre maximal d'utilisateur en simultané = RAM (Go) * 50
  • le nombre maximal d'utilisateurs en consultation = nombre maximal d'utilisateurs simultanés * 5.

Par exemple, une université ayant 500 ordinateurs, et 100 utilisateurs simultanés aura besoin d'environ 2 Go de RAM pour son serveur, pour supporter le nombre d'utilisateurs simultanés.

Note si vous utilisez un serveur hébergé : demandez à votre hébergeur quelles sont les limites existants sur les accès simultanés à la base de données et la charge processeur. Cela vous donnera une bonne estimation du nombre d'utilisateurs que Moodle pourra gérer.

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 (mais en anglais) sur la page de téléchargement http://moodle.org/downloads/

Téléchargement d'un fichier compressé

On peut télécharger Moodle depuis la page de téléchargement http://moodle.org/downloads/

Il est possible d'obtenir les différentes versions de Moodle en utilisant les adresses suivantes :

et la version de développement est toujours là :

Si l'on souhaite connaitre les dernières modifications apportées dans les 30 derniers jours, il suffit d'ajouter CHANGES à la fin, par exemple :

Téléchargement par CVS

Toutes les informations d'utilisations de CVS sont disponibles sur la page CVS pour administrateurs.

Mise en place des fichiers

Après avoir obtenu les fichiers par CVS, ou téléchargé l'archive, puis l'avoir décompressé en utilisant soit

tar -zxvf [filename]

soit

unzip [filename]

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échargez 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

Préparer votre système

Pour vous assurer que Moodle s'installera correctement, vous devez vérifier que les paramètres du serveur web sont corrects, créer une base de données vide pour Moodle, et créer un répertoire sur le disque dans lequel Moodle pourra stocker tous vos fichiers (et les autres fichiers créés automatiquement) liés aux cours qui seront créés.

Vérifier les réglages de votre serveur web

  • En premier lieu, assurez-vous 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

Vérification des paramètres PHP

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. Pour Moodle 2.0, devrait être plutôt mis à 0)
magic_quotes_runtime = 0    (nécessaire)
file_uploads = 1
session.auto_start = 0
session.bug_compat_warn = 0

Pendant que vous modifiez le fichier php.ini, vous pouvez définir d'autres paramètres optionnels. Par exemple, vous pouvez spécifier la taille maximale des fichiers que l'on peut déposer, généralement fixée par défaut à 2 Mo. Pour la fixer à 16 Mo :

post_max_size = 16M
upload_max_filesize = 16M

Utiliser un fichier .htaccess pour le serveur web et les paramètres PHP

Si vous installez Moodle sur un serveur hébergé, et ne pouvez pas modifier directement les fichiers de votre serveur, 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. Cela fonctionne seulement sur les serveurs Apache, et si Overrides est autorisé dans la configuration générale d'Apache.

  • Créez dans le dossier de Moodle un fichier nommé .htaccess, contenant des lignes comme :
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
  • Vous pouvez aussi définir la taille maximale des fichiers déposés :
LimitRequestBody 0
php_value upload_max_filesize 16M
php_value post_max_size 16M
  • Pour certains hébergeurs (comme 1&1 par exemple), vous devrez également ajouter :
AddType x-mapp-php5 .php
  • 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 vide

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.

Attention : Veuillez noter qu'à partir de Moodle 1.5.x, Moodle ne fonctionne pas avec le nouveau mode strict de MySQL 5.x (STRICT_TRANS_TABLES et/ou STRICT_ALL_TABLES) -- voir cette discussion sur les forums anglais. Si vous utilisez MySQL 5.x, modifiez 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 mettez sql-mode="" (avec des guillemets simples) (ou supprimez-la). Vous aurez alors à redémarrer MySQL. Si vous n'avez pas accès à votre serveur, utilisez PHPMyAdmin (ou un autre client MySQL) et entrez la commande SET @@global.sql_mode="" (guillemets simples); (note the semi-colon).

Utiliser un serveur hébergé

Si vous utilisez un hébergeur web, vous avez probablement un panneau d'administration web vous permettant de créer votre base de données.

Le système 'cPanel est un des plus connus. Pour créer une base de données à partir de cPanel :

  1. Cliquez sur l'icône "MySQL Databases".
  2. Tapez "moodle" dans le champ base de données et cliquez sur "Add Database".
  3. Tapez un nom d'utilisateur et un mot de passe (que vous n'utilisez pas ailleurs) dans les champs respectifs, et cliquez sur "Add User".
  4. Maintenant, utilisez le bouton "Add User to Database" pour donner à cet utilisateur "ALL" les droits sur cette base de données.
  5. Notez que vos nom d'utilisateur et de base de données peuvent être préfixés par votre compte cPanel. En entrant les noms dans l'installateur de Moodle, utilisez les noms complets.

En utilisant la ligne de commande

Si vous avez accès à la ligne de commande Unix ou Windows, vous pouvez faire l'équivalent en tapant quelques lignes, depuis le client MySQL.

Exemple de commandes sur MySQL (les parties en rouge sont nécessaires à partir de Moodle 1.6, ignorez les pour les versions inférieures) :

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

Si vous utilisez MySQL 4.0.2 ou supérieur, vous devrez également spécifier l'utilisation de tables temporaires, en modifiant la commande GRANT ci-dessus de la manière suivante :

  > GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,
          DROP,INDEX,ALTER ON moodle.* 
          TO moodleuser@localhost IDENTIFIED BY 'motdepasse'; 

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

Exemple de commandes pour PostgreSQL :

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

Si la commande de création suivante (>psql -c "create database moodle...") renvoie une erreur, vous pouvez essayer :

psql -c "create database moodle with template=template1 encoding = 'unicode' owner = moodleuser location = '/var/mydata';"

Créer le dossier de données (moodledata)

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.

L'installation de Moodle essaie de créer ce dossier pour vous, mais s'il échoue, vous devrez créer un dossier dédié au stockage des données manuellement.

Sécurité : 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 (si vous utilisez Apache) en y plaçant un fichier nommé .htaccess, contenant cette ligne :

deny from all

Permissions : 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, et qu'il ait les droits de lecture, d'écriture, et d'exécution. Pour cela, vous pouvez utiliser une ligne comme :

chown -R nobody:nobody moodledata

Par défaut, Moodle affichera un avertissement si vous créez le dossier de données dans le dossier web, mais sinon, il peut être créé ou vous le souhaitez. Vous pourrez le déplacer plus tard ou bon vous semblera, en prenant bien garde à modifier le chemin d'accès dans le fichier config.php. Par exemple, si moodledata est situé dans un dossier nommé data, alors vous devriez avoir :

$CFG->dataroot = '/data/moodledata';

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é Safe Mode pourraient demander une création manuelle du dossier de données par l'administrateur.

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 aider à 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 ce qui pourrait vous ennuyer.

Visiter la page d'administration pour poursuivre l'installation

La page d'aministration devrait être maintenant active à l'adresse http://exemple.com/moodle/admin (ou http://exemple.com/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 <?php 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

Les tâches de fond de Moodle (par exemple, envoyer les messages des forums par courriel, et effectuer les sauvegardes automatiques des cours) sont assurées par un script que vous pouvez configurer pour s'exécuter à des moments bien précis de la journée. Ceci est connu comme un script cron. Veuillez vous référer aux instructions sur le cron.

Mettre en place les sauvegardes

Veuillez vous référer aux instructions de sauvegarde.

Comment vérifier l'état du serveur ?

Moodle contient un script qui vous aidera à identifier des problèmes communs de php et de configuration du serveur web, ainsi que des problèmes de configuration. Il peut être utile de lancer ce script pour vérifier que vous n'ayez pas de problèmes après l'installation. Ouvrez la page suivante :

http://www.monmoodle.com/moodle/admin/health.php

Modifiez la ligne en fonction de votre adresse, et en supprimant éventuellement moodle/ si vous l'avez installé à la racine.

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éer 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