Cómo crear una segunda instalación de pruebas

Cómo crear una segunda instalación de pruebas

de Bruno Jiménez -
Número de respuestas: 2

Hola:

No paro de ver temas en los que recomiendan crear una segunda instalación de Moodle que nos permita hacer pruebas, sobre todo a la hora de instalar cualquier actualización de la plataforma Moodle, y la pregunta es: ¿Cómo hago para crear esa segunda instalación de pruebas? He de indicaros que mis conocimientos tanto de Moodle como de programación son bastante limitados.


Os explico más concretamente mi pregunta: entiendo que debemos tener un segundo servidor con las mismas características que el primero y que funcione como espejo del servidor de producción. Así, cuando vayamos a instalar una actualización, lo hacemos primero sobre el servidor de pruebas y, si funciona todo bien, lo instalamos en el de producción. El primer problema que me surge es ¿Cómo puedo instalar una copia exacta del servidor 1 en el servidor 2 si la IP no es la misma y si el nombre de dominio no coincide? Debería dar otro nombre de dominio e instalarlo sobre otra url.


Una segunda pregunta: quisiera que este servidor se pudiera comportar como copia exacta del primero de forma que,  si tuviera que redirigir a mis alumnos al servidor de pruebas,  sobre un servidor diferente y cambiando las dns del dominio, los alumnos no deberían notar el cambio. Pero claro, si empiezo a instalar moodle sobre el dominio www.servidor2.com (por ejemplo) no funcionaría igual que el del dominio 1. ¿Cómo lo hago?


Como no tengo claro que hayáis entendido esta segunda pregunta os lo explico de otra forma: si cada vez que tengo un problema tardo una semana en dejarlo resuelto, no puedo dejar a mis alumnos 7 días sin su curso, por eso quiero tener un segundo servidor de respaldo para que los redirija hacia allí y yo pueda trabajar sobre el primer servidor hasta dejarlo ok. ¿Como hago ésto?


En otras palabras, serían 2 servidores idénticos que podrían alternarse pasando un servidor de ser el servidor de producción a servidor de pruebas y viceversa. Tantas veces como sea necesario y sin que los alumnos lo noten.


Creo haberme explicado más o menos claramente ahora espero vuestra ayuda que siempre será bien recibida. Gracias de antemano.


Promedio de valoraciones:Útil (1)
En respuesta a Bruno Jiménez

Re: Cómo crear una segunda instalación de pruebas

de Jose iacona -

Buen dia, muchas gracias por tu pregunta, es tambien hoy mi pregunta.  Yo tambien quiero realizar una segunda instalacion y podes hacer un chekeo. 

Me registre hoy aqui y estoy investigando, con lo cual espero la respuesta que te hagan a ti.

Muy buena plataforma, estamos implementandola en estudio iacona registro de marcas, para poder avanzar y divulgarla entre todos los integrantes. 

Estuvimos probando otras plataformas en otros lenguajes, pero sin resultado.


Muchas gracias y aguardo respuesta. saludos

En respuesta a Bruno Jiménez

Re: Cómo crear una segunda instalación de pruebas

de Ricardo Grandón -

Hola

Tratare de darte una respuesta lo más completa posible, pero a la vez con pocos tecnicismos, por qué hay mucho para decir sobre el tema.

Por puntos

Punto uno

La copia exacta es por así decirlo un estado actual, en mi caso por ejemplo tengo una copia del estable y voy trabajando sobre ella, pero la copia no es más que copiar  la carpeta moodledata y modle y moverlas de ubicación, por ejemplo copias moodledata a moodledata1 y moodle a copiamoodle (en mi caso ingreso por www.sitio.com/moodle) y una copia de la base de datos.

el truco esta en que debes cambiar estos valores en el archivo de configuración

config.php

según el ejemplo que te di

original

unset($CFG);

$CFG->dbtype    = 'mysql';
$CFG->dbhost    = 'localhost';
$CFG->dbname    = 'moodle';
$CFG->dbuser    = 'user';
$CFG->dbpass    = 'pass';
$CFG->dbpersist =  false;
$CFG->prefix    = 'mdl_';

$CFG->wwwroot   = 'http://www.sitio.com/moodle';
$CFG->dirroot   = '/var/www/moodle';
$CFG->dataroot  = '/var/moodledata';
$CFG->directorypermissions = 0777;

sitio "copia" (mismo servidor)

unset($CFG);

$CFG->dbtype    = 'mysql';
$CFG->dbhost    = 'localhost';

$CFG->dbname    = 'moodlecopia'; <-- se cambia

$CFG->dbuser    = 'user';
$CFG->dbpass    = 'pass';
$CFG->dbpersist =  false;
$CFG->prefix    = 'mdl_';

$CFG->wwwroot   = 'http://www.sitio.com/moodlecopia'; <-- se cambia

$CFG->dirroot   = '/var/www/moodlecopia'; <-- se cambia

$CFG->dataroot  = '/var/moodledata1'; <-- se cambia

$CFG->directorypermissions = 0777;

 esto es la versión más simple de una copia algo así como directo, pero entrega la idea de lo que te quiero decir

todas las copias y otros ya sea en el mismo servidor u otro se configuran (en la forma de acceder) en el archivo de configuración config.php es decir que cuando quieras mover una "copia"  a producción puedes simplemente mover las carpetas de la "copia" y configurar el  config.php que se identifique con el original ejemplo ... instalas nuevo módulo en desarrollo (la copia) funciona todo ok acá tienes dos opciones respaldas producción y instalas el modulo ahí mismo o te das el trabajo de mover todo a desarrollo y luego cuando este todo actualizado ahí copiar a producción (copiar carpetas y base de datos)

Esto con más de un servidor puede ser demoroso, pero termina siendo buena opción demoraras como 3 horas entre cambios (a lo más).

Segunda pregunta

Si quieres copias exactas existen soluciones por HW que entregan alta disponibilidad y realizan este proceso previa configuración.

si lo quieres hacer (con menos recursos) puedes tener un script en el servidor que permita realizar en las noches la copia directa del sitio (moodle, moodledata, base de datos) sobre otro y con eso tendrías copia diaria y para remplazar solo deberías cambiar el dns que te redireccione a la IP dos (cambiando el acceso en config.php) luego para volver a tu antigua maquina debes tener claro que tendrás que copiar a lo menos la carpeta moodledata y la base de datos (si es que no instalaste algo en moodle).