とある日の妄想モバイル - OSX10.3.9にPostgreSQL8.2.4をインストール
2007年07月19日(木)
OSX版pgAdmin3を使おうとしたんだけどDBにコネクトできない。
PostgreSQLのバージョンが7系だとダメなんかな〜と思い、
8系にうpグレしてみることにした。
7のDBファイルはめんどいので破棄することに。
まぁたいしたDB作ってなかったし。
インストール結果、無事にpgAdminで接続できるようになった。
ばんざい。
ついでにSSLも設定しといた。
■簡易インストールメモ(OSX10.3.9)
※内容については責任を負いませんのでご注意。
適当なサーバからアーカイブを落とし、解凍終わったとこから。
OpenSSLインストール済み。
# cd postgresql-8.2.4
# ./configure --with-perl --with-openssl
# make
# make install
※--with-javaはJDBCドライバが同梱されなくなったため無視されてしまう
・権限変更
# chown -R postgres /usr/local/pgsql
・環境変数設定
# su - postgres
# cd ~/postgres
# vi .tcshrc
↓.tcshrc ファイルに以下の内容を記述↓
setenv POSTGRES_HOME /usr/local/pgsql
setenv PGLIB $POSTGRES_HOME/lib
setenv PGDATA $POSTGRES_HOME/data
setenv PATH ${PATH}:$POSTGRES_HOME/bin
↑.tcshrc ファイルの設定ここまで↑
root権限で/etc/sysctl.confファイルを作り以下を記述。
---- ここから -----
ysv.shmmax=4194304
kern.sysv.shmmin=1
kern.sysv.shmmni=32
kern.sysv.shmseg=8
kern.sysv.shmall=1024
---- ここまで -----
なんかこれやらないとエラーがでてDB起動できない。
記述後、再起動する。
・データベース初期化・起動
# initdb -D $PGDATA --encoding=UTF-8 --no-locale
# pg_ctl -o "-i --silent_mode=true" start
・/etc/hostconfig変更
以下の行を追加(サーバ再起動時自動で起動するように)。
POSTGRESQLSERVER=-YES-
■PostgreSQL SSL設定
posgresqlユーザでログイン
cd /usr/local/pgsql/data
1.openssl req -new -text -out cert.req
Using configuration from /usr/share/ssl/openssl.cnf
Generating a 1024 bit RSA private key
................++++++
.++++++
writing new private key to 'certkey.pem'
Enter PEM pass phrase: password←適当な秘密鍵ファイル用パスワード
Verifying password - Enter PEM pass phrase: password←再入力
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JA
State or Province Name (full name) [Some-State]:(都道府県名を英語で入力)
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:(組織名を英語で入力)
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:(サーバのアドレス入力)
Email Address []:(メアド入力)
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
2.証明書の自己署名
openssl req -x509 -in cert.req -text -key privkey.pem -out server.crt
パスワード入力
3.秘密鍵からのパスワードの削除
openssl rsa -in privkey.pem -out server.key
パスワード入力
4. 権限変更
chmod 400 /usr/local/pgsql/data/server.*
5.postgresql.conf修正
#ssl = off # (change requires restart)
↓
ssl = on # (change requires restart)
#password_encryption = on
↓
password_encryption = on
6.pg_hba.conf修正
次の文を追加
hostssl all all 0.0.0.0/0 md5
(0.0.0.0/0はすべてのIPという意味)
7.DB再起動
pg_ctl stop
pg_ctl "-o -il --silent_mode=true" start
8.ユーザのパスワード設定(ここでは仮にpostgresユーザ)
psql
alter user postgres with password '********';
q
9.接続確認
psql -h サーバのアドレス -W
パスワード入力
再起動時のため、起動設定を変更
cd /Library/StartUpItems/PostgreSQL
vi PostgreSQL
StartService関数内の該当箇所を以下に変更
sudo -u $PGUSER $DAEMON start -D "$PGDATA" -s -l $PGLOG -o "-il"
RestartService関数内の該当箇所を以下に変更
sudo -u $PGUSER $DAEMON restart -D "$PGDATA" -s -m fast -o "-il"
以上。
0.戻る
©2001-2009 konkon All Rights Reserved.