CentOS7下安装PostgreSQL 9.4 与 phpPgAdmin
时间:2016-05-17 14:14 来源:linux.it.net.cn 作者:IT
1.安装PostgreSQL
rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpmyum install postgresql94-server postgresql94-contrib/usr/pgsql-9.4/bin/postgresql94-setup initdb启动pstgresql
systemctl enable postgresql-9.4.service
systemctl start postgresql-9.4.service
systemctl status postgresql-9.4.service2. 开放端口
firewall-cmd --permanent --add-port=5432/tcpfirewall-cmd --permanent --add-port=80/tcpfirewall-cmd --reload3.访问PostgreSQL常用的命令提示符
默认情况下数据库名和用户名都是postgres。切换至用户以执行相关操作:
su postgres输入以下命令登陆:
psql会有以下样例输出:
psql (9.3.5)
Type "help" for help.
Postgres=#
可通过输入\q退出postgresql返回命令终端
4.设置用户密码
登陆至postgres命令提示符界面
su – postgres
psql 然后使用命令设置密码
postgres=# \password postgres
Enter new password:
Enter it again:
postgres=# \q
输入命令以建立PostgreSQL系统管理工具
postgres=# CREATE EXTENSION adminpack;
CREATE EXTENSION 5.创建用户和数据库
例如:用户名:senthil 密码:centos 数据库名:mydb
转到postgres用户
su postgres
创建用户senthil
$ createuser senthil
创建数据库
$ createdb mydb
现在登陆至psql提示符界面,为用户senthil设置密码及授权对数据库mydb的访问:
$ psql
psql (9.3.5)
Type "help" for help.
postgres=# alter user senthil with encrypted password 'centos';
ALTER ROLE
postgres=# grant all privileges on database mydb to senthil;
GRANT
postgres=#
6.删除用户和数据库
首先转到postgres界面
su postgres输入命令
$ dropdb <database-name>
删除用户名可输入
$ dropuser <user-name>
7.配置PostgreSQL-MD5认证
MD5认证需要客户端提供一个MD5-encrypted 密码以便身份验证。你需要编辑 /var/lib/pgsql/9.3/data/pg_hba.conf文件:
vi /var/lib/pgsql/9.3/data/pg_hba.conf
添加或修改的行如下:
[...]
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.0/24 md5
# IPv6 local connections:
host all all ::1/128 md5
[...]重启postgresql服务以应用更改
systemctl restart postgresql-9.3
8.配置PostgreSQL-Configure TCP/IP
默认情况下,TCP/IP连接是不可行的,所以其他计算机用户不能连接到postgresql。编辑文件 /var/lib/pgsql/9.3/data/postgresql.conf可以允许连接:
vi /var/lib/pgsql/9.3/data/postgresql.conf
找到下面的行:
[...]
#listen_addresses = 'localhost’
[...]
#port = 5432
[...]把两行都取消并设置为你的postgresql服务器IP地址或设置为“*”监听所有客户端。如下所示:
listen_addresses = '*'
port = 5432重启以应用更改
在CentOS7系统中:
systemctl restart postgresql-9.3
9.使用phpPgAdmin管理PostgreSQL
phpPgAdmin是使用PHP编写的基于web的管理工具,用于管理PostgreSQL。它只适用与PostgreSQL RPM库。
如果你没有添加PostgreSQL库,你可以添加EPEL库。
CentOS 7的话参考下面的链接
http://www.unixmen.com/install-epel-repository-centos-rhel-7/
使用命令更新库
yum update
现在输入命令安装phpPgAdmin:
yum install phpPgAdmin httpd
注意phpPgAdmin区分大小写,要准确使用上面所示的大小写!
默认你可以使用http://localhost/phpPgAdmin访问phpPgAdmin。若要远程访问需要继续:
编辑文件/etc/httpd/conf.d/phpPgAdmin.conf
vi /etc/httpd/conf.d/phpPgAdmin.conf
修改如下加粗的部分:
[...]
Alias /phpPgAdmin /usr/share/phpPgAdmin
<Location /phpPgAdmin>
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
#Require host example.com
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order deny,allow
Allow from all
# Allow from .example.com
</IfModule>
</Location>启动或重启Apache服务
在CentOS 7系统中
systemctl enable httpd
systemctl start httpd 现在打开浏览器并转到http://ip-address/phpPgAdmin。终于看到下面的界面了!
使用你之前创建的用户登录,我的是用户senthil密码CentOS。
你可能会遇到:Login failed。
这是因为SELLinux可能限制用户连接到PostgreSQL,只需输入以下命令更改即可:
setsebool -P httpd_can_network_connect_db 1
现在你应该能正常登录了。
我的phpPgAdimn如下:
OK!现在你就可以使用图形化界面的phpPgAdmin创建、删除和管理数据库了。
(责任编辑:IT)
1.安装PostgreSQL rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpmyum install postgresql94-server postgresql94-contrib/usr/pgsql-9.4/bin/postgresql94-setup initdb启动pstgresql systemctl enable postgresql-9.4.service systemctl start postgresql-9.4.service systemctl status postgresql-9.4.service2. 开放端口 firewall-cmd --permanent --add-port=5432/tcpfirewall-cmd --permanent --add-port=80/tcpfirewall-cmd --reload3.访问PostgreSQL常用的命令提示符 默认情况下数据库名和用户名都是postgres。切换至用户以执行相关操作: su postgres输入以下命令登陆: psql会有以下样例输出: psql (9.3.5) Type "help" for help. Postgres=# 可通过输入\q退出postgresql返回命令终端 4.设置用户密码 登陆至postgres命令提示符界面 su – postgres psql 然后使用命令设置密码 postgres=# \password postgres Enter new password: Enter it again: postgres=# \q 输入命令以建立PostgreSQL系统管理工具 postgres=# CREATE EXTENSION adminpack; CREATE EXTENSION 5.创建用户和数据库 例如:用户名:senthil 密码:centos 数据库名:mydb 转到postgres用户 su postgres 创建用户senthil $ createuser senthil 创建数据库 $ createdb mydb 现在登陆至psql提示符界面,为用户senthil设置密码及授权对数据库mydb的访问: $ psql psql (9.3.5) Type "help" for help. postgres=# alter user senthil with encrypted password 'centos'; ALTER ROLE postgres=# grant all privileges on database mydb to senthil; GRANT postgres=# 6.删除用户和数据库 首先转到postgres界面 su postgres输入命令 $ dropdb <database-name> 删除用户名可输入 $ dropuser <user-name> 7.配置PostgreSQL-MD5认证 MD5认证需要客户端提供一个MD5-encrypted 密码以便身份验证。你需要编辑 /var/lib/pgsql/9.3/data/pg_hba.conf文件: vi /var/lib/pgsql/9.3/data/pg_hba.conf 添加或修改的行如下: [...] # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all md5 # IPv4 local connections: host all all 127.0.0.1/32 md5 host all all 192.168.1.0/24 md5 # IPv6 local connections: host all all ::1/128 md5 [...]重启postgresql服务以应用更改 systemctl restart postgresql-9.3 8.配置PostgreSQL-Configure TCP/IP 默认情况下,TCP/IP连接是不可行的,所以其他计算机用户不能连接到postgresql。编辑文件 /var/lib/pgsql/9.3/data/postgresql.conf可以允许连接: vi /var/lib/pgsql/9.3/data/postgresql.conf 找到下面的行: [...] #listen_addresses = 'localhost’ [...] #port = 5432 [...]把两行都取消并设置为你的postgresql服务器IP地址或设置为“*”监听所有客户端。如下所示: listen_addresses = '*' port = 5432重启以应用更改 在CentOS7系统中: systemctl restart postgresql-9.3 9.使用phpPgAdmin管理PostgreSQL phpPgAdmin是使用PHP编写的基于web的管理工具,用于管理PostgreSQL。它只适用与PostgreSQL RPM库。 如果你没有添加PostgreSQL库,你可以添加EPEL库。 CentOS 7的话参考下面的链接 http://www.unixmen.com/install-epel-repository-centos-rhel-7/ 使用命令更新库 yum update 现在输入命令安装phpPgAdmin: yum install phpPgAdmin httpd 注意phpPgAdmin区分大小写,要准确使用上面所示的大小写! 默认你可以使用http://localhost/phpPgAdmin访问phpPgAdmin。若要远程访问需要继续: 编辑文件/etc/httpd/conf.d/phpPgAdmin.conf vi /etc/httpd/conf.d/phpPgAdmin.conf 修改如下加粗的部分: [...] Alias /phpPgAdmin /usr/share/phpPgAdmin <Location /phpPgAdmin> <IfModule mod_authz_core.c> # Apache 2.4 Require all granted #Require host example.com </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order deny,allow Allow from all # Allow from .example.com </IfModule> </Location>启动或重启Apache服务 在CentOS 7系统中 systemctl enable httpd systemctl start httpd 现在打开浏览器并转到http://ip-address/phpPgAdmin。终于看到下面的界面了! 使用你之前创建的用户登录,我的是用户senthil密码CentOS。 你可能会遇到:Login failed。 这是因为SELLinux可能限制用户连接到PostgreSQL,只需输入以下命令更改即可: setsebool -P httpd_can_network_connect_db 1 现在你应该能正常登录了。 我的phpPgAdimn如下: OK!现在你就可以使用图形化界面的phpPgAdmin创建、删除和管理数据库了。 (责任编辑:IT) |