如何在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
通过设置用户授权来跟进。 在虚拟主机文件中创建一个新部分,将以下信息粘贴到:
<Directory "/usr/share/phpPgAdmin"> AuthUserFile /etc/phpPgAdmin/.htpasswd AuthName "Restricted Area" AuthType Basic require valid-user </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