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.
Tabla de contenidos
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.
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).
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. 😊
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.
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 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.
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.
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');
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.
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.
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 Mata,
Te felicito por el artículo. Excelente aporte.
Mi consulta es la siguiente, tengo la versión 2.8 y quiero migrar a la última versión disponble, la 3.5+. Ademas las extensiones tambien deben migrarse? dado que tambien aplique diseño propio a la plantilla, sufrirá cambios importantes?
Mil gracias de antemano
Hola Diego.
De la version 2.8 a la 3.5 hay cambios importantes tanto en las extensiones como en los temas.
Te recomiendo montes un servidor de prueba con tu Moodle (este post puede ayudarte) para que observes como quedaría.
Deberás revisar que todos los plugins y temas sean compatibles con la 3.5, por lo que es muy posible que tu personalización se pierda.
Espero haberte ayudado.
Saludos.
Hola! Gran artículo, me ha sido de mucha ayuda, tengo una inquietud, como saber cuales son las versiones críticas de moodle (los saltos que hay que dar), he buscado en sus paginas oficiales pero no encuentro nada. Me podrias ayudar? Actualmente tengo la 3.1 y se que debo llegar a la 3.2, pero hoy en dia existe hasta la 3.4 no se si debo llegar a esta ultima directamente despues de la 3.2 o debo ir a la 3.3? Gracias
Hola Luis. Creo que toca poner al día el cuadro de la ruta de actualización de Moodle ;) del post
Respondiendo a tu pregunta: puedes actualizar a la 3.4 desde la 3.1 directamente sin problemas.
Saludos.