Moodle: Fatal error: $CFG->dataroot is not configured properly

0
Tweet 20
Pin Share20

Un error bastante común en Moodle cuando está corriendo en Vesta Panel es el siguiente:

Fatal error: $CFG->dataroot is not configured properly, directory does not exist or is not accessible! Exiting.

Este error puede aparecer al momento de instalar Moodle o cuando ya está instalado y algún archivo se actualiza.

Por qué ocurre el Fatal error: $CFG->dataroot is not configured properly

Hay dos razones principales:

La carpeta «moodledata» no existe o no tiene permisos de lectura, escritura y ejecución para todo público, esto suele ocurrir en su mayoría de veces cuando estamos instalando moodle y ya hablé en Errores comunes al instalar Moodle en Linux, la forma de solucionarlo.

La segunda razón por la que aparece este error es cuando ya tenemos instalado moodle funcionando sin problemas, pero lo tenemos en vesta panel, suele ocurrir que por algún motivo, el archivo de configuración de nuestro servidor se modifica eliminando la ruta de la carpeta moodledata. Entonces lo único que tenemos que hacer es colocar manualmente la ruta de esta carpeta y reiniciar nuestro servicio de apache.

Cómo solucionar el Fatal error: $CFG->dataroot is not configured properly

Primero tenemos que ubicar la ruta de nuestra carpeta moodledata, generalmente la ruta es la siguiente:

/home/admin/web/nuestrodominio.com/moodledata

Si verificamos que existe esta carpeta y que esa es su ruta, ahora simplemente toca entrar al archivo apache2.conf en ubuntu, o httpd.conf en CentOS para colocar manualmente la ruta de nuestra carpeta moodledata.

Si instalamos un certificado de seguridad a nuestro dominio mediante vesta panel, además de los archivos apache2.conf o httpd.conf tendremos apache2.ssl.conf o httpd.ssl.conf dependiendo del sistema operativo que tengamos instalado en nuestro servidor.

La ruta de este archivo de configuración es como sigue:

/home/admin/conf/web/

Abrimos el archivo de configuración con nuestro editor de texto preferido, nano o vim dependiendo del que prefieran y van a cambiar la parte de:

<Directory /home/admin/web/tudominio.com/public_html>
        AllowOverride All
        SSLRequireSSL
        Options +Includes -Indexes +ExecCGI
        php_admin_value open_basedir /home/admin/web/tudominio.com/public_html:/home/admin/tmp
        php_admin_value upload_tmp_dir /home/admin/tmp
        php_admin_value session.save_path /home/admin/tmp
    </Directory>

Por lo siguiente:

<Directory /home/admin/web/tudominio.com/public_html>
        AllowOverride All
        SSLRequireSSL
        Options +Includes -Indexes +ExecCGI
        php_admin_value open_basedir /home/admin/web/tudominio.com/public_html:/home/admin/web/tudominio.com/moodledata:/home/admin/tmp
        php_admin_value upload_tmp_dir /home/admin/tmp
        php_admin_value session.save_path /home/admin/tmp
    </Directory>

Como se aprecia, lo que modificamos fue la ruta de php_admin_value open_basedir, le agregamos la ruta de nuestra carpeta moodledata

Si este tutorial te pareció un poco complicado puedes ver el procedimiento en el video adjunto

0
Tweet 20
Pin Share20

7 comentarios en «Moodle: Fatal error: $CFG->dataroot is not configured properly»

  1. Hola mochila Negra saludos y muchas gracias por esos esfuerzos que haces.

    Un enorme problema no logro solucionar el problema que estas tocando en este post.

    Estoy instalando moodle y no logro pasar de la pagina de las rutas.
    El archivo zip de moodle lo subi via ftp.
    Cree la carpeta moodledata en el directorio indicado.
    Vía Putty me indica «No such file or directory» aunque via ftp si se ven (web/ejem.ejem.com)

    Estoy en vesta y centos.

    Por favor orientame.

    Responder
  2. Saludos a pesar de las correcciones indicadas y realizadas aun indica algunos errores.
    «Información de depuración: /tmp/requestdir/2k5N can not be created, check permissions. Error code: invaliddatarootpermissions»

    Trazado de la pila (stack):
    line 1584 of /lib/setuplib.php: invalid_dataroot_permissions thrown
    line 1675 of /lib/setuplib.php: call to make_writable_directory()
    line 1705 of /lib/setuplib.php: call to get_request_storage_directory()
    line 204 of /admin/tool/installaddon/classes/installer.php: call to make_request_directory()
    line 108 of /admin/tool/installaddon/index.php: call to tool_installaddon_installer->detect_plugin_component()

    Podrías ayudarme?
    Telegram: @cyberfinanzas
    email: atorres.contacta@gmail.com

    Responder

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.