Ir al contenido principal

La actualización de plugins de Moodle se queda bloqueada a mitad: Imunify360 (Proactive Defence) puede bloquear el script de actualización

Escrito por Javier Galeote

El problema

Al actualizar plugins desde la administración de Moodle, el proceso se queda bloqueado o en bucle y el sitio deja de funcionar correctamente. Algunos síntomas habituales:

  • La actualización no termina nunca o se repite en bucle.

  • Aparecen errores que mencionan funciones inexistentes en archivos como upgrade.php de algún plugin.

  • Recibes una notificación del servidor del tipo: "Proactive defence blocked 1 script ... /public_html/lib/classes/update/code_manager.php".

  • No puedes acceder a las herramientas de administración del backoffice.

La causa

El módulo Proactive Defence de Imunify360 (la protección antimalware del servidor) puede identificar como sospechoso el script interno que Moodle usa para descargar e instalar plugins (lib/classes/update/code_manager.php) y bloquearlo en plena ejecución.

Si el bloqueo ocurre a mitad de la actualización, esta queda incompleta y corrupta: pueden quedar archivos vacíos o a medias (por ejemplo, un upgrade.php sin contenido), lo que provoca errores al intentar actualizar la base de datos y deja el sitio inestable.

La solución

Este caso requiere intervención del equipo de soporte, porque hay que actuar a nivel de servidor:

  1. Contacta con soporte indicando qué plugins estabas actualizando y a qué hora empezó el problema. Si has recibido el aviso de "Proactive defence blocked", inclúyelo en el ticket.

  2. No hagas más cambios (no reintentes la actualización ni restaures nada por tu cuenta) mientras soporte trabaja: los cambios simultáneos impiden diagnosticar qué corrige el problema.

  3. Soporte puede restaurar los directorios afectados o hacer una restauración completa de archivos y base de datos del mismo momento (una copia anterior a la actualización), para que no haya discrepancias entre las versiones de los plugins y la base de datos.

  4. Soporte añade el script de actualización de Moodle a la lista de exclusiones de Proactive Defence, para que futuras actualizaciones no vuelvan a bloquearse.

  5. Tras la restauración, conviene purgar la caché de Moodle: errores residuales tras restaurar suelen ser de caché.

Puntos clave

  • Si restauras solo la base de datos (o solo los archivos), volverá a haber discrepancias entre versiones de plugins y base de datos. Restaura siempre ambos del mismo momento.

  • La carpeta moodledata (cursos y contenidos) normalmente no se ve afectada y no es necesario restaurarla.

  • Una vez excluido el script de las reglas de Proactive Defence, puedes volver a actualizar los plugins con normalidad.

¿Ha quedado contestada tu pregunta?