Actualizar Moodle es una de las tareas que son necesarias para tener las últimas novedades y mantenerlo seguro. Lo he dicho muchas veces: amo a Moodle, pero no su sistema de actualización 😁.

Se echa de menos poder hacerlo con un solo clic, tal como lo hacen otros manejadores de contenido.

Así que, mientras esperamos a que llegue esta funcionalidad, te enseñaré todo lo que debes saber para actualizar Moodle desde las versiones 1.X hasta la 5.X (pasando por todas las versiones intermedias) y no morir en el intento.

¿Cuál versión de Moodle tienes?

Lo primero que debes conocer para ejecutar una actualización, es saber cual versión de Moodle corres en tu servidor. Es posible que lo hayas instalado hace mucho tiempo y ya te olvidaste hasta la versión que tenías. No te preocupes, eso suele pasar en el mundo de Moodle muy a menudo. 😉

Para conocer esto, es necesario que te loguees como administrador y vayas a la pestaña: Administración del sitio (“Administración” en versiones antiguas) > Notificaciones. Podrás observar en esta pantalla, al final, que versión de Moodle tienes instalada.

Sabiendo esto, podemos hacer un plan para actualizar Moodle. Lo sencillo o complicado que sea este proceso va a depender de la antigüedad del mismo.

La versión actual al momento de escribir este artículo es la 5.0. Si tienes, por ejemplo, la versión 4.2.3 o posterior, bastará con que migres directamente a la 5.0.

Muy distinta será la historia si tienes una versión muy antigua. En este caso, deberás pasar por diferentes actualizaciones escalares para poder llegar a la última.

¿Por qué debemos actualizar Moodle escalarmente?

Moodle, como todo software, tiene versiones críticas, donde las novedades que aportan requieren cambios en su manera interna de trabajar. Estas mejoras, por lo general, afectan profundamente a la base de datos.

Para actualizar Moodle a la 5.0, las versiones críticas pasan por la: 1.6, 1.8, 1.9, 2.2, 2.7, 3.1, 3.6, 4.0 y 4.2. Es necesario instalar algunas o todas, dependiendo de la versión que tengas en tu servidor.

Para ejemplificarlo, tomemos el caso más extremo: una instalación de Moodle que tenga la versión 1.3, que datan del año 2004. (¡Hey! No te rías, existen versiones más antiguas en producción en la internet 😆)

En este caso es necesario migrar en este orden: 1.3 > 1.6 > 1.8 > 1.9 > 2.2 > 2.7 > 3.1 > 3.6 > 4.0 > 4.2 > 5.0. Son diez actualizaciones.

Con esto quiero decir que debes descargar todas esas versiones (excepto, por supuesto, la 1.3 donde estas) e ir instalando y migrando cada una de ellas; paso a paso, para garantizar una instalación sin problemas a la última versión.

En algunas de ellas cambiará hasta el motor de la base de datos: MyISAM a InnoDB. De ahí la importancia de la actualización escalar (no te preocupes que Moodle se encarga de hacer todo este trabajito adicional).

Ruta de actualización

A continuación te dejo un mapa de la ruta para actualizar Moodle hasta la versión 5.0

Si te encuentras en versiones intermedias, actualiza a la versión crítica más cercana. Por ejemplo: si estás en la versión 2.4, actualiza a la 2.7, de ahí a la 3.1, luego a la 3.6, 4.0, 4.2 y finaliza en la 5.0; no debes pasar por la 2.5, 2.6, 3.3, etc.

Nota

Una excepción a esto, es actualizar Moodle desde la 1.6 a la 1.9; si observas el mapa de ruta, no podrás ir a la siguiente actualización crítica directamente. Es importante que escales en la 1.8 primero y luego a la 1.9. Sáltate la 1.7, ya que da algunos problemas con la 1.8.

Como sé que algunos les puede confundir el gráfico, te lo dejo en forma de tabla para que no haya dudas. 😊

Preparativos para actualizar Moodle

Al momento de actualizar, hay dos tareas fundamentales: respaldar la base de datos y la carpeta Moodledata.

El Moodledata debería estar fuera de la carpeta de publicación del servidor. Dentro del archivo config.php está su ubicación exacta.

Te recomiendo guardes estos dos respaldos fuera del servidor, en un lugar seguro. Son el corazón de tu Moodle.

Respaldo de la base de datos

Hacer un respaldo de la base de datos es fundamental al actualizar Moodle.

