domingo, 31 de agosto de 2008

Migrando MOODLE a otro servidor

MOODLE es uno de los sistemas de gestión de aprendizaje de mayor crecimiento en los últimos años y no es para menos, dado que es un producto más de la prestigiosa e increíble comunidad de software libre.

A medida que la comunidad de estudiantes y profesores crece en nuestro MOODLE también van creciendo los requerimiento de hardware en el servidor. Es por esto que una de las tareas como administradores de este tipo de sistemas es saber cómo "mudar" o "migrar" un sistema completo de un servidor a otro.

A continuación explico de una manera "simple" cómo realizar esta migración de un MOODLE 1.7.3 con Apache2 y Mysql5 con Debian Etch.

PASO 0: SUSPENDER LA PUBLICACIÓN DEL SITIO WEB DEL AULA VIRTUAL
  • Este paso depende de la configuración del servidor web. Sin embargo, bastará con dar de baja el sitio web en el "default" o el archivo correspondiente en el Apache2 de nuestro servidor.
PASO 1: RESPALDAR ARCHIVOS DE MOODLE Y BASE DE DATOS
  • tar cvvf moodle.tar /var/www/moodle
  • tar cvvf moodledata.tar /var/moodledata
  • mysqldump -p moodledb > moodledb.sql
PASO 2: INSTALAR LOS ARCHIVOS DE RESPALDO EN EL NUEVO SERVIDOR

Una vez que están todos los archivos respaldados, estos se copian en el nuevo servidor y se descomprimen en los directorios correspondientes:
  • En "/var/" : tar xvvf moodledata.tar
  • En "/var/www" : tar xvvf moodle.tar
  • mysql -p <>
También es necesario cambiar el dueño de los directorios:
  • chown -R www-data.www-data /var/moodledata
  • chown -R www-data.www-data /var/www/moodle
Cuando se importa la base de datos en el nuevo servidor, el usuario que queda registrado para acceder esta base de datos es "root". Evidentemente no queremos que esto se mantenga así. Por fines prácticos, vamos a mantener la misma configuración que el servidor viejo. La información de la base de datos la podemos ver en el archivo "/var/www/moodle/config.php":
  • mysql -p
  • mysql> grant all privileges on moodledb.* to usuario@'localhost' identified by 'clave';
  • mysql> flush privileges;
Si la ubicación de los directorios "moodledata" y "moodle" no fueran los mismos en el nuevo servidor entonces tendríamos que realizar los ajustes correspondientes en el archivo"config.php" de MOODLE.

PASO 3: PROBAR LA INSTALACIÓN NUEVA

Visitamos el nuevo sitio web con algún explorador "serio" como Iceweasel, Firefox u Opera. Si tod ha salido bien, debemos estar viendo correctamente el aula virtual de MOODLE en el nuevo servidor.

La configuración del servidor APACHE2 está fuera del alcance de este ejemplo, sin embargo, dado que se está migrando el servicio de otro servidor que estaba operativo entonces basta con repetir dicha configuración en el nuevo servidor.

Básicamente en el nuevo servidor deben estar previamente instalados los siguientes paquetes para el correcto funcionamiento de MOODLE:
  • aptitude install apache2 php5 mysql-server php-mysql php5-gd php-pear sendmail
Espero sea de utilidad.

Éxitos!