Virtualisation de Moodle : Installation

'Avertissement :'

La mise en oeuvre et l'exploitation d'une plate-forme Moodle sous virtualisation applicative nécessite une bonne connaissance du fonctionnement de la plate-forme et une bonne connaissance technique de l'environnement technique des plates-formes LAMP en général, et d'autant plus que les fonctions de réseau entre les différentes instances doivent être activées.

Edunao peut fournir du conseil en déploiement et en construction de “constellations” de Moodle de grande dimension.

Installation

Pour virtualiser une plate-forme Moodle, vous devez :

Installer le composant local VMoodle

Installer le bloc VMoodle

Configurer le fichier de configuration spécifique de la virtualisation

Modifier votre fichier standard de configuration.

Modifier quelques fichiers de l'implémentation du réseau Moodle (pour assurer la stabilité des clefs réseau si vous utilisez le réseau).

Installer les composants

Téléchargez les archives du composant de virtualisation (local_vmoodle et block_vmoodle) et déployez les respectivement dans les répertoires '/local' et '/blocks' de votre plate-forme.

Naviguez dans l'administration du site pour terminer l'installation logique des composants.

Après l'installation, la virtualisation n'est pas opérationnelle. Votre Moodle “principal” continue à fonctionner comme un Moodle normal.

Si vous opérez une version inférieure à 2.8 de Moodle, seul le bloc VMoodle 2.7 doit être installé. Voir l'entrée VMoodle avant 2.8 pour les détails concernant l'installation dans cette version.

Configurer le fichier de virtualisation

Ce fichier permet de définir une première connexion à la base de données qui joue le rôle de registre de virtualisation. Dans une installation VMoodle classique, c'est la base de données du premier Moodle installé qui contient le registre (table mdl_block_vmoodle). Cependant, il vous est possible d'externaliser ce registre et de le gérer dans une autre base de données et une autre application (tant que vous respectez son schéma d'attributs).

Le fichier de configuration modèle est situé dans le chemin :

<moodleroot>/local/vmoodle/vconfig-dist.php

Copiez ce fichier sous le nom vconfig.php dans ce même répertoire (ou dans n'importe quel endroit où vous savez qu'il sera en sécurité) et renseignez la structure de connexion au registre. Dans une installation classique, ce seront les mêmes données que la connexion définie dans “config.php” de Moodle.

Adapter le fichier de configuration principal

Tout le travail de la virtualisation s'effectue dans le fichier de configuration principal de Moodle qui est toujours le premier fichier invoqué par toute “porte d'entrée” de Moodle.

Les modifications portent sur :

Le déroutage de virtualisation

La mise en place du déroutage pour les scripts CLI compatibles

Des options de comportement de la plate-forme dans le cadre de réseaux de plates-formes.

le fichier vconfig.php défini précédemment effectue la boucle de reconfiguration virtuelle permettant de changer dynamiquement la base de données et le dossier de fichiers actif.

Dérouter pour la virtualisation

Cette inclusion doit être placée juste après l'appel au “setup.php” de votre fichier de configuration.

... {position du déroutage CLI} ...

require(</chemin/vers/monmoodle>/local/vmoodle/vconfig.php');

require_once(dirname(__FILE__) . '/lib/setup.php');

Mette en place le déroutage CLI

Le déroutage des scripts CLI permet de jouer une partie du fichier de configuration, puis rendre la main au script CLI appelant, recevoir l'hôte cible dans les paramètres de ligne de commande, puis revenir enfin rejouer la configuration complète sur la nouvelle configuration virtualisée.

Ajoutez la séquence suivante avant votre appel à vconfig.ghp :

// this fragment will trap the CLI scripts trying to work for a virtual node, and
// needing booting a first elementary configuration based on main config
if (isset($CLI_VMOODLE_PRECHECK) && $CLI_VMOODLE_PRECHECK == true) {
$CLI_VMOODLE_PRECHECK = false;
return;
}

clefs de configuration techniques ayant un impact sur le fonctionnement de VMoodle

$CFG->mainhostprefix = 'http://physique.monmoodle';

Cette clef permet d'expliciter quel est le Moodle principal à tout moment. Ceci est utile pour certains composants associés à la virtualisation qui doivent reconnaître, une fois leur configuration acquise, s'il sont le Moodle principal ou s'ils sont virtuels.

$CFG->user_mnet_hosts_admin_override = true;

Cette clef permet de forcer le bloc User Mnet Hosts (Mes hôtes du réseau) à laisser exceptionnelement passer les administrateurs principaux locaux (compte admin) à travers le réseau. Un exemple courant d'utilisation est après l'appel à vconfig.php :

$CFG->user_mnet_hosts_admin_override = false;
if (preg_match('#'.$CFG->mainhostprefix.'#', $CFG->wwwroot)) {
$CFG->user_mnet_hosts_admin_override = true;
}

Dans cette configuration, seul l'administrateur local de la plate-forme principal pourra visiter les autres plates-formes. Les administrateurs locaux des Moodle virtuels se verront afficher un refus de circuler. La raison de cette précaution est que la circulation des utilisateurs réplique les comptes dans les plates-formes visitées. Ceci peut conduire à de nombreuses confusions que de détenir dans toutes les plates-formes les administrateurs locaux de toutes les autres.

$CFG->mnetsiteadmins = true;

Cette clef permet de modifier le comportement de la pile MNET en autorisant des comptes externes (réseau) a être administrateurs de site localement.

Revenir à l'index du composant