En cada versión escalar, puedes detenerte y hacer otro respaldo, aunque en mi opinión, la más importante es la inicial. Si surge algún error, siempre puedes intentarlo desde el comienzo.

Existen muchas formas de hacer respaldo de bases de datos, la más fácil es desde el PhpMyAdmin de tu servidor.

Para esto, logueate con el usuario administrador de MySQL (usualmente root). Si usas cPanel te llevará directamente sin necesidad de loguearte.

Selecciona en el menú de la izquierda el nombre de la base de datos de tu Moodle. Luego vamos a la pestaña en la parte superior: Exportar y hacemos clic a Continuar para descargar la base de datos en formato SQL a nuestra computadora.

Descarga de las versiones de Moodle y requisitos necesarios

Descarga todas las versiones donde debas hacer escala desde aquí. La versión más reciente la obtienes en este vínculo.

Para actualizar Moodle a una versión superior, tu servidor debe cumplir con los requisitos necesarios en cuanto al software: PHP, MariaDB (MySQL) y Apache (o Nginx). Para saber los requisitos, en la página de descarga se muestran.

Los requisitos necesarios para tu versión actual, las posteriores, así como una lista de comprobación para conocer si tu servidor las cumple, los encuentras en tu Moodle en: Administración del sitio> Servidor >Entorno

Para instalar la versión 5.0, necesitarás al menos PHP 8.2 y MariaDB 10.11.0 (o MySQL 8.4). Con esto podrás instalar todas la versiones escalares también.

Modo mantenimiento

Pon tu sitio en Modo Mantenimiento al momento de arrancar con la actualización. Esto se hace yendo a: Administración del sitio> Servidor > Modo de mantenimiento. Haz clic a la casilla Habilitar y Guarda los cambios.

Clave de actualización

A partir de la versión 3 de Moodle, se implementó la contraseña de actualización (upgrade key). Esto busca evitar que al ejecutarse el update cualquier intruso pueda afectar su funcionamiento.

Para ello, edita el archivo config.php ubicado en la carpeta de Moodle y agrega este código:

$CFG->upgradekey = 'contraseña';

Coloca la clave entre las comillas de: contraseña. Usa una combinación de letras, números y caracteres especiales con al menos 8 dígitos.

Tu archivo config.php debería quedar parecido a este:

<?php  // Moodle configuration file

unset($CFG);
global $CFG;
$CFG = new stdClass();

$CFG->dbtype    = 'mysqli';
$CFG->dblibrary = 'native';
$CFG->dbhost    = 'localhost';
$CFG->dbname    = 'nombre_base_de_datos';
$CFG->dbuser    = 'usuario_base_de_datos';
$CFG->dbpass    = 'contraseña';
$CFG->prefix    = 'mdl_';
$CFG->dboptions = array (
  'dbpersist' => 0,
  'dbsocket' => 0,
);

$CFG->wwwroot   = 'http://tudominio.com';
$CFG->dataroot  = '/directorio/moodledata/';
$CFG->admin     = 'admin';
$CFG->upgradekey = 'contraseña';

$CFG->directorypermissions = 0777;

$CFG->passwordsaltmain = '123456';

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

Servidor de prueba

Una práctica que te recomiendo, es replicar tu servidor Moodle en tu computadora o servidor de pruebas y verificar como se ejecutaría la actualización. Con esto, puedes probar posibles errores sin afectar el funcionamiento de tu sitio en producción y solo cuando todo funcione bien, aplicarlo.

Sabrás los errores que puedan ocurrir y buscar las soluciones. Créeme, esto algunas veces puede llevar días. 😬

Para ello te recomiendo leas este artículo, donde te enseño como instalar Moodle en tu computadora.

Usa los respaldos de la base de datos y Moodledata que realizaste de tu servidor en funcionamiento.

Tip

Quédate siempre con un original de tus respaldos para que puedas comenzar de cero en caso de fallos.

Actualizando Moodle

Dirígete al directorio de publicación del servidor (por lo general /var/www o /public_html) y renombra la carpeta de tu Moodle actual, nombredecarpeta_old es una buena opción.

Si tu Moodle está volcado en el directorio de publicación sin carpeta principal que lo contenga: crea una nueva (con el nombre que te mencione en el párrafo anterior, por ejemplo) y mueve todos los archivos ahí.

Los archivos de instalación de Moodle no se reescriben, esto puede causar muchos problemas.

