Problema instalando moodle en Hestia CP – Fatal error: $CFG->dataroot is not configured properly – is_readable(): open_basedir

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.

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.

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.

Las posibles rutas de archivos de configuración es como sigue:

/home/admin/conf/web/
/usr/local/hestia/data/templates/web/
/usr/local/hestia/data/templates/web/apache2/php-fpm/
/usr/local/hestia/data/templates/web/nginx/php-fpm/

Recomendado hacer una copia de los archivos a editar, comando para la terminal: cp original.tpl new.tpl

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:

Vale la pena recordar el comando para cambiar los permisos en la terminal para cualquier carpeta:

chmod 755 fichero.txt

Fuente en Inglés: https://hestiacp.com/docs/server-administration/web-templates.html

Share to...