目標是要搞一台獨立的 Linux server 跑 PostgreSQL,PostgreSQL 的 admin 也要由外面搞,即係 admin 要由第二部機嚟做。
1. 首先安裝 Ubuntu 12.04 Server
1.1 我唔要 Automatic updates 以免麻煩
1.2 選 predefined collections of software 就一個都唔要,日後有必要時再自己 install。
2. 安裝完 Ubuntu 的第一次 login 就要:
2.1 更新 Ubuntu 至最新的版本
sudo su
apt-get update && apt-get upgrade
2.2 跟手就安裝 SSH 方便日後做 remote management:
apt-get install openssh-server
vi /etc/ssh/sshd_config
唔裝都得,隨自己喜好啦!用 vi 改 sshd_config 係主要改用非傳統嘅 ssh port,security 嘛!
3. 再嚟就係安裝 PostgreSQL:
3.1 目前 Ubuntu 的版本是 v9.1,我要最新的 v9.2,所以要自己安裝 ppa
add-get install python-spftware-properties
add-apt-repository ppa:pitti/postgresql
apt-get update
apt-get install postgresql-9.2
第一句係安裝 ppa 要用到的軟件,第二句是 ppa 的路徑,第三句是更新這台機的軟件庫資料,第四句是按照資料安裝 PostgreSQL v9.2
到此為止你的 PostgreSQL 已經可以用,不過他祇對本機的指令有效,我哋要用第二台機 admin 佢,所以要繼續第四個步驟。
4. 優化 PostgreSQL
4.1 接受來自於其他機的指令,修改 postgresql.conf 檔案
vi /etc/postgresql/8.3/main/postgresql.conf
把其中的一句
#listen_addresses = ‘localhost’
改為
listen_addresses = ‘*’
4.2 修改 PostgreSQL 的基本資料檔 pg_hba.conf
vi /etc/postgresql/8.3/main/pg_hba.conf
local all postgres trust
host all all 192.168.1.0/24 md5
這是原本的 pg_hba.conf:
我們要改成這樣:
這裡面的 192.168.20.0/24 即是祇對 LAN 內聯網有效,詳細的 CIDR 資料可以參考這裡。
4.3 修改 PostgreSQL 的初始用戶的密碼
/etc/init.d/postgresql restart
psql -U postgres -d template1
template1=# ALTER USER postgres with encrypted password ‘yourpassword’;
第一句是 restart 一下 postgres,請他採用最新的設定,第二句是啟動 psql,第三句是用 psql command 進行修改 user password。
畫面上的 ‘q’ 是離開 psql 的指令。
5. 最後測試
我是在一台 Home Server 2011 上安裝了 pgAdmin III 來做測試的:
接駁 PostgreSQL 的設定:
成功接駁後就可以通過 pgAdmin III 來控制這台 PostgreSQL 了: