Ver un mensaje que empieza con la palabra "Fatal error" en tu pantalla puede asustar a cualquiera, pero no te preocupes. Si tu sitio web en Moodle se ha interrumpido y muestra un error relacionado con `$CFG->dataroot`, estás ante uno de los fallos más comunes y fáciles de solucionar de esta plataforma.
Este problema suele aparecer repentinamente después de realizar una migración de hosting, de cambiar el nombre de usuario de tu cPanel o tras una actualización del sistema.
En esta guía te explicamos qué significa exactamente este error y cómo resolverlo paso a paso en pocos minutos.
¿Qué es el "$CFG->dataroot" y por qué falla?
En la arquitectura de Moodle, existen dos carpetas principales:
-
La carpeta pública: Es donde están los archivos del programa (la que usualmente instalas en
public_html). -
La carpeta de datos (generalmente llamada
moodledata): Aquí es donde Moodle guarda de forma segura todas las tareas que suben tus alumnos, las fotos de perfil, las calificaciones y los archivos temporales de caché.
Por seguridad, esta segunda carpeta nunca debe estar dentro de public_html (para evitar que cualquier persona acceda a las tareas por internet).
El parámetro `$CFG->dataroot` es simplemente la línea de código dentro de tu archivo de configuración (config.php) que le indica a Moodle la ruta física absoluta dentro del disco duro del servidor para encontrar esa carpeta moodledata.
Si Moodle te muestra este error, significa una de tres cosas:
-
La ruta escrita en tu configuración es incorrecta (el servidor busca la carpeta en un lugar donde no existe).
-
La carpeta
moodledatafue eliminada o no se subió durante una migración. -
El servidor no tiene permisos de escritura para abrir o modificar esa carpeta.
Paso a paso para solucionar el error
Sigue este procedimiento en orden para diagnosticar y corregir el fallo en tu cuenta de cPanel:
¿El error persiste? Revisa el "open_basedir".
Si aplicaste todos los pasos anteriores y sigues viendo el error, es muy probable que se deba a una directiva de seguridad de PHP llamada open_basedir.
Esta función bloquea al servidor para que ningún script de tu web pueda "mirar" fuera de la carpeta public_html. Como tu carpeta moodledata está un nivel más arriba (por seguridad), el sistema la bloquea y arroja el error de $CFG->dataroot.
Cómo solucionarlo en cPanel:
-
Ve a tu cPanel y busca la herramienta Editor INI de MultiPHP (MultiPHP INI Editor).
-
Selecciona tu dominio en el menú desplegable.
-
Busca la directiva
open_basediry asegúrate de dejar su valor completamente vacío (o desactiva el interruptor si estás usando la versión básica). -
Haz clic en Aplicar.
¿Te resulta muy complicado modificar el archivo de configuración?
No pongas en riesgo los archivos de tu plataforma académica. Si no estás seguro de cómo corregir la ruta absoluta o los permisos de tu moodledata, abre un ticket de soporte indicándonos el dominio de tu Moodle y nuestro equipo técnico se encargará de configurar tu archivo config.php correctamente.