关于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
启动Apache:
sudo service apache2 start
第二步 - 调整安全设置
一旦phpgadmin安装后,您可以通过访问此时将 / 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指令:这是将在密码提示中显示的文本。 你可以把任何东西放在这里。
- 需要有效的用户:这行告诉,只有在密码文件中定义的用户可以访问phpPgAdmin的登录屏幕.htaccess文件。
创建htpasswd文件
现在我们将继续创建有效的用户信息。
首先创建一个htpasswd文件。 使用htpasswd命令,并将文件放在所选的目录中,只要它不能从浏览器访问。 虽然你可以命名任何你喜欢的密码文件,惯例是命名它.htpasswd。
sudo htpasswd -c /etc/phpPgAdmin/.htpasswd username
提示将要求您提供和确认密码。
一旦保存用户名和密码对,您可以看到密码在文件中加密。
FInish通过重启apache:
sudo service apache2 restart
访问phpPgAdmin
phpPgAdmin现在将更安全,因为只有授权用户才能访问登录页面。 访问youripaddress / phpPgAdmin应该显示一个屏幕
使用您生成的用户名和密码填写。 登录后,您可以访问phpPgAdmin与您的Postgres用户名和密码。
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系统中创建更多角色。
要为用户提供密码,可以向createuser命令添加选项-P:
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