无法login到phpPgAdmin

我试图在我的testing机器上设置phpPgAdmin,这样我就可以与PostgreSQL进行交互,而不必一直使用psql CLI。 我通过RPM存储库安装了PostgreSQL 9.1,而我手动安装了phpPadAdmin 5.0.4(通过从phpPgAdmin网站中提取存档)。 为了logging,我的主机操作系统是CentOS 6.2。

我已经做了以下configuration更改:

PostgreSQL的

  • pg_hba.conf里面,我把所有的METHOD改成了md5。
  • 我给了postgres帐户一个密码
  • 我用密码添加了一个名为webuser的新帐户(请注意,我没有为帐户做任何其他事情,所以我不能完全说我知道它拥有什么权限)

phpPgAdmin config.inc.php

  • 改变行$conf['servers'][0]['host'] = ''; to $conf['servers'][0]['host'] = '127.0.0.1'; (我也尝试使用localhost作为值)。
  • $conf['extra_login_security']false

每当我尝试login到phpPgAdmin,即使我使用成功的证书(在psql中工作的证书),我也会得到“login失败”。 我尝试了解常见问题解答中问题3中提到的一些步骤,但目前为止还没有很好的解决。 这可能没有帮助,这是我第一次使用PostgreSQL。 我对MySQL很熟悉,但是我正在使用PostgreSQL来处理这个项目。

任何人都可以提供一些帮助,如何在CentOS 6.2上设置phpPgAdmin? 如果到目前为止我的configuration中做了一些非常错误的事情,那么把一些东西/一切都扔掉就没有什么大不了的了,因为它不像我在那里存储任何数据!

我很感谢您的任何见解!

好吧,我想通了 – 这是PostgreSQL缺乏经验和phpPgAdmin的非描述性错误的组合。

事实certificate,我没有启用TCP / IP访问,这意味着没有PHP应用程序可以访问数据库 。 为了解决这个问题,我必须做两个改变:

  • 如果我在postgresql.conf中将listen_addresses设置为'*' ,它似乎工作得更好。 我不确定这是否完全有必要,但在像这样的防火墙机器上,这不应该是一个问题。
  • 我不得不从terminal窗口运行命令setsebool -P httpd_can_network_connect_db 1来让Apache实际获得程序并连接。 我不记得在这一步之后是否必须重新启动PostgreSQL,但是这可能不会有什么影响。

最后一点:我在postgresql.conf看到了一些提示改变行tcpip_socket=true东西。 这显然不适用于PostgreSQL 9.1。 事实上,我补充说,它拒绝开始。 所以不要这样做。

无论如何,希望这可以帮助遇到同样的问题,我做的人!

我无法设置phpPgAdmin,直到我看到你的解决scheme。 要完成您的解决scheme:

  • 如果您的phpPgAdmin服务器与您的postgresql服务器(9.2,对我而言)在同一台计算机上,那么将listen_address设置为'*'并不是有用的,您可以将其设置为localhost
  • 唯一有用的是设置SELinux布尔值。