在共享的1and1主机中保护moodledata文件夹(用于moodle 2.2安装)

时间:2012-05-14 22:52:48

标签: permissions hosting directory moodle

我正在尝试在共享的Linux 1and1服务器上安装Moodle 2.2。在安装Web之后,我进入了要求 moodledata 文件夹路径的步骤。我已经读过,我需要把它放在没有公共访问权限的地方,我认为这意味着在公共Web根文件夹之上。

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

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

问题是当我想在那里创建一个文件夹(用ssh连接)时,我得到一个“permision denied”错误。

我已联系过1和1,他们告诉我,使用我的托管包(双无限制),无法在公共网络文件夹上方创建文件夹,并且我应该升级托管包。

这是唯一的方法吗?我是否可以获得像moodle一样的受保护文件夹而无需升级托管包?

1 个答案:

答案 0 :(得分: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;

    }
*/