【问题标题】:Installation must be finished from the original IP address, sorry - Moodle必须从原始 IP 地址完成安装,对不起 - Moodle
【发布时间】:2020-08-15 03:30:49
【问题描述】:

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

【问题讨论】:

    标签: database amazon-ec2 installation moodle


    【解决方案1】:

    只需注释掉这 3 行并重新加载:

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

    https://github.com/moodle/moodle/blob/master/admin/index.php#L753-L755

    【讨论】:

      【解决方案2】:

      恕我直言,注释掉核心 Moodle 代码并不是一个好主意,尤其是在可以轻松安全地解决问题时。

      对于 AWS EC2,注释掉代码可能会让您在安装过程中越过这一点,但是,Moodle getremoteaddr() 函数在 Moodle 中随处使用,将继续报告日志等内容中的 IP 地址不正确,甚至可能影响您网站的安全性。

      更好的方法是简单地将以下行添加到 webroot 中的 Moodle 主 config.php。它应该放在 $CFG = new stdClass();require_once(__DIR__ . '/lib/setup.php'); 行之间的任何位置:

      $CFG->getremoteaddrconf = 0;
      

      这需要在您收到错误消息之前随时添加。

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

      $defaults['moodle']['getremoteaddrconf'] = 0; // New default for $CFG->getremoteaddrconf.
      

      有关 defaults.php 的更多信息,请参阅https://docs.moodle.org/dev/Local_plugins#Customised_site_defaults

      如果您将这个 defaults.php 文件包含在您的 Moodle fork 中,该文件可用于在新安装期间设置默认设置。

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

      最好的问候,

      迈克尔·米莱特

      【讨论】:

        猜你喜欢
        • 2018-01-22
        • 2019-08-25
        • 2020-09-02
        • 1970-01-01
        • 2010-11-21
        • 2021-09-23
        • 1970-01-01
        • 2010-10-20
        • 1970-01-01
        相关资源
        最近更新 更多