【问题标题】:protected moodledata folder (for moodle 2.2 installation) in shared 1and1 hosting共享 1and1 主机中受保护的 moodledata 文件夹(用于安装 moodle 2.2)
【发布时间】:2012-05-14 22:52:47
【问题描述】:

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

如果公共网络根文件夹是:/homepages/44/d**/htdocs

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

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

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

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

【问题讨论】:

    标签: permissions hosting directory moodle


    【解决方案1】:

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

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

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

    在 230 行附近,将 cmets 放在以下代码周围:

    /*
        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 行附近,将 cmets 放在以下代码周围:

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

    【讨论】:

    • 是的,但是moodledata目录就不安全了,对吧?我想知道是否有可能以某种方式保证它的安全。
    • Moodle 在moodledata 中放置一个.htacces 文件以防止未经授权的访问,并且您始终可以仅向该目录中的apache 用户授予权限。我认为即使在该目录中使用moodledata,您也会非常安全。
    猜你喜欢
    • 2018-08-05
    • 2011-06-07
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-11
    • 1970-01-01
    • 2017-05-15
    相关资源
    最近更新 更多