【问题标题】:Why is moodle not available?为什么moodle不可用?
【发布时间】:2017-10-24 15:11:20
【问题描述】:

我配置了moodle,但收到一条错误消息:

致命错误:$CFG->dataroot 配置不正确,目录不存在或不可访问!退出。

我的moodle目录在var/www/html/moodle,在我的moodle/config.php$CFG->dataroot = '/var/moodledata';

当我尝试启动moodle时仍然没有任何效果。有什么办法呢?

【问题讨论】:

  • 您确定目录/var/moodledata 存在并且可以被服务器进程访问吗?

标签: moodle


【解决方案1】:

我认为moodledata文件夹没有写权限。为文件夹提供 0777 权限,那么它应该可以访问。

【讨论】:

    【解决方案2】:

    您应该首先创建该目录并授予运行 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
    

    【讨论】:

      【解决方案3】:

      Moodle 确实需要在其工作文件夹中创建和删除文件。如果文件夹所有者是Apache,那么你实际上只需要700 权限,可以忽略该组。否则,您必须将770 权限设置为moodledata 中的所有目录,并将660 权限设置为moodledata 文件夹中的所有文件。

      关键是确保moodledata 文件夹不在任何网络可访问区域(http 根目录)中。如果您的 http 根是 /var/www/html,则将其设为 /var/moodledata

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-07-24
        • 1970-01-01
        • 2011-01-03
        • 1970-01-01
        • 2022-10-05
        • 2023-02-01
        • 1970-01-01
        相关资源
        最近更新 更多