Installation de Moodle

Pas de panique ! 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 !

Prenez le temps d'√©tudier attentivement ces instructions. Cela vous fera gagner du temps t√īt ou tard.

Voici les différentes sections de ce document :

  1. Logiciels et réglages nécessaires
  2. Télécharger le logiciel
  3. Structure du dossier d'installation
  4. Créer un dossier de données
  5. Créer une base de données
  6. Vérifier les réglages de votre serveur web
  7. Modifier config.php
  8. Visiter la page d'administration
  9. Mettre en place un cron
  10. Créer un nouveau cours

1. 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 :

  1. 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.
  2. Le langage PHP (version 4.1.0 ou ultérieure), avec les réglages suivants :
    • la biblioth√®que GD, install√©e et activ√© (ON), supportant les formats JPG et PNG¬†;
    • la biblioth√®que zlib install√©e et activ√©e (ON), si vous voulez faire des backups et les restaurer sous Windows¬†;
    • le support des sessions activ√© (ON)¬†;
    • le d√©p√īt (upload) de fichiers activ√© (ON)¬†;
    • le mode ¬ę¬†Safe Mode¬†¬Ľ doit √™tre d√©sactiv√© (OFF) (voir les forums sur moodle.org pour les probl√®mes caus√©s par le mode ¬ę¬†Safe Mode¬†¬Ľ.
  3. Un serveur de base de données : MySQL ou PostgreSQL sont complètement supportés et recommandés pour être utilisés avec Moodle 1.1. D'autres bases de données seront pleinement supportées dans la prochaine version.

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, jetez un oeil à la documentation pour les administrateurs. Ce document offre quelques pas-à-pas pour l'installation de ces logiciels sur la plupart des plateformes.

2. 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/.

3. Structure du dossier d'installation

Voici une bref aperçu du contenu du dossier Moodle, afin de vous permettre de ne pas vous perdre :

config.php : l'UNIQUE fichier à modifier pour faire fonctionner votre site
version.php : indique la version actuelle du programme Moodle
index.php : la page d'accueil du site

  • admin/¬†: programmes pour l'administration du serveur
  • auth/¬†: modules pour l'authentification des utilisateurs
  • course/¬†: programmes pour l'affichage et la gestion des cours
  • doc/¬†: documentation et fichiers d'aide de Moodle (p. ex. cette page)
  • files/¬†: programmes pour l'affichage et la gestion des fichiers d√©pos√©s
  • lang/¬†: textes dans les diff√©rentes langues, un dossier par langue
  • lib/¬†: biblioth√®ques du cŇďur du programme Moodle
  • login/¬†: programmes 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/¬†: diff√©rents th√®mes visuels pour changer l'aspect de votre site
  • user/¬†: programmes pour afficher et g√©rer les utilisateurs

4. 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
AllowOverride None

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.

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

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 sur PostgreSQL :

   # su - postgres
   > psql -c "create user moodleuser createdb;" template1
   > psql -c "create database moodle;" -U moodleuser template1
   > psql -c "alter user moodleuser nocreatedb;" template1

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

Moodle gère les préfixes de tables à partir de la version 1.0.8. Il peut donc sans problème partager une base de données comprenant des tables d'autres applications.

6. 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, 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

7. Modifier config.php

Vous pouvez maintenant éditer le fichier de configuration config.php à l'aide d'un éditeur de texte. Ce fichier est utilisé par tous les autres fichiers de Moodle.

Pour commencer, faites une copie du fichier config-dist.php et donnez-lui le nom ¬ę¬†config.php¬†¬Ľ. Cette √©tape est n√©cessaire pour √©viter que votre config.php ne soit effac√© si plus tard vous mettez √† jour Moodle.

Modifiez votre config.php pour indiquer les détails de la base de données que vous venez de définir (en incluant un préfixe de table, ce qui est OBLIGATOIRE pour PostgreSQL), ainsi que l'adresse du site, le chemin du dossier et celui du dossier des données. Le fichier de configuration contient de plus amples informations, ainsi que des exemples.

Une fois cette étape effectuée, le reste de l'installation a lieu via une interface web. Pour la suite et la fin de cette installation, nous supposerons que votre site est à l'adresse : http://exemple.com/moodle.

8. Visiter la page d'administration

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, suivi de : 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()

PHP Version 5.2.4-2ubuntu5.27


System Linux geopole 2.6.24-31-server #1 SMP Tue Jun 12 19:36:33 UTC 2012 i686
Build Date Mar 11 2013 14:04:25
Server API Apache 2.0 Handler
Virtual Directory Support disabled
Configuration File (php.ini) Path /etc/php5/apache2
Loaded Configuration File /etc/php5/apache2/php.ini
Scan this dir for additional .ini files /etc/php5/apache2/conf.d
additional .ini files parsed /etc/php5/apache2/conf.d/curl.ini, /etc/php5/apache2/conf.d/gd.ini, /etc/php5/apache2/conf.d/mysql.ini, /etc/php5/apache2/conf.d/mysqli.ini, /etc/php5/apache2/conf.d/pdo.ini, /etc/php5/apache2/conf.d/pdo_mysql.ini, /etc/php5/apache2/conf.d/xmlrpc.ini
PHP API 20041225
PHP Extension 20060613
Zend Extension 220060519
Debug Build no
Thread Safety disabled
Zend Memory Manager enabled
IPv6 Support enabled
Registered PHP Streams zip, php, file, data, http, ftp, compress.bzip2, compress.zlib, https, ftps
Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Registered Stream Filters string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, convert.iconv.*, bzip2.*, zlib.*

This server is protected with the Suhosin Patch 0.9.6.2
Copyright (c) 2006 Hardened-PHP Project

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies


Configuration

PHP Core

DirectiveLocal ValueMaster Value
allow_call_time_pass_referenceOnOn
allow_url_fopenOnOn
allow_url_includeOffOff
always_populate_raw_post_dataOffOff
arg_separator.input&&
arg_separator.output&amp;&
asp_tagsOffOff
auto_append_fileno valueno value
auto_globals_jitOnOn
auto_prepend_fileno valueno value
browscapno valueno value
default_charsetno valueno value
default_mimetypetext/htmltext/html
define_syslog_variablesOffOff
disable_classesno valueno value
disable_functionsno valueno value
display_errorsOnOff
display_startup_errorsOffOff
doc_rootno valueno value
docref_extno valueno value
docref_rootno valueno value
enable_dlOnOn
error_append_stringno valueno value
error_logno valueno value
error_prepend_stringno valueno value
error_reporting06135
expose_phpOffOff
extension_dir/usr/lib/php5/20060613+lfs/usr/lib/php5/20060613+lfs
file_uploadsOnOn
highlight.bg#FFFFFF#FFFFFF
highlight.comment#FF8000#FF8000
highlight.default#0000BB#0000BB
highlight.html#000000#000000
highlight.keyword#007700#007700
highlight.string#DD0000#DD0000
html_errorsOnOn
ignore_repeated_errorsOffOff
ignore_repeated_sourceOffOff
ignore_user_abortOffOff
implicit_flushOffOff
include_path/var/www/opengem/lib/pear:.:/usr/share/php:/usr/share/pear.:/usr/share/php:/usr/share/pear
log_errorsOffOff
log_errors_max_len10241024
magic_quotes_gpcOnOn
magic_quotes_runtimeOffOff
magic_quotes_sybaseOffOff
mail.force_extra_parametersno valueno value
max_execution_time3030
max_file_uploads5050
max_input_nesting_level6464
max_input_time6060
max_input_vars10001000
memory_limit256M256M
open_basedirno valueno value
output_bufferingno valueno value
output_handlerno valueno value
post_max_size20M20M
precision1412
realpath_cache_size16K16K
realpath_cache_ttl120120
register_argc_argvOnOn
register_globalsOffOff
register_long_arraysOnOn
report_memleaksOnOn
report_zend_debugOnOn
safe_modeOffOff
safe_mode_exec_dirno valueno value
safe_mode_gidOffOff
safe_mode_include_dirno valueno value
sendmail_fromno valueno value
sendmail_path/usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i 
serialize_precision100100
short_open_tagOnOn
SMTPlocalhostlocalhost
smtp_port2525
sql.safe_modeOffOff
suhosin.log.phpscript00
suhosin.log.phpscript.is_safeOffOff
suhosin.log.phpscript.nameno valueno value
suhosin.log.sapino valueno value
suhosin.log.scriptno valueno value
suhosin.log.script.nameno valueno value
suhosin.log.syslogno valueno value
suhosin.log.syslog.facilityno valueno value
suhosin.log.syslog.priorityno valueno value
suhosin.log.use-x-forwarded-forOffOff
track_errorsOffOff
unserialize_callback_funcno valueno value
upload_max_filesize20M20M
upload_tmp_dirno valueno value
user_dirno valueno value
variables_orderEGPCSEGPCS
xmlrpc_error_number00
xmlrpc_errorsOffOff
y2k_complianceOnOn
zend.ze1_compatibility_modeOffOff

apache2handler

Apache Version Apache/2.2.8 (Ubuntu)
Apache API Version 20051115
Server Administrator infra@grenoble-em.com
Hostname:Port opencim.grenoble-em.com:0
User/Group www-data(33)/33
Max Requests Per Child: 20 - Keep Alive: on - Max Per Connection: 100
Timeouts Connection: 300 - Keep-Alive: 10
Virtual Server Yes
Server Root /etc/apache2
Loaded Modules core mod_log_config mod_logio prefork http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_dir mod_env mod_info mod_mime mod_negotiation mod_php5 mod_setenvif mod_status mod_userdir

DirectiveLocal ValueMaster Value
engine11
last_modified00
xbithack00

Apache Environment

VariableValue
HTTP_HOST opencim.grenoble-em.com
HTTP_ACCEPT_ENCODING x-gzip, gzip, deflate
HTTP_USER_AGENT CCBot/2.0 (http://commoncrawl.org/faq/)
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_IF_MODIFIED_SINCE Mon, 22 Jan 2018 06:01:24 GMT
PATH /usr/local/bin:/usr/bin:/bin
SERVER_SIGNATURE <address>Apache/2.2.8 (Ubuntu) Server at opencim.grenoble-em.com Port 80</address>
SERVER_SOFTWARE Apache/2.2.8 (Ubuntu)
SERVER_NAME opencim.grenoble-em.com
SERVER_ADDR 213.244.23.34
SERVER_PORT 80
REMOTE_ADDR 54.224.100.134
DOCUMENT_ROOT /var/www/opengem
SERVER_ADMIN infra@grenoble-em.com
SCRIPT_FILENAME /var/www/opengem/help.php
REMOTE_PORT 38084
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.0
REQUEST_METHOD GET
QUERY_STRING file=install.html
REQUEST_URI /help.php?file=install.html
SCRIPT_NAME /help.php

HTTP Headers Information

HTTP Request Headers
HTTP Request GET /help.php?file=install.html HTTP/1.0
Host opencim.grenoble-em.com
Accept-Encoding x-gzip, gzip, deflate
User-Agent CCBot/2.0 (http://commoncrawl.org/faq/)
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
If-Modified-Since Mon, 22 Jan 2018 06:01:24 GMT
HTTP Response Headers
Set-Cookie MoodleSession=7b207812364c709604fe235ffe1934b5; path=/
Expires no value
Cache-Control private, pre-check=0, post-check=0, max-age=0
Pragma no-cache
Set-Cookie MoodleSessionTest=xm33U7FFjk; path=/
Content-Script-Type text/javascript
Content-Style-Type text/css
Content-Language fr
Accept-Ranges none
Connection close
Content-Type text/html; charset=utf-8

bcmath

BCMath support enabled

bz2

BZip2 Support Enabled
Stream Wrapper support compress.bz2://
Stream Filter support bzip2.decompress, bzip2.compress
BZip2 Version 1.0.4, 20-Dec-2006

calendar

Calendar support enabled

ctype

ctype functions enabled

curl

cURL support enabled
cURL Information libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1

date

date/time support enabled
"Olson" Timezone Database Version 0.system
Timezone Database internal
Default timezone Europe/Berlin

DirectiveLocal ValueMaster Value
date.default_latitude31.766731.7667
date.default_longitude35.233335.2333
date.sunrise_zenith90.58333390.583333
date.sunset_zenith90.58333390.583333
date.timezoneno valueno value

dba

DBA support enabled
Supported handlers cdb cdb_make db4 inifile flatfile

dom

DOM/XML enabled
DOM/XML API Version 20031129
libxml Version 2.6.31
HTML Support enabled
XPath Support enabled
XPointer Support enabled
Schema Support enabled
RelaxNG Support enabled

exif

EXIF Support enabled
EXIF Version 1.4 $Id: exif.c,v 1.173.2.5.2.20 2007/06/10 20:12:45 iliaa Exp $
Supported EXIF Version 0220
Supported filetypes JPEG,TIFF

filter

Input Validation and Filtering enabled
Revision $Revision: 1.52.2.39 $

DirectiveLocal ValueMaster Value
filter.defaultunsafe_rawunsafe_raw
filter.default_flagsno valueno value

ftp

FTP support enabled

gd

GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.3.5
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled

gettext

GetText Support enabled

hash

hash support enabled
Hashing Engines md2 md4 md5 sha1 sha256 sha384 sha512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru gost adler32 crc32 crc32b haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5

iconv

iconv support enabled
iconv implementation glibc
iconv library version 2.7

DirectiveLocal ValueMaster Value
iconv.input_encodingISO-8859-1ISO-8859-1
iconv.internal_encodingISO-8859-1ISO-8859-1
iconv.output_encodingISO-8859-1ISO-8859-1

json

json support enabled
json version 1.2.1

libxml

libXML support active
libXML Version 2.6.31
libXML streams enabled

mbstring

Multibyte Support enabled
Multibyte string engine libmbfl
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 4.4.4
Multibyte regex (oniguruma) backtrack check On

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

DirectiveLocal ValueMaster Value
mbstring.detect_orderno valueno value
mbstring.encoding_translationOffOff
mbstring.func_overload00
mbstring.http_inputpasspass
mbstring.http_outputpasspass
mbstring.internal_encodingno valueno value
mbstring.languageneutralneutral
mbstring.strict_detectionOffOff
mbstring.substitute_characterno valueno value

mcrypt

mcrypt supportenabled
Version 2.5.7
Api No 20021217
Supported ciphers cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes
Supported modes cbc cfb ctr ecb ncfb nofb ofb stream

DirectiveLocal ValueMaster Value
mcrypt.algorithms_dirno valueno value
mcrypt.modes_dirno valueno value

mime_magic

mime_magic supportinvalid magic file, disabled

DirectiveLocal ValueMaster Value
mime_magic.debugOffOff
mime_magic.magicfile/usr/share/file/magic.mime/usr/share/file/magic.mime

mysql

MySQL Supportenabled
Active Persistent Links 0
Active Links 1
Client API version 5.0.96
MYSQL_MODULE_TYPE external
MYSQL_SOCKET /var/run/mysqld/mysqld.sock
MYSQL_INCLUDE -I/usr/include/mysql
MYSQL_LIBS -L/usr/lib -lmysqlclient

DirectiveLocal ValueMaster Value
mysql.allow_persistentOnOn
mysql.connect_timeout6060
mysql.default_hostno valueno value
mysql.default_passwordno valueno value
mysql.default_portno valueno value
mysql.default_socketno valueno value
mysql.default_userno valueno value
mysql.max_linksUnlimitedUnlimited
mysql.max_persistentUnlimitedUnlimited
mysql.trace_modeOffOff

mysqli

MysqlI Supportenabled
Client API library version 5.0.96
Client API header version 5.0.96
MYSQLI_SOCKET /var/run/mysqld/mysqld.sock

DirectiveLocal ValueMaster Value
mysqli.default_hostno valueno value
mysqli.default_port33063306
mysqli.default_pwno valueno value
mysqli.default_socketno valueno value
mysqli.default_userno valueno value
mysqli.max_linksUnlimitedUnlimited
mysqli.reconnectOffOff

openssl

OpenSSL support enabled
OpenSSL Version OpenSSL 0.9.8g 19 Oct 2007

pcre

PCRE (Perl Compatible Regular Expressions) Support enabled
PCRE Library Version 7.4 2007-09-21

DirectiveLocal ValueMaster Value
pcre.backtrack_limit20971520100000
pcre.recursion_limit100000100000

PDO

PDO supportenabled
PDO drivers mysql

pdo_mysql

PDO Driver for MySQL, client library version5.0.96

posix

Revision $Revision: 1.70.2.3.2.16 $

Reflection

Reflectionenabled
Version $Id: php_reflection.c,v 1.164.2.33.2.45 2007/08/20 17:01:22 sebastian Exp $

session

Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary wddx

DirectiveLocal ValueMaster Value
session.auto_startOffOff
session.bug_compat_42OnOn
session.bug_compat_warnOnOn
session.cache_expire180180
session.cache_limiternocachenocache
session.cookie_domainno valueno value
session.cookie_httponlyOffOff
session.cookie_lifetime00
session.cookie_path//
session.cookie_secureOffOff
session.entropy_fileno valueno value
session.entropy_length00
session.gc_divisor100100
session.gc_maxlifetime72001440
session.gc_probability10
session.hash_bits_per_character44
session.hash_function00
session.nameMoodleSessionPHPSESSID
session.referer_checkno valueno value
session.save_handlerfilesfiles
session.save_path/var/opengemdata/sessions/var/lib/php5
session.serialize_handlerphpphp
session.use_cookiesOnOn
session.use_only_cookiesOffOff
session.use_trans_sid00

shmop

shmop support enabled

SimpleXML

Simplexml supportenabled
Revision $Revision: 1.151.2.22.2.35 $
Schema support enabled

soap

Soap Client enabled
Soap Server enabled

DirectiveLocal ValueMaster Value
soap.wsdl_cache11
soap.wsdl_cache_dir/tmp/tmp
soap.wsdl_cache_enabled11
soap.wsdl_cache_limit55
soap.wsdl_cache_ttl8640086400

sockets

Sockets Support enabled

SPL

SPL supportenabled
Interfaces Countable, OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, DirectoryIterator, DomainException, EmptyIterator, FilterIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RegexIterator, RuntimeException, SimpleXMLIterator, SplFileInfo, SplFileObject, SplObjectStorage, SplTempFileObject, UnderflowException, UnexpectedValueException

standard

Regex Library Bundled library enabled
Dynamic Library Support enabled
Path to sendmail /usr/sbin/sendmail -t -i

DirectiveLocal ValueMaster Value
assert.active11
assert.bail00
assert.callbackno valueno value
assert.quiet_eval00
assert.warning11
auto_detect_line_endings00
default_socket_timeout6060
safe_mode_allowed_env_varsPHP_PHP_
safe_mode_protected_env_varsLD_LIBRARY_PATHLD_LIBRARY_PATH
url_rewriter.tagsa=href,area=href,frame=src,input=src,form=,fieldset=a=href,area=href,frame=src,input=src,form=,fieldset=
user_agentno valueno value

sysvmsg

sysvmsg support enabled
Revision $Revision: 1.20.2.3.2.6 $

tokenizer

Tokenizer Support enabled

wddx

WDDX Supportenabled
WDDX Session Serializer enabled

xml

XML Support active
XML Namespace Support active
libxml2 Version 2.6.31

xmlreader

XMLReader enabled

xmlrpc

core library version xmlrpc-epi v. 0.51
php extension version 0.51
author Dan Libby
homepage http://xmlrpc-epi.sourceforge.net
open sourced by Epinions.com

xmlwriter

XMLWriter enabled

zip

Zip enabled
Extension Version $Id: php_zip.c,v 1.1.2.38 2007/08/06 22:02:32 bjori Exp $
Zip version 2.0.0
Libzip version 0.7.1

zlib

ZLib Support enabled
Stream Wrapper support compress.zlib://
Stream Filter support zlib.inflate, zlib.deflate
Compiled Version 1.2.1.1
Linked Version 1.2.3.3

DirectiveLocal ValueMaster Value
zlib.output_compressionOffOff
zlib.output_compression_level-1-1
zlib.output_handlerno valueno value

Additional Modules

Module Name
sysvsem
sysvshm

Environment

VariableValue
APACHE_PID_FILE /var/run/apache2.pid
PATH /usr/local/bin:/usr/bin:/bin
LANG C
APACHE_RUN_GROUP www-data
APACHE_RUN_USER www-data
PWD /

PHP Variables

VariableValue
_REQUEST["file"]install.html
_GET["file"]install.html
_COOKIE["MoodleSessionTest"]xm33U7FFjk
_SERVER["HTTP_HOST"]opencim.grenoble-em.com
_SERVER["HTTP_ACCEPT_ENCODING"]x-gzip, gzip, deflate
_SERVER["HTTP_USER_AGENT"]CCBot/2.0 (http://commoncrawl.org/faq/)
_SERVER["HTTP_ACCEPT"]text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
_SERVER["HTTP_IF_MODIFIED_SINCE"]Mon, 22 Jan 2018 06:01:24 GMT
_SERVER["PATH"]/usr/local/bin:/usr/bin:/bin
_SERVER["SERVER_SIGNATURE"]<address>Apache/2.2.8 (Ubuntu) Server at opencim.grenoble-em.com Port 80</address>
_SERVER["SERVER_SOFTWARE"]Apache/2.2.8 (Ubuntu)
_SERVER["SERVER_NAME"]opencim.grenoble-em.com
_SERVER["SERVER_ADDR"]213.244.23.34
_SERVER["SERVER_PORT"]80
_SERVER["REMOTE_ADDR"]54.224.100.134
_SERVER["DOCUMENT_ROOT"]/var/www/opengem
_SERVER["SERVER_ADMIN"]infra@grenoble-em.com
_SERVER["SCRIPT_FILENAME"]/var/www/opengem/help.php
_SERVER["REMOTE_PORT"]38084
_SERVER["GATEWAY_INTERFACE"]CGI/1.1
_SERVER["SERVER_PROTOCOL"]HTTP/1.0
_SERVER["REQUEST_METHOD"]GET
_SERVER["QUERY_STRING"]file=install.html
_SERVER["REQUEST_URI"]/help.php?file=install.html
_SERVER["SCRIPT_NAME"]/help.php
_SERVER["PHP_SELF"]/help.php
_SERVER["REQUEST_TIME"]1524310946
_SERVER["argv"]
Array
(
    [0] => file=install.html
)
_SERVER["argc"]1
_ENV["APACHE_PID_FILE"]/var/run/apache2.pid
_ENV["PATH"]/usr/local/bin:/usr/bin:/bin
_ENV["LANG"]C
_ENV["APACHE_RUN_GROUP"]www-data
_ENV["APACHE_RUN_USER"]www-data
_ENV["PWD"]/

PHP License

This program is free software; you can redistribute it and/or modify it under the terms of the PHP License as published by the PHP Group and included in the distribution in the file: LICENSE

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact license@php.net.


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 :

9. Mettre en place un cron

Certains des modules de Moodle nécessitent de vérifier à intervalles réguliers certains paramètres, afin d'exécuter des opérations. Par exemple, Moodle doit vérifier si des messages ont été postés dans les forums pour envoyer des copies de ces messages aux abonnés.

Le script qui effectue ces contr√īles est situ√© dans le dossier admin. Il porte le nom cron.php. Ce script ne peut pas se lancer tout seul. Vous devez donc mettre en place un m√©canisme permettant de le lancer r√©guli√®rement (par exemple toutes les 5 ou 10 minutes). On donne ainsi √† Moodle des ¬ę¬†battements de cŇďur¬†¬Ľ, et le script peut effectuer les op√©rations d√©finies par chaque module.

Il est à remarquer que l'ordinateur effectuant le cron n'est pas obligatoirement l'ordinateur sur lequel Moodle est installé. Par exemple, si vous disposez d'un serveur web qui n'offre pas de tel mécanisme, vous pourrez lancer le cron sur un autre serveur, ou même sur l'ordinateur de la maison. La seule chose qui importe est de charger régulièrement le fichier cron.php.

L'appel de ce fichier ne surcharge pas le serveur. Une fréquence d'appel de 5 minutes est donc raisonnable, mais peut fort bien être portée à 15 ou 30 minutes. Il n'est pas recommandé de fixer une trop longue période, car cela générera des délais dans l'envoi des courriels, ce qui peut ralentir l'activité des cours.

Avant tout, vérifiez que le script fonctionne en l'appelant directement depuis votre navigateur :

http://exemple.com/moodle/admin/cron.php

Vous pouvez alors mettre en place un mécanisme qui appellera le script à intervalles réguliers.

Lancer le script en ligne de commande

Il est possible de lancer le script en ligne de commande, avec le m√™me r√©sultat que ci-dessus. On peut par exemple utiliser la commande Unix ¬ę¬†wget¬†¬Ľ¬†:

wget -q -O /dev/null http://exemple.com/moodle/admin/cron.php

Dans cet exemple, le résultat de la commande est détruit (envoyé vers /dev/null).

Même chose avec lynx :

lynx -dump http://exemple.com/moodle/admin/cron.php > /dev/null

On peut également utiliser une version de PHP compilée pour utilisation en ligne de commande. L'avantage est qu'ainsi l'on n'encombre pas les historiques du serveur web avec les requêtes de cron.php. Le désavantage est qu'il faut disposer d'une version spéciale de PHP.

/opt/bin/php /web/moodle/admin/cron.php

(Windows) C:\apache\php\php.exe C:\apache\htdocs\moodle\admin\cron.php

Lancer automatiquement le script toutes les 5 minutes

Sur Unix¬†: utilisez cron. En ligne de commande, √©ditez les r√©glages de cron avec ¬ę¬†crontab -e¬†¬Ľ et ajouter une ligne de la forme¬†:

*/5 * * * * wget -q -O /dev/null http://exemple.com/moodle/admin/cron.php

Habituellement, la commande ¬ę¬†crontab¬†¬Ľ lance l'√©diteur ¬ę¬†vi¬†¬Ľ. On passe en mode insertion en tapant ¬ę¬†i¬†¬Ľ, puis on tape une ligne comme ci-dessus. On sort ensuite du mode insertion en tapant la touche <ESC>. Il ne reste qu'√† enregistrer et quitter en tapant ¬ę¬†:wq&¬†¬Ľ, ou √† quitter sans enregistrer avec ¬ę¬†:q!¬†¬Ľ (tout cela sans guillemets).

Sous Windows¬†: la fa√ßon la plus simple est d'utiliser le petit programme moodle-cron-for-windows.zip qui rend le processus tr√®s simple. vous pouvez aussi essayer d'utiliser l'utilitaire Windows ¬ę¬†Scheduled Tasks¬†¬Ľ.

Chez un hébergeur web : votre interface web de réglages possède peut-être une page vous permettant de mettre en place des crons. Demandez à votre administrateur des détails concernant leur utilisation.

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

Pour plus de détails sur la mise en place de cours, référez-vous à la documentation pour les enseignants.

Index général de l'aide
Afficher cette aide dans la langue : English