Database 安装必须从原始IP地址完成,抱歉-Moodle

Database 安装必须从原始IP地址完成,抱歉-Moodle,database,amazon-ec2,installation,moodle,Database,Amazon Ec2,Installation,Moodle,我正在尝试在AWS ec2上安装moodle,数据库在ec2实例上是本地的,现在我遇到了一个错误:“安装必须从原始IP地址完成,对不起。”我在web上尝试了所有可能的解决方案,但没有任何效果。只需注释掉这3行内容,然后重新加载: if ($adminuser->lastip !== getremoteaddr()) { print_error('installhijacked', 'admin'); } 只需注释掉这3行,然后重新加

我正在尝试在AWS ec2上安装moodle,数据库在ec2实例上是本地的,现在我遇到了一个错误:“安装必须从原始IP地址完成,对不起。”我在web上尝试了所有可能的解决方案,但没有任何效果。

只需注释掉这3行内容,然后重新加载:

        if ($adminuser->lastip !== getremoteaddr()) {
            print_error('installhijacked', 'admin');
        }

只需注释掉这3行,然后重新加载:

        if ($adminuser->lastip !== getremoteaddr()) {
            print_error('installhijacked', 'admin');
        }

恕我直言,注释掉核心Moodle代码不是一个好主意,尤其是当有一个简单而安全的解决问题的方法时

当谈到AWS EC2时,注释掉代码可能会让您在安装过程中越过这一点。然而,Moodle中随处使用的Moodlegetremoteaddr()函数将继续在日志等内容中报告错误的IP地址,甚至可能会影响您网站的安全性

更好的方法是简单地将以下行添加到webroot中的Moodle main config.php中。它应该放在$CFG=new stdClass()之间的任意位置需要_一次(u DIR_u.'/lib/setup.php')行:

$CFG->getremoteaddrconf = 0;
这将需要在您收到错误消息之前的任何时候添加

虽然我自己没有尝试过,但您也可以将以下行添加到名为/local/defaults.php的文件中(如果该文件不存在,请创建):

有关defaults.php的更多信息,请参阅

如果在Moodle fork中包含此defaults.php文件,则在新安装过程中,该文件对于设置默认设置非常有用

希望这些信息对您有所帮助

致以最良好的祝愿


Michael Milette

恕我直言,注释核心Moodle代码不是一个好主意,尤其是当有一个简单而安全的解决方案时

当谈到AWS EC2时,注释掉代码可能会让您在安装过程中越过这一点。然而,Moodle中随处使用的Moodlegetremoteaddr()函数将继续在日志等内容中报告错误的IP地址,甚至可能会影响您网站的安全性

更好的方法是简单地将以下行添加到webroot中的Moodle main config.php中。它应该放在$CFG=new stdClass()之间的任意位置需要_一次(u DIR_u.'/lib/setup.php')行:

$CFG->getremoteaddrconf = 0;
这将需要在您收到错误消息之前的任何时候添加

虽然我自己没有尝试过,但您也可以将以下行添加到名为/local/defaults.php的文件中(如果该文件不存在,请创建):

有关defaults.php的更多信息,请参阅

如果在Moodle fork中包含此defaults.php文件,则在新安装过程中,该文件对于设置默认设置非常有用

希望这些信息对您有所帮助

致以最良好的祝愿

迈克尔·米莱特