Moodle 的原厂安装似乎无法在 CentOS 或 RHEL 6.3 上运行

Moodle 的原厂安装似乎无法在 CentOS 或 RHEL 6.3 上运行

我有一个干净的 CentOS 实例和一个干净的 RHEL 6.3 实例 - 我尝试在两者上安装 Moodle。

Error: Database connection failed

It is possible that the database is overloaded or otherwise not running properly.

The site administrator should also check that the database details have been correctly specified in config.php

数据库确实可以工作 - 我已经从盒子上的 shell 尝试过。我尝试过远程数据库和本地数据库。

我尝试删除 config.php 并清除数据库,然后允许 moodle 创建并运行其新安装的脚本,但同样,我遇到了同样的问题。

奇怪的是,我有运行 moodle 实例的 RHEL 5.x 和 6.x 机器,但我在安装它们时从未遇到过问题,所以我从未仔细查看过堆栈。令我担心的是,这些故障发生在我的新系统映像上 - 在过去几周内已更新到存储库中最新可用软件包的系统。

还有其他人遇到过类似的问题吗?

答案1

我确实遇到了完全相同的问题;请注意,这是我第一次使用 postgres 安装 moodle。问题显然是 php 和 pgsql 的互操作性问题,从 http 错误日志中可以明显看出:(我已将“localhost”替换为“127.0.0.1”)

PHP 警告:pg_connect():无法连接到 PostgreSQL 服务器:无法连接到服务器:权限被拒绝\n\t服务器是否在主机“127.0.0.1”上运行并接受\n\t端口 5432 上的 TCP/IP 连接?位于 /var/www/html/moodle/lib/dml/pgsql_native_moodle_database.php 第 163 行

查看 pg 日志,我注意到没有连接。我已经关闭了防火墙,所以也不是那样。

我最终想到了 selinux——这通常是问题所在。谷歌搜索了一下显示

设置sebool -P httpd_can_network_connect 1

解决了这个问题。

相关内容