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