无法登录 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 的虚拟机中。以前的情况是:- 如果连接到学校网络,可以使用http://info.****连接到Moodle。 ***.cn,如果在校网之外,也可以通过http://info.****.***.cn连接到Moodle。
- 有时,我想Moodle或者服务器已经升级到https了。
- 然后为了安全起见,只有在学校网络上才能连接到Moodle。为了帮助外教,建立了基于网络的 vpn,以及使用 EasyConnect 的桌面 VPN。如果在学校网络之外使用 web vpn,则 URL 变为 https://webvpn.***.cn/https/*************/moodle /
- 上周,当一个用户在学校网络内外(没有VPN和在VPN上)访问Moodle时,无法登录Moodle。
如果用户通过基于网络的 VPN 连接到 Moodle,会出现登录页面,用户输入用户名和密码,然后单击 "Log in"。页面似乎刷新了,显示相同的登录页面。页面上和 Chrome 的开发人员工具(控制台)中均未显示任何错误消息。
我无法访问服务器。我可以和中文学校的服务器管理员交流。他们告诉我虚拟服务器已 100% 满,这可能就是问题所在。我做了一些研究,发现可能无法从 cron 作业中清除 cache 或 sessions 文件夹,因为服务器已满。我告诉他们,他们可以使用命令 rm 删除 var/www/moodledata/trashdir 和 var/www/moodledata/sessions 的内容-rf trashdir/* 和 rm -rf sessions/* 分别。
管理员告诉我moodledata文件夹其实在opt/文件夹里,他把这些文件夹清空了。释放了 4GB。服务器重新启动,我们仍然无法登录 Moodle。
我做了更多研究,表明 config.php 文件可能配置不正确。他向我展示了 config.php 在 opt/public/moodle 文件夹中。我专注于 CFG->wwwroot 条目。这读作 http://info****.***.cn/moodle。他建议尝试将其更改为 https://info****.***.cn/moodle。我建议他尝试这些配置:
- http://www.info****.***。 cn/moodle
- http://www.info****.***.cn
- http://info* ***.***.cn
- https://www.info****.***.cn/moodle
- https://www.info****.***.cn
- https://info****.***.cn
我不确定他尝试了哪些配置,但他确实尝试了 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。
大家好
Moodle版本:2.92(我知道,但是这个安装是在中国)SQL: mysqli,版本??? PHP: ???对于我在此 post 中可能缺少的信息,我提前表示歉意。我正在排除故障的 Moodle 服务器在中国,而我住在中国以外的地方。服务器是外教用的,包括我,最近不能登录Moodle。我是一名 IT 老师,但这不是我的专长。Moodle 实例位于中国的服务器上,位于基于 Linux 的虚拟机中。以前的情况是:
- 如果连接到学校网络,可以使用http://info.****连接到Moodle。 ***.cn,如果在校网之外,也可以通过http://info.****.***.cn连接到Moodle。
- 有时,我想Moodle或者服务器已经升级到https了。
- 然后为了安全起见,只有在学校网络上才能连接到Moodle。为了帮助外教,建立了基于网络的 vpn,以及使用 EasyConnect 的桌面 VPN。如果在学校网络之外使用 web vpn,则 URL 变为 https://webvpn.***.cn/https/*************/moodle /
- 上周,当一个用户在学校网络内外(没有VPN和在VPN上)访问Moodle时,无法登录Moodle。
如果用户通过基于网络的 VPN 连接到 Moodle,会出现登录页面,用户输入用户名和密码,然后单击 "Log in"。页面似乎刷新了,显示相同的登录页面。页面上和 Chrome 的开发人员工具(控制台)中均未显示任何错误消息。
我无法访问服务器。我可以和中文学校的服务器管理员交流。他们告诉我虚拟服务器已 100% 满,这可能就是问题所在。我做了一些研究,发现可能无法从 cron 作业中清除 cache 或 sessions 文件夹,因为服务器已满。我告诉他们,他们可以使用命令 rm 删除 var/www/moodledata/trashdir 和 var/www/moodledata/sessions 的内容-rf trashdir/* 和 rm -rf sessions/* 分别。
管理员告诉我moodledata文件夹其实在opt/文件夹里,他把这些文件夹清空了。释放了 4GB。服务器重新启动,我们仍然无法登录 Moodle。
我做了更多研究,表明 config.php 文件可能配置不正确。他向我展示了 config.php 在 opt/public/moodle 文件夹中。我专注于 CFG->wwwroot 条目。这读作 http://info****.***.cn/moodle。他建议尝试将其更改为 https://info****.***.cn/moodle。我建议他尝试这些配置:
- http://www.info****.***。 cn/moodle
- http://www.info****.***.cn
- http://info* ***.***.cn
- https://www.info****.***.cn/moodle
- https://www.info****.***.cn
- https://info****.***.cn
我不确定他尝试了哪些配置,但他确实尝试了 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。