如何在 Ubuntu 12.04 上安装和使用 phpPgAdmin
状态:已弃用
本文涵盖不再受支持的 Ubuntu 版本。如果您目前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:
- 升级到 Ubuntu 14.04。
- 从 Ubuntu 14.04 升级到 Ubuntu 16.04
- 将服务器数据迁移到支持的版本
原因:
请参阅:
关于 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
在文件中找到以下部分并取消注释行,\allow from all。该部分应如下所示:
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: 这是将在密码提示中显示的文本。你可以在这里放任何东西。
- 需要有效用户:这一行告诉 .htaccess 文件只有密码文件中定义的用户才能访问 phpPgAdmin 登录屏幕。
创建 htpasswd 文件
现在我们将继续创建有效的用户信息。
首先创建一个 htpasswd 文件。使用 htpasswd 命令,并将文件放在您选择的目录中,只要它不能从浏览器访问即可。尽管您可以随意命名密码文件,但惯例是将其命名为 .htpasswd。
sudo htpasswd -c /etc/phpPgAdmin/.htpasswd username
提示将要求您提供并确认您的密码。
保存用户名和密码对后,您可以看到密码已在文件中加密。
通过重新启动 apache 完成:
sudo service apache2 restart
访问 phpPgAdmin
phpPgAdmin 现在将更加安全,因为只有授权用户才能访问登录页面。访问 youripaddress/phpPgAdmin 应该显示类似的屏幕
用您生成的用户名和密码填写它。登录后,您可以使用您的 Postgres 用户名和密码访问 phpPgAdmin。
后记——如何创建 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