1

共有Linux1and1サーバーにMoodle2.2をインストールしようとしています。Webインストールに続いて、moodledataフォルダーのパスを要求するステップに進みます。パブリックアクセスのない場所に配置する必要があることを読みました。これは、パブリックWebルートフォルダーの上のレベルを意味すると思います。

したがって、パブリックWebルートフォルダが次の場合:/ homepages / 44 / d * * / htdocs

フォルダパスは次のようになります:/ homepages / 44 / d * * / moodledata

問題は、そこにフォルダを作成したい場合(sshに接続している場合)、「許可が拒否されました」というエラーが発生することです。

1and1に連絡しましたが、ホスティングパッケージ(デュアル無制限)では、パブリックWebフォルダーより上のレベルにフォルダーを作成することはできず、ホスティングパッケージをアップグレードする必要があると言われています。

それが唯一の方法ですか?ホスティングパッケージをアップグレードせずに、moodleデマンドのような保護されたフォルダーを取得できますか?

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 に答える