无法登录 Moodle - 重定向到没有错误消息的登录页面

Cannot log into Moodle - redirects to login page with no error message

大家好

Moodle版本:2.92(我知道,但是这个安装是在中国)

SQL: mysqli,版本???

PHP: ???

对于我在此 post 中可能缺少的信息,我提前表示歉意。我正在排除故障的 Moodle 服务器在中国,而我住在中国以外的地方。服务器是外教用的,包括我,最近不能登录Moodle。我是一名 IT 老师,但这不是我的专长。

Moodle 实例位于中国的服务器上,位于基于 Linux 的虚拟机中。以前的情况是:

如果用户通过基于网络的 VPN 连接到 Moodle,会出现登录页面,用户输入用户名和密码,然后单击 "Log in"。页面似乎刷新了,显示相同的登录页面。页面上和 Chrome 的开发人员工具(控制台)中均未显示任何错误消息。

我无法访问服务器。我可以和中文学校的服务器管理员交流。他们告诉我虚拟服务器已 100% 满,这可能就是问题所在。我做了一些研究,发现可能无法从 cron 作业中清除 cache sessions 文件夹,因为服务器已满。我告诉他们,他们可以使用命令 rm 删除 var/www/moodledata/trashdirvar/www/moodledata/sessions 的内容-rf trashdir/*rm -rf sessions/* 分别。

管理员告诉我moodledata文件夹其实在opt/文件夹里,他把这些文件夹清空了。释放了 4GB。服务器重新启动,我们仍然无法登录 Moodle。

我做了更多研究,表明 config.php 文件可能配置不正确。他向我展示了 config.phpopt/public/moodle 文件夹中。我专注于 CFG->wwwroot 条目。这读作 http://info****.***.cn/moodle。他建议尝试将其更改为 https://info****.***.cn/moodle。我建议他尝试这些配置:

我不确定他尝试了哪些配置,但他确实尝试了 https://info ****.***.cn/moodle,没有效果。

我建议他删除moodledata/cache[=88=中的文件] 和 moodledata/localcache。没有影响,除了我们现在有 16GB 的免费 space。

他告诉我来自 nginx 的错误日志。

我要求他检查 sessions 文件夹的权限。他说权限是777。

我让他检查admin 文件夹,通常在html/moodle/admin 并编辑 index.php。 我让他把这行注释掉:

redirect("index.php?sessionstarted=1&lang=$CFG->lang");

然后再次删除 sessions 文件夹内容。他此时已经累了,没有做这件事。

所以我不知道下一步该怎么做。请理解,由于语言障碍、无法访问服务器以及不是此类系统的专家,故障排除很困难。如果可以专门为 Moodle 获得一些错误消息或日志,那将会很有帮助。请向这个乐于助人的社区寻求任何建议。

我们的 Moodle 现已修复。

我不完全明白为什么。我被告知中国的管理员在 config.php:

发生了变化
$CFG->wwwroot = 'http://______.___.cn/moodle';

至:

$CFG->wwwroot = 'http://[ip_address]/moodle';

此外,在 /etc/nginx/conf.d/moodle.conf 中,他们更改了:

server_name ______.___.cn;

至:

server_name [ip_address];

管理员表示域名重定向存在问题,这是由基于 Web 的 VPN 服务引起的。

我们现在可以登录 Moodle。