我试图在我的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。 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
设置为'*'
,它似乎工作得更好。 我不确定这是否完全有必要,但在像这样的防火墙机器上,这不应该是一个问题。 setsebool -P httpd_can_network_connect_db 1
来让Apache实际获得程序并连接。 我不记得在这一步之后是否必须重新启动PostgreSQL,但是这可能不会有什么影响。 最后一点:我在postgresql.conf
看到了一些提示改变行tcpip_socket=true
东西。 这显然不适用于PostgreSQL 9.1。 事实上,我补充说,它拒绝开始。 所以不要这样做。
无论如何,希望这可以帮助遇到同样的问题,我做的人!
我无法设置phpPgAdmin,直到我看到你的解决scheme。 要完成您的解决scheme:
listen_address
设置为'*'
并不是有用的,您可以将其设置为localhost
。