phpPgAdmin 安装指南

翻译:金步国


版权声明

本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布。任何人都可以自由使用、转载、复制和再分发,但必须保留作者署名,亦不得对声明中的任何条款作任何形式的修改,也不得附加任何其它条件。您可以自由链接、下载、传播此文档,但前提是必须保证全文完整转载,包括完整的版权信息和作译者声明。

其他作品

本文作者十分愿意与他人共享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有作品的列表:

BUG报告,切磋与探讨

由于作者水平有限,因此不能保证作品内容准确无误,请在阅读中自行鉴别。如果你发现了作品中的错误,请您来信指出,哪怕是错别字也好,任何提高作品质量的建议我都将虚心接纳。如果你愿意就作品中的相关内容与我进行进一步切磋与探讨,也欢迎你与我联系。联系方式:MSN: [email protected]


1. 将下载的压缩包解压

   对于 tar.gz 执行如下命令:

   gunzip phpPgAdmin-*.tar.gz
   tar -xvf phpPgAdmin-*.tar

   对于 tar.bz2 执行如下命令:

   bunzip2 phpPgAdmin-*.tar.bz2
   tar -xvf phpPgAdmin-*.tar

   对于 .zip 执行如下命令:

   unzip phpPgAdmin-*.zip

2. 配置 phpPgAdmin

   编辑 phpPgAdmin/conf/config.inc.php 文件

   如果你搞乱了配置文件,你可以使用 config.inc.php-dist 文件进行恢复。

3. 创建 reports 数据库

   如果你希望启用 reports(一个很有用的特性),那么请到'sql'子目录下查看 reports-pgsql.sql 脚本。
   它包含了如何创建 reports 数据库的指导。

4. 如果你是在安全模式下运行 PHP ,为了让数据库转储能够正常工作,
   你必须将 php.ini 中的'safe_mode_allowed_env_vars'指令包含 PGPASSWORD 和 PGUSER 环境变量,
   同时还需要在'safe_mode_exec_dir'指令中包含 pg_dump 二进制文件所在的目录。

	例如:
	safe_mode_allowed_env_vars = PHP_,PG
	safe_mode_exec_dir = /usr/bin

   一般说来,你总不希望 /usr/bin 中的所有程序都能被执行,
   所以你可能需要将 pg_dump 和 pg_dumpall 复制到单独的目录中去。

   同样,如果你希望 phpPgAdmin 支持转储,
   你还需要确保 pg_dump 和 pg_dumpall 可以被运行 PHP 的进程执行。

   最后,如果你以安全模式运行 phpPgAdmin ,
   需要长时间运行的导入、导出、事务处理,可能会由于超时而退出。

5. 如果启用了 PostgreSQL 的统计程序(statistics collector),
   phpPgAdmin 将会显示表和索引的性能以及使用统计。
   为了启用这个功能,需要将 postgresql.conf 文件中的如下行的注释取消:

   	stats_start_collector = true
	stats_command_string = true
	stats_block_level = true
	stats_row_level = true

6. 为了能够使用在浏览器中正常使用 phpPgAdmin ,你必须启用浏览器的 cookies 功能。

7. 重要 - 安全相关

   PostgreSQL 在默认情况下并不需要使用密码登录,
   我们强烈建议你在 pg_hba.conf 中配置为对本地链接使用 md5 密码,
   并为默认的超级用户设置一个密码。

   由于存在大量已经安装的 phpPgAdmin 并没有为本地连接设置密码,
   我们提供了一个名为'extra_login_security'的配置选项,它默认为 TRUE 。
   这意味着你不能使用'root','administrator','pgsql','postgres'用户或空密码登陆。

   仅在你对数据库进行了足够的安全设置以后才能将'extra_login_security'设为 fasle ,
   这样你就能使用管理员密码以管理员身份登陆。

8. [译者添加]当在 php.ini 中设置 display_errors = On 并且 error_reporting 包含 ERROR 以外级别的错误的时候,
   phpPgAdmin 常常不能流畅的使用,大约是由于编码并非严格遵守 PHP 开发者期望的编码风格所致吧。
   所以如果出现某些问题试试 display_errors = Off 看看,也许能解决使用中一些恼人的问题。