Tenía un problemilla que os paso a explicar, junto con una sencilla solución que he implementado.
Tengo una instalación Moodle y dos dominios que apuntan a ella, digamos formacion.es y training.com. Lo que deseaba es que si alguien accedía a formacion, se lo mostrara el interfaz en castellano y si accedía a training se viera en inglés.
Después de mucho consultar en foros y listas, encontré... nada.
O bien nadie había tenido este problema, o lo habían resuelto instalando Moodle varias veces en diferentes sitios. Una solución poco elegante, a mi modo de ver. Así que, tras unos cuantos intentos que no funcionaron, hice una copia de la base de datos de moodle (con mysqldump), creando moodle_en y le asigné todos los permisos de la nueva base de datos al usuario usuario_moodle, que ya tenía también todos los permisos para la base de datos original.
Luego hackee config.php dejándolo de la siguiente forma:
<?php /// Moodle Configuration File
$CFG->dbtype = 'mysql';
$CFG->dbhost = 'localhost';
if ($_SERVER['HTTP_HOST']=='formacion.es')
{
$CFG->dbname = 'moodle';
$CFG->wwwroot = 'http://formacion.es/';
}
else if ($_SERVER['HTTP_HOST']=='training.com')
{
$CFG->dbname = 'moodle_en';
$CFG->wwwroot = 'http://training.com/';
}
$CFG->dbuser = 'usuario_moodle'; // El usuario de la base de datos de moodle
$CFG->dbpass = 'contraseña'; // ... y su contraseña.
$CFG->dbpersist = false;
$CFG->prefix = 'mdl_';
$CFG->dirroot = '/var/www/html/moodle';
$CFG->dataroot = '/var/www/moodledata';
$CFG->admin = 'admin';
$CFG->directorypermissions = 00777; // try 02777 on a server in Safe Mode
$CFG->unicodedb = true; // Database is utf8
require_once("$CFG->dirroot/lib/setup.php");
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.
?>
¡Y funciona!
Obviamente ni los ejercicios, foros, tests, ni siquiera el aspecto (regido por temas), se comparten, por lo que, a efectos prácticos, es como tener dos (o más) instalaciones de Moodle, en uno solo.
Paul
P.D.: Perdonad el formateo raro. Algo extraño pasa con la etiqueta <code>.