1

我正在尝试在共享的 linux 1and1 服务器上安装 Moodle 2.2。在网络安装之后,我进入了询问moodledata文件夹路径的步骤。我读过我需要把它放在没有公共访问权限的地方,我相信这意味着在公共网络根文件夹之上的一个级别。

因此,如果公共 Web 根文件夹是:/homepages/44/d* * /htdocs

文件夹路径应该是:/homepages/44/d* * /moodledata

问题是,当我想在那里创建一个文件夹(使用 ssh 连接)时,我收到“权限被拒绝”错误。

我联系了 1and1,他们告诉我,使用我的托管包(双重无限制)无法在公共 Web 文件夹上方的级别创建文件夹,我应该升级托管包。

这是唯一的方法吗?我可以在无需升级托管包的情况下获得像穆德尔需求这样的受保护文件夹吗?

4

1 回答 1

2

如果你知道你在做什么,你可以执行以下步骤在 Moodle 目录中安装 moodledata。

这些修改将关闭有关moodledata安全要求的moodle验证。

您必须编辑在moodle 文件夹install.php 的根目录中调用的文件。

在第 230 行附近,围绕以下代码添加注释:

/*
    while(is_dataroot_insecure()) {
        $parrent = dirname($CFG->dataroot);
        $i++;
        if ($parrent == '/' or $parrent == '.' or preg_match('/^[a-z]:\\\?$/i', $parrent) or ($i > 100)) {
            $CFG->dataroot = ''; //can not find secure location for dataroot
            break;
        }
        $CFG->dataroot = dirname($parrent).DIRECTORY_SEPARATOR.'moodledata';
    }
*/

在第 300 行附近,围绕以下代码添加注释:

/*
 else if (is_dataroot_insecure()) {
        $hint_dataroot = get_string('pathsunsecuredataroot', 'install');
        $config->stage = INSTALL_PATHS;

    }
*/
于 2012-05-15T10:07:47.987 回答