於是今天就嘗試安裝相關的環境,這篇就只記錄安裝 postgreSQL 9.4的部份…
首先,使用yum 安裝 postgreSQL 套件
postgreSQL 目前支援的linux作業系統與版本可以到官網上查詢,提供查詢網址如下:
http://yum.postgresql.org/repopackages.php
裡面有不同版本對應作業系統的Repository
●安裝
1. yum install http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-2.noarch.rpm
2. yum install postgresql94-server postgresql94-contrib
●啟動才務
安裝完後,需要再另外下指令初始化資料庫,並啟動服務
1. /usr/pgsql-9.4/bin/postgresql94-setup initdb
2. 設定為開機後自動啟動服務
systemctl enable postgresql-9.4.service
3. systemctl start postgresql-9.4.service
●設定連接
使用 vi 或 vim 編輯設定檔
編輯 /var/lib/pgsql/9.4/data/postgresql.conf
設定postgresql的listen ip與連接埠
將 #listen_addresses = 'localhost' 前面的 # 刪掉 -> 僅限local登入
listen_addresses = '*' --> 不限登入ip
將 #port = 5432 前面的 # 刪掉
編輯完成後,按 Esc 離開編輯模式
強制存檔命令:w
離開命令:q
●設定本機連接(要需要才設定,可略過)
編輯 (pg_hba.conf)
編輯 /var/lib/pgsql/9.4/data/pg_hba.conf
將 host all all 127.0.0.1/32 ident 改為 host all all 127.0.0.1/32 trust (把 ident 改為 trust)
PS: 這種改法表示本機都可以登入 PostgreSQL, 要謹慎使用
●重新啟動PostgreSQL
systemctl restart postgresql-9.4
●設定防火牆
firewall-cmd --permanent --add-port=5432/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
●查看安裝後的postgreSQL版本
sudo -u postgres psql --version
如果CentOS有啟動SELinux時,必需再輸入以下命令調整連接db之安全政策
setsebool -P httpd_can_network_connect_db 1
何謂SELinux....詳見:http://www.suse.url.tw/redhat/SELinux.htm
●建立postgresql的super user密碼
預設之super user帳戶為 "postgres"
切換登入的username,命令如下:
su - postgres
●登入postgresql,使用以下命令:
psql
登入後會顯示以下訊息:
psql (9.4.5)
輸入 "help" 顯示說明。
若要離開psql,使用命令\q
●變更使用者"postgres"密碼
postgres=# \password postgres
輸入新密碼:
再次輸入:
postgres=# \q
●新增使用者"testuser"
$ createuser testuser
●新增資料庫"testdb"
$ createdb testdb
●授權testsdb給testuser
$ psql
postgres=# alter user testuser with encrypted password 'centos';
ALTER ROLE
postgres=# grant all privileges on database testdb to testuser;
GRANT
●搭配phpPgAdmin,變更加密演算法為md5,並設定允許登入的ip
編輯檔案
vi /var/lib/pgsql/9.4/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
[...]
●安裝web admin套件 - phpPgAdmin與Apache
1. 安裝EPEL(Extra Packages for Enterprise Linux),其主要目的是提供各種企業級的 Linux 一些額外的高品質套件
yum install epel-release
yum update
2. 安裝 phpPgAdmin與Apache
yum install phpPgAdmin httpd
安裝完後,啟動 apache service
systemctl enable httpd
systemctl start httpd
即可由本地端透過網頁管理postgreSQL
http://localhost/phpPgAdmin
要讓其他電腦也能透過web管理,還設編輯設定檔 /etc/httpd/conf.d/phpPgAdmin.conf
vi /etc/httpd/conf.d/phpPgAdmin.conf
修改以下內容,主要為Require all granted 以及 Allow from all
systemctl restart httpd
即可使用 http://ip-address/phpPgAdmin 進入管理介面
reference:
http://www.unixmen.com/postgresql-9-4-released-install-centos-7/
看到第二行紅色部份為enabled時,即開機時會自動啟動服務
Loaded: loaded (/usr/lib/systemd/system/postgresql-9.4.service; enabled; vendor preset: disabled)
postgreSQL 目前支援的linux作業系統與版本可以到官網上查詢,提供查詢網址如下:
http://yum.postgresql.org/repopackages.php
裡面有不同版本對應作業系統的Repository
●安裝
1. yum install http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-2.noarch.rpm
2. yum install postgresql94-server postgresql94-contrib
●啟動才務
安裝完後,需要再另外下指令初始化資料庫,並啟動服務
1. /usr/pgsql-9.4/bin/postgresql94-setup initdb
2. 設定為開機後自動啟動服務
systemctl enable postgresql-9.4.service
3. systemctl start postgresql-9.4.service
●設定連接
使用 vi 或 vim 編輯設定檔
編輯 /var/lib/pgsql/9.4/data/postgresql.conf
設定postgresql的listen ip與連接埠
將 #listen_addresses = 'localhost' 前面的 # 刪掉 -> 僅限local登入
listen_addresses = '*' --> 不限登入ip
將 #port = 5432 前面的 # 刪掉
編輯完成後,按 Esc 離開編輯模式
強制存檔命令:w
離開命令:q
●設定本機連接(要需要才設定,可略過)
編輯 (pg_hba.conf)
編輯 /var/lib/pgsql/9.4/data/pg_hba.conf
將 host all all 127.0.0.1/32 ident 改為 host all all 127.0.0.1/32 trust (把 ident 改為 trust)
PS: 這種改法表示本機都可以登入 PostgreSQL, 要謹慎使用
●重新啟動PostgreSQL
systemctl restart postgresql-9.4
●設定防火牆
firewall-cmd --permanent --add-port=5432/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
●查看安裝後的postgreSQL版本
sudo -u postgres psql --version
如果CentOS有啟動SELinux時,必需再輸入以下命令調整連接db之安全政策
setsebool -P httpd_can_network_connect_db 1
何謂SELinux....詳見:http://www.suse.url.tw/redhat/SELinux.htm
●建立postgresql的super user密碼
預設之super user帳戶為 "postgres"
切換登入的username,命令如下:
su - postgres
●登入postgresql,使用以下命令:
psql
登入後會顯示以下訊息:
psql (9.4.5)
輸入 "help" 顯示說明。
若要離開psql,使用命令\q
●變更使用者"postgres"密碼
postgres=# \password postgres
輸入新密碼:
再次輸入:
postgres=# \q
●新增使用者"testuser"
$ createuser testuser
●新增資料庫"testdb"
$ createdb testdb
●授權testsdb給testuser
$ psql
postgres=# alter user testuser with encrypted password 'centos';
ALTER ROLE
postgres=# grant all privileges on database testdb to testuser;
GRANT
●搭配phpPgAdmin,變更加密演算法為md5,並設定允許登入的ip
編輯檔案
vi /var/lib/pgsql/9.4/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
[...]
●安裝web admin套件 - phpPgAdmin與Apache
1. 安裝EPEL(Extra Packages for Enterprise Linux),其主要目的是提供各種企業級的 Linux 一些額外的高品質套件
yum install epel-release
yum update
2. 安裝 phpPgAdmin與Apache
yum install phpPgAdmin httpd
安裝完後,啟動 apache service
systemctl enable httpd
systemctl start httpd
即可由本地端透過網頁管理postgreSQL
http://localhost/phpPgAdmin
要讓其他電腦也能透過web管理,還設編輯設定檔 /etc/httpd/conf.d/phpPgAdmin.conf
vi /etc/httpd/conf.d/phpPgAdmin.conf
修改以下內容,主要為Require all granted 以及 Allow from all
[...]
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 service systemctl restart httpd
即可使用 http://ip-address/phpPgAdmin 進入管理介面
reference:
http://www.unixmen.com/postgresql-9-4-released-install-centos-7/
●確認postgresql運作狀況
systemctl status postgresql-9.4看到第二行紅色部份為enabled時,即開機時會自動啟動服務
Loaded: loaded (/usr/lib/systemd/system/postgresql-9.4.service; enabled; vendor preset: disabled)
沒有留言:
張貼留言