我配置了moodle,但我收到了错误消息:
致命错误:$ CFG-> dataroot配置不正确,目录不存在或无法访问!离开。
我的moodle目录位于var/www/html/moodle
,moodle/config.php
位于$CFG->dataroot = '/var/moodledata';
当我尝试启动moodle时仍然无效。可以做些什么呢?
答案 0 :(得分:4)
I think the moodledata folder does not have write permission. provide 0777 permission to the folder then it should be accessible.
答案 1 :(得分:0)
Moodle确实需要在其工作文件夹中创建和删除文件。如果文件夹所有者为Apache
,那么您实际上只需要700
权限,并且可以忽略该组。否则,您必须将770
和moodledata
中所有目录的660
权限设置为moodledata
文件夹中的所有文件。
关键是要确保moodledata
文件夹不在任何Web可访问区域(http根目录)中。如果您的http根目录为/var/www/html
,请将其设为/var/moodledata
。
答案 2 :(得分:0)
您应该首先创建该目录,并授予运行Web服务器的用户访问此目录的权限。 在centos / redhat:
chown apache.apache /var/moodledata
请注意,在centos / redhat上,SELINUX很可能阻止Web服务器进程访问/ var / moodledata目录。 检查它的简单方法是通过键入以下内容(暂时)禁用它:
setenforce 0
service httpd restart
然后,如果以这种方式工作 - 将其设置为允许访问此目录并以这种方式重新启用它:
setenforce 1
如果你想完全禁用selinux,那么编辑/ etc / selinux / config并设置这一行:
SELINUX=disabled
在debian / ubuntu上,所有权应该是这样的:
chown www-data.www-data /var/moodledata