如何在Ubuntu12.04上安装和使用phpPgAdmin

来自菜鸟教程
跳转至:导航、​搜索


状态: 已弃用

本文介绍了不再受支持的 Ubuntu 版本。 如果您当前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:

原因: Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL) and no longer receives security patches or updates. This guide is no longer maintained.

请参阅:
本指南可能仍可用作参考,但可能不适用于其他 Ubuntu 版本。 如果可用,我们强烈建议使用为您正在使用的 Ubuntu 版本编写的指南。 您可以使用页面顶部的搜索功能来查找更新的版本。


关于 phpPgAdmin

phpPgAdmin 是一个基于 php 的 web 应用程序,它为 postgresql 系统提供了一个 GUI 界面。 它执行与 phpMyAdmin 类似的功能,允许用户在 MySQL 中的可视程序中操作数据库信息。

第一步——安装 phpPgAdmin

首先确保 apt-get 存储库是最新的:

sudo apt-get update

该过程完成后,继续安装 postgresql、有用的附加依赖项和 phpgadmin。 在安装过程中,phpPgAdmin 还将安装所需的 php 和 apache 包。

sudo apt-get install postgresql postgresql-contrib phppgadmin

启动阿帕奇:

sudo service apache2 start

第二步——调整安全设置

安装 phpgadmin 后,您可以通过转到 youripaddress/phpPgAdmin 来访问它。

您可以运行以下命令来显示您的服务器的 IP 地址。

ifconfig eth0 | grep inet | awk '{ print $2 }'

但是,您可能会发现,尝试访问 phpPgAdmin 页面可能会导致禁止的 403 错误。

为了使这个页面可以访问,我们应该让所有访问者都可以访问它(别担心,我们会在下一步中锁定它):

sudo nano /etc/apache2/conf.d/phppgadmin

在文件中找到以下部分并取消注释“全部允许”行。 该部分应如下所示:

order deny,allow
deny from all
allow from 127.0.0.0/255.0.0.0 ::1/128
allow from all

配置 .htaccess 身份验证

在允许 .htaccess 文件的情况下,我们可以继续设置一个本地用户,该用户甚至需要登录才能访问 phpPgAdmin 登录页面。

首先在站点的配置文件中创建 .htaccess 身份验证部分。 例如,我将使用默认站点:

sudo nano /etc/apache2/sites-enabled/000-default

通过设置用户授权来跟进。 在虚拟主机文件中创建一个新部分,将以下信息粘贴到:

&ltDirectory "/usr/share/phpPgAdmin">
        AuthUserFile /etc/phpPgAdmin/.htpasswd
        AuthName "Restricted Area"
        AuthType Basic
        require valid-user
&lt/Directory>

下面你会看到每一行的快速解释

  • AuthUserFile: 此行指定密码文件的服务器路径(我们将在下一步中创建。)
  • AuthType: 这是指将用于检查密码的身份验证类型。 密码通过 HTTP 进行检查,并且不应更改关键字 Basic。
  • AuthName: 这是将在密码提示中显示的文本。 你可以在这里放任何东西。
  • Require valid-user: 这一行告诉 .htaccess 文件,只有密码文件中定义的用户才能访问 phpPgAdmin 登录屏幕。

创建 htpasswd 文件

现在我们将继续创建有效的用户信息。

首先创建一个 htpasswd 文件。 使用 htpasswd 命令,并将文件放在您选择的目录中,只要它不能从浏览器访问。 尽管您可以随意命名密码文件,但惯例是将其命名为 .htpasswd。

sudo htpasswd -c /etc/phpPgAdmin/.htpasswd username

提示将要求您提供并确认您的密码。

保存用户名和密码对后,您可以看到文件中的密码已加密。

通过重新启动 apache 完成:

sudo service apache2 restart

访问 phpPgAdmin

phpPgAdmin 现在将更加安全,因为只有授权用户才能访问登录页面。 访问 youripaddress/phpPgAdmin 应显示如下屏幕

填写您生成的用户名和密码。 登录后,您可以使用 Postgres 用户名和密码访问 phpPgAdmin。

Postscript——如何创建 Postgres 用户

更改身份验证配置文件中的身份验证方法:

sudo nano /etc/postgresql/9.1/main/pg_hba.conf

可以在以下行中进行更改:

# "local" is for Unix domain socket connections only
local   all             all                                    md5

要开始创建用户,首先切换到默认超级用户并创建用户将登录的数据库:

sudo su - postgres

随后,创建一个用于存储表的新数据库:

createdb newdb

尽管已经创建了数据库,但唯一可以访问它的用户是默认的 postgres 用户。 我们可以通过创建新用户来允许其他用户访问和操作这个数据库。

以默认超级用户身份登录后,您可以继续在 PostgreSQL 系统中创建更多角色。

要为您的用户配备密码,您可以将选项 -P 添加到 createuser 命令:

createuser -P
Enter name of role to add: newuser
Enter password for new role: 
Enter it again: 
Shall the new role be a superuser? (y/n) y
Password:  enter the superuser’s password here

然后,您可以通过多种方式之一登录 postgres。

如果您使用对等标识登录,您只需键入以下命令,指定您正在登录的数据库:

psql newdb

如果您使用 md5 标识登录,您可以包括您喜欢登录的用户:

psql –U newuser  -W newdb

埃特尔·斯维尔德洛夫