Sube el nuevo Moodle al servidor (el que descargaste) y descomprímelo en la carpeta de publicación; por defecto contienen una carpeta llamada moodle. Puedes renombrarla como quieras: dejarlo moodle o colocarle el nombre de tu anterior instalación; tuya es la decisión.

Si la instalación anterior estaba volcada directamente en la carpeta de publicación del servidor, debes replicar lo mismo con el nuevo Moodle.

Ahora copia el config.php de la instalación antigua en la nueva. Esto es un paso importante, ya que contiene información relevante para su funcionamiento.

Si tienes temas personalizados y son compatibles con la nueva versión, también cópialos en la nueva carpeta que está ubicada en: /carpetamoodle/theme.

También revisa si los plugins que tengas instalados son compatibles con el nuevo Moodle. Si no es así, desinstálalos y prueba a reinstalarlos después de la actualización. Esto un factor importante para decidir la migración, sobre todo si tu sitio depende de ellos.

Habilita las actualizaciones automáticas en: Administración del sitio > Servidor > Notificación de actualizaciones, para que Moodle te muestre las nuevas actualizaciones de plugins durante la migración si existieran (esto a partir de  la versión 2.4).

Importante

Como mencioné antes, las actualizaciones son escalares. Debes repetir estos pasos, con cada versión crítica o necesaria, de acuerdo a la ruta de actualización.

En servidores Linux, los permisos de archivos deben ser al menos: 755 para carpetas y 644 para archivos. Prueba con permisos más restrictivos para el config.php, como 400.

A partir de la versión 3.2, Moodle recomienda usar el formato de fichero »Barracuda», esta guía te puede servir con la migración de la base de datos.

Ejecutando la actualización

Abre tu navegador web, y coloca en la barra de dirección: http://tudominio.com/nombrecarpetamoodle/admin

Con esto se ejecutará la actualización de Moodle. En cada pantalla debes darle al botón Continuar ubicado en la parte inferior para poder avanzar.

Si colocaste la clave de actualización en el config.php, te la pedirá en cuanto quieras actualizar a una versión igual o superior a la 3.0.

Estas pantallas son referenciales y pueden variar.

En la primera pantalla te pide confirmar la actualización.

En la segunda, Moodle comprobará si tu servidor cumple con los requisitos para instalarla, de ser así, verás OK en verde en la columna Estado para cada ítem.

Es posible que te falte habilitar o deshabilitar alguna extensión del PHP si tuvieras algún error. Esto se puede hacer editando el archivo php.ini del servidor. La columna Nombre te servirá como referencia.

Se puede avanzar en la instalación, aunque algunas extensiones tengan el estado Revisar; esto se debe a que Moodle las tiene como recomendado en los requisitos, pero no imprescindible para avanzar.

Recomiendo atenderlas en lo posible.

Cuando te muestre el botón Continuar puedes seguir con la instalación.

La comprobación de plugins se realiza en la siguiente pantalla, tanto nativos de Moodle como los externos. Podrás instalar nuevas actualizaciones desde aquí si existieran. Si no son compatibles, Moodle los deshabilitará.

Cuando termines, dale clic al botón Actualizar base de datos Moodle ahora ubicado al final.

Ahora se procede a realizar la actualización propiamente dicha. Puede tardar un buen rato, no desesperes 😁, esto dependerá de la potencia de tu servidor.

Al final, si todo salió bien, verás las barras de éxito en verde. No olvides darle Continuar cuando concluya.

Para terminar la actualización, te pedirá llenes los datos necesarios en la nueva versión. Esto es sobre todo información necesaria en los nuevos módulos instalados.

Y listo, a disfrutar de tu nuevo Moodle, o debería decir a trabajar en él. 😛

Espero te sirva de ayuda este artículo. Si tienes dudas, déjalas en los comentarios.

En Evirtualplus ofrecemos servicios de actualización para Moodle.

Si quieres una cotización, contáctanos, y te haremos llegar una adaptada a tus necesidades.

Ver comentarios

  • Buenos días, excelente tutorial. Inicialmente siguiendo la ruta dada no me funcionaba (error 404). Y recordando que mi carpeta Moodledata no estaba en la nueva version de moodle 3.9, pues la copie, y listo tuve acceso a la ruta dada e inicie la instalación. Nuevamente gracias.

  • Muy buen artículo. Muchas gracias.
    Me surge un problema al actualizar a la 3.8 y es que cuando entro por primera vez al aula, después de una instalación aparentemente exitosa, se me muestra una pantalla con numerosos "Nuevos ajustes". Para salir hay que guardar cambios y, cuando lo hago, me aparece una pantalla en blanco con este mensaje:
    Forbidden
    You do not have permission to access this document.
    ¿Alguna idea?
    Un saludo

    • Hola Carlos.

      Pareces tener un problema de permisologias en tus archivos Moodle o de configuración del modsecurity en tu servidor.

      En ambos casos te recomiendo contactar con el soporte del mismo.

      Espero te ayude,

      Saludos.

  • No puedo actualizar mi sitio. No me dejar instalar nada nuevo ni plugins. Seguramente cuando se instaló por primera vez alguien restringió el acceso y no sé cómo habilitarlo. gracias.

    • Hola Carlos.
      Sin poder entrar en tu servidor es difícil que pueda ayudarte.
      En esta pagina, puedes mirar nuestros servicios.
      Saludos.

  • Paso a dejar un agradecimiento. Gracias a tu guía el campus de nuestra escuela está actualizado.
    Saludos

  • Gracias por la informacion!
    Me gustaria saber tu criterio: trabajo en la version 2.6, queremos migrar a una mas actual, pero no soy experta en moodle y nuestra navegacion no es la mas potente, digamos. Enonces quisiera saber que version de moodle me recomiendas, que mejore nuestra experiencia pero que sea bien estable y no suponga muchos conflictos provocados por la migracion.
    Saludos

    • Hola Elba.
      Si vas a actualizar a Moodle, siempre es recomendable hacerlo a la mas actual.
      Hacerlo a una inferior puede suponer problemas de seguridad.
      Saludos.

  • Hola, interesante lectura. Gracias. Si tengo la vesión 3.1 puedo migrar a la 3.6 directamente?.
    Por favor

  • buenos días
    he intentado actualizar mi versión de moodle de la versión 2.5 a la 2.7 para después seguir actualizando hasta la 3.4
    el problema que tengo es que no me actualiza, en mi servidor la carpeta moodle esta en el directorio raíz, de ahí borro todos los archivos y copio los nuevos para actualizar, pero no se me actualiza nada y la plataforma me queda inservible, solo volviendo a la versión anterior me vuelve a funcionar , como podría ir actualizando para poder llegar a tener la versión 3.4 que es la que necesito

    • Hola David.
      Si necesitas llegar a la 3.4, actualiza primero a la 3.0, no puedes llegar directamente a ella desde la 2.7.
      Con los pasos de este tutorial deberías poder actualizarlo sin problemas.
      En Evirtualplus, ofrecemos servicios de actualización de Moodle, por si es de tu interés.
      Saludos.

      • He seguido los pasos indicados para actualizar de 3.8.2 a 3.8.3+ y cuando accedo a la ruta indicada el navegador me acaba mostrando un error 500.

        He detectado que la diferencia entre el directorio moodle original y el nuevo es la existencia del archivo install.php. He supuesto que podía ser la causa del problema y lo he renombrado com zz_install.php (para no borrarlo, por seguridad).

        Al acceder de nuevo a la ruta, la actualización se ha realizado sin ningú tipo de problema.

        Muchas gracias por el artículo. Salut!

        • Hola buenas tardes, yo tambien tengo el problema del error 500,
          podrias por favor decirme si cambiaste el nombre de install.php en el moodle nuevo o el viejo, gracias !!!!

        • Hola Lluís.
          Es bastante raro el error 500, no me ha ocurrido.
          Sobre el install.php, él permanece en el directorio, al estar presente el config.php Moodle lo ignora.
          De todas maneras, me alegra que lo hayas solventado.
          Saludos.

  • Hola! Gracias por el artículo. Necesito migrar de 3.0 a la última versión, que para el momento en el que he leído este artículo, ya es la 3.6 creo. Estamos encontrando problemas al hacer la ultima actualización. ¿Cual será la ruta a seguir? Mil gracias

    • A septiembre de 2018, la ultima versión es la 3.5.2
      Migra de la 3.0 a la 3.1, y luego ve directo por la 3.5.2
      Saludos.

  • cual es la ruta de la base de datos moodle, como hago el respaldo de ella desde windows?

    • Hola Francisco.
      Las bases de datos se respaldan mediante la línea de comandos de mysql o a través de programas de terceros como el phpmyadmin; recomiendo esta última opción tal como te muestro en esta parte de la guía.
      Saludos.

Compartir
Publicado por
Diógenes Mata