phpPgAdmin

来自 Arch Linux 中文维基

phpPgAdmin 是一个基于网络的工具,可帮助使用 PHP 前端管理 PostgreSQL 数据库。

安装[编辑 | 编辑源代码]

PhpPgAdmin 需要一个带 PHP 的网络服务器,如 Apache。要设置它,请参阅Apache HTTP 服务器Apache HTTP 服务器#PHP

安装 phppgadminAUR 软件包。

配置[编辑 | 编辑源代码]

PHP[编辑 | 编辑源代码]

您需要编辑 /etc/php/php.ini,取消注释以下一行,以启用 PHP 中的 pgsql 扩展:

extension=pgsql

您需要确保 PHP 可以访问 /etc/webapps。如有必要,请将其添加到 /etc/php/php.ini 中的 open_basedir

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps

网络服务器[编辑 | 编辑源代码]

Apache[编辑 | 编辑源代码]

创建 Apache 配置文件:

/etc/httpd/conf/extra/phppgadmin.conf
Alias /phppgadmin "/usr/share/webapps/phppgadmin"
<Directory "/usr/share/webapps/phppgadmin">
    DirectoryIndex index.php
    AllowOverride All
    Options FollowSymlinks
    Require all granted

    # phppgadmin raises deprecated warnings that lead
    # to parsing errors in JS
    #php_flag display_startup_errors off
    #php_flag display_errors off
    #php_flag html_errors off
</Directory>

并将其包含在 /etc/httpd/conf/httpd.conf 中:

# phpPgAdmin configuration
Include conf/extra/phppgadmin.conf

您还需要连接 php7:

Include conf/extra/php7_module.conf
LoadModule php7_module modules/libphp7.so

默认情况下,每个人都能看到 phpPgAdmin 页面,若要更改,请编辑 /etc/httpd/conf/extra/phppgadmin.conf 以满足您的需求。例如,如果只希望在同一台机器上访问,请将 Require all granted 替换为 Require local

Lighttpd[编辑 | 编辑源代码]

lighttpd 的 php 设置与 apache 完全相同。 在 lighttpd 配置中为 phppgadmin 设置一个别名。

 alias.url = ( "/phppgadmin" => "/usr/share/webapps/phppgadmin/")

然后在配置(server.modules 部分)中启用 mod_alias、mod_fastcgi 和 mod_cgi。

确保 lighttpd 已设置为服务 php 文件,Lighttpd#FastCGI

重启 lighttpd 并浏览 http://localhost/phppgadmin/index.php

nginx[编辑 | 编辑源代码]

请确保按照 nginx#nginx 配置中的说明,为 PHP 设置 nginx#FastCGI 和单独的配置文件。

使用此方法,您将以 phppgadmin.<domain> 的身份访问 PhpPgAdmin。

您可以使用服务器块设置子域(或域),如

server {
    server_name     phppgadmin.<domain.tld>;
    root    /usr/share/webapps/phppgadmin;
    index   index.php;
    include php.conf;
}

phpPgAdmin 配置[编辑 | 编辑源代码]

phpPgAdmin 的配置文件位于 /etc/webapps/phppgadmin/config.inc.php

如果 PostgreSQL 服务器位于 localhost,则可能需要编辑以下一行:

$conf['servers'][0]['host'] = ;

到:

$conf['servers'][0]['host'] = 'localhost';

访问 phpPgAdmin 安装[编辑 | 编辑源代码]

phpPgAdmin 安装完成。在开始使用之前,您需要通过重启 httpd.service 以重启 apache 服务器。

您可以通过 http://localhost/phppgadmin/ 访问 phpPgAdmin 安装。

问题解决[编辑 | 编辑源代码]

由于安全原因,登录被禁止[编辑 | 编辑源代码]

如果 extra_login_security 设置为 "true",那么通过 phpPgAdmin 进行的无密码登录或特定用户名(psqlpostgresrootadministrator)登录将被拒绝。只有在阅读了常见问题并了解如何修改 PostgreSQL 的 pg_hba.conf 以启用带密码的本地连接之后,才能将此设置为 false

编辑 /etc/webapps/phppgadmin/config.inc.php 并更改以下行:

$conf['extra_login_security'] = true;

到:

$conf['extra_login_security'] = false;

然后重启 postgresql.service