gpt4 book ai didi

postgresql - bugzilla 无法连接到 postgres 服务器

转载 作者:行者123 更新时间:2023-11-29 12:00:18 25 4
gpt4 key购买 nike

我刚刚在 Scientific Linux 6.4 版上安装了 bugzilla-4.4.1,但在连接数据库(Pg 8.4 版)时遇到问题。

当我尝试获取主页 (index.cgi) 时,我收到以下消息:

软件错误:

Can't connect to the database.
Error: could not connect to server: Permission denied
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
Is your database installed and up and running?
Do you have the correct username and password selected in localconfig?

For help, please send mail to the webmaster (root@localhost), giving this error message and the time and date of the error.

Postgres 的 pg_hba.conf.conf 在本地主机上配置为 md5 验证:

host all all 127.0.0.1/32 md5

我可以使用 psql 连接到数据库中的 bugs 用户:

psql -h 127.0.0.1 -U bugs

运行 checksetup.pl 似乎可以确认数据库已正确设置和配置:

...剪断...

Reading ./localconfig...
Checking for DBD-Pg (v2.7.0) ok: found v2.15.1
Checking for PostgreSQL (v8.03.0000) ok: found v08.04.1800

Removing existing compiled templates...
Precompiling templates...done.
Fixing file permissions...

Now that you have installed Bugzilla, you should visit the 'Parameters'
page (linked in the footer of the Administrator account) to ensure it
is set up as you wish - this includes setting the 'urlbase' option to
the correct URL.
checksetup.pl complete.
[root@PAHRALBLNX001 bugzilla]#

testserver.pl 脚本表明服务器设置正确:

[root@PAHRALBLNX001 bugzilla]# ./testserver.pl http://127.0.0.1/
TEST-OK Webserver is running under group id in $webservergroup.
TEST-OK Got padlock picture.
TEST-OK Webserver is executing CGIs via mod_cgi.
TEST-OK Webserver is preventing fetch of http://127.0.0.1/localconfig.

我还验证了 localconfig 中的错误用户名和密码与 Postgres 中的设置相匹配。

然而,有一件事看起来很奇怪,那就是当我使用 Wireshark 查看本地主机时,在访问 bugzilla 主页时我没有看到任何连接到 PostgreSQL 服务器的尝试。但是,如果我使用 psql 连接到 PostgreSQL 服务器,我会在 Wireshark 中看到连接。

编辑

我还发现 bugzilla 不会发送电子邮件。正如 Daniel Vérité 所指出的,这是一个 selinux 问题。我将 httpd_can_sendmail 和 httpd_can_network_connect 更改为 true,现在可以使用了。

最佳答案

根据错误信息:

Error: could not connect to server: Permission denied
Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port 5432?

Permission denied 尝试连接到 IP 地址时意味着它被本地安全策略拒绝。必须启用 Web 服务器才能使用此命令连接到数据库:

setsebool -P httpd_can_network_connect_db 1

如果还不够:

setsebool -P httpd_can_network_connect 1

参见 http://wiki.centos.org/TipsAndTricks/SelinuxBooleans更多

关于postgresql - bugzilla 无法连接到 postgres 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21220366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com