我正在尝试在共享的Linux 1and1服务器上安装Moodle 2.2。在安装Web之后,我进入了要求 moodledata 文件夹路径的步骤。我已经读过,我需要把它放在没有公共访问权限的地方,我认为这意味着在公共Web根文件夹之上。
因此,如果公共Web根文件夹是:/ homepages / 44 / d * * / htdocs
文件夹路径应为:/ homepages / 44 / d * * / moodledata
问题是当我想在那里创建一个文件夹(用ssh连接)时,我得到一个“permision denied”错误。
我已联系过1和1,他们告诉我,使用我的托管包(双无限制),无法在公共网络文件夹上方创建文件夹,并且我应该升级托管包。
这是唯一的方法吗?我是否可以获得像moodle一样的受保护文件夹而无需升级托管包?
答案 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;
}
*/