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

  • ¡Hola Diógenes! Que grán articulo.

    Tengo una inquietud, actualmente tengo la version de moodle 3.10.1+ y quiero actualizar a la version 4.2, primero debo de actualizar a la version 3.11.8, hasta ahí bien, pero al entrar al repositorio donde estan las versiones no me aparece exactamente esa versión, me aparecen las 3.11.15 y 3.11.15+. ¿Me sirve actualizar primero a cualquiera de esas o como debo hacer?

    Saludos
    Quedo atento

    • Hola Daniel.
      Necesitas la 3.11.8 o superior, puedes actualizar a la 3.11.15 sin problemas.
      Saludos.

  • Hola Diógenes
    Tengo la versión 4.06 y quiero migrar a la 4.2. No es suficiente actualizar utilizando la opción de actualización del control panel? o debo hacer todo lo que indicas?

    • Hola Samuel.
      Si te refieres al Softaculous de cpanel, no recomiendo hacerlo con esa opción, lo mejor es hacerlo de manera manual.
      Saludos.

  • Hola! Gran artículo

    una pregunta se puede migrar los cursos(contenidos) que tengo en 3.5 al nuevo moodle con 4?

    gracias!

  • Tengo todos mis cursos en version 3.5 quiero pasar a la 3.9,

    1. Esposible pasar directamente

    2. Lo tengo implementado todo con docker-compose, alguna recomendación extra?

    Muchas gracias

    • Hola Mauricio.
      1. Se puede actualizar de 3.5 a 3.9
      2. Recomiendo siempre la instalación manual, pero si es con script, que persista el moodledata y temas (si tienes código personalizado).
      Saludos.

  • Diógenes buenos días y muchas gracias por este manual.
    Una pregunta, como se actualiza la nueva base de datos con la copia que se había realizado?

  • Hola, muy buena tu guía, Diógenes. He actualizado desde la versión 3.8 a la 3.10.11 y todo ha funcionado correctamente. El problema es que cuando llega a la pantalla final de "ajustes" y le doy a "guardar cambios" no puede acceder al fichero upgradesettings.php. He comprobado que el fichero está pero es como si no pudiera grabar los cambios. ¿Podrías ayudarme con este problema? Gracias.

    • Hola Cristobal.
      Da la impresión de que es un problema de permisos de los archivos de Moodle en el hosting, podrías revisar eso.
      Saludos.

      • Hola, he descubierto, aparte del problema que te he comentado, que nos puedo hacer copias de seguridad de los cursos, ni duplicados, ya que al intentarlo se quedan como proceso pendiente y se van acumulando en una cola no pudiéndose borrar. ¿Se podría repetir la instalación para volver a la instalación original? No he borrado la carpeta de instalación de moodle e hice copia de seguridad de la carpeta moodledata y de la base de datos tal como indicabas en el artículo. Necesito poder hacer copias de seguridad. Por favor, te agradecería mucho la ayuda, no sé como solucionarlo y es urgente que pueda trabajar con moodle. Gracias.

        • Hola Cristobal.

          Tu Moodle parece tener problemas que ameritan la revisión del mismo por un experto, nosotros brindamos ese servicio.

          Puedes volver a la versión anterior con las copias de seguridad que hiciste, que es lo que te recomiendo en este momento.

          Con las copias de seguridad, instálalo en un servidor local o hosting de pruebas, allí puedes verificarlo con calma y ver la causa de los errores que puede estar teniendo.

          Lamento no ser de mas ayuda.
          Saludos.

  • Hola Diogenes, gracias por compartir la información. Necesito ayuda para actualizar mi sitio, tu realizas este tipo de servicios.

    • Hola Yessenia.
      Sí, ofrecemos servicios de actualización de Moodle, puedes escribirnos desde el formulario ubicado aquí y comentarnos tus necesidades.
      Saludos.

  • Hola Diógenes, agradezco tu aportación la cuál hoy ocuparé. Resulta que tengo MOODLE 3.9, pero se empezó a alentar, entonces consulte a soporte de mi hosting y me dijeron que tenía muchos archivos. Casi 200 Gb en la carpeta moodledata cuando recién habían reseteado cursos. Entonces investigando vi que el plugin annotate PDF que sirve para vista previa de archivos PDF acumula muchos archivos basura, en foros me sugirieron la desinstalación del plugin para que se borre pero en mi versión no se puede, solo se desactiva, entonces alguien mas me dijo que cuando actualizó a la 3.11 si pudo desinstalar dicho plugin y se liberó un 50% de almacenamiento. Entonces por eso quiero actualizar, pues la otra opción es respaldar cursos y restaurar en instalación nueva, pero como está activa, los respaldos de cursos serían tardados y pesados porque tendría que incluir alumnos y sus archivos de tarea, por eso quiero optar por mejor actualizar pues dices que se reutiliza la moodledata y base de datos. Mi pregunta es: No hay problema en descargar mi base de datos aunque pese varios Gb? La moodledata corre algún riesgo? pues son casi 200 Gb como para intentar descargarla a mi PC.

    • Hola Víctor.

      Es bastante peculiar que no puedas desinstalar ese plugin y que solo puedas desactivarlo.

      Por regla general, cualquier plugin puedes desinstalarlo en Moodle, nunca he visto ninguno que no pueda hacerse, a menos que haya un problema con tu base de datos.

      Estuve leyendo en los comentarios del plugin y si hay gente que pudo quitarlo, solo que les dejo un montón de registro en la base de datos.

      Este plugin no es compatible con Moodle 3.11 (hasta ahora), por lo que debes tener cuidado con ello.

      Supongo que si quieres bajarlos a tu PC es para instalarlo en local y hacer pruebas, de ser así, no debes tener problema con el tamaño de los archivos o con la descarga en sí.

      Espero logres solventarlo.
      Saludos.

  • Buenas tardes, gran artículo enhorabuena!!, una pregunta. Si instalamos una versión actual , limpia de moodle y posteriormente importamos todos los cursos previamente exportados de la versión obsoleta, obtendremos una versión actualizada con todos los cursos, usuarios etc..?? Entiendo salvo plugins, extensiones tema etc...que luego tendríamos que ir instalando adecuadamente. Lo digo por intentar buscar un camino algo más rápido y menos problemático
    Gracias

    • Hola Vicente.
      Es una opción totalmente valida, aunque siempre es mas rápido hacer la actualización, sobre todo por el tema de alumnos, profesores, configuraciones, que deberás implementar desde cero.
      Saludos.

Compartir
Publicado por
Diógenes Mata