--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2007/08/07

PostgreSQL に SSL 接続

かなりハマったので備忘録。

debian@coLinux に SSH 接続し、その上で PostgreSQL をいじる。

  • 鍵と証明書
    • sudo ln -s /etc/ssl/certs/ssl-cert-snakeoil.pem /var/lib/postgresql/7.4/main/server.crt
    • sudo ln -s /etc/ssl/private/ssl-cert-snakeoil.key /var/lib/postgresql/7.4/main/server.key
  • /etc/postgresql/7.4(バージョン)/main/pg_hba.conf に以下を追加。
    • host all sysadmin 192.168.0.0/24 md5
  • /etc/postgresql/7.4(バージョン)/main/postgresql.conf の設定変更。
    • tcpip_socket = false -> tcpip_socket = true
    • ssl = false -> ssl = true
  • システム開発用にユーザ作成
su postgres
craeteuser sysadmin
データベース作成権利: y
ユーザ作成権利: n
psql template1
alter user sysadmin with password '*******';
\q

接続してみる

postgres ユーザのまま、

craetedb test_db -O sysadmin
psql -U sysadmin test_db #正しく設定を行っていないとここでエラー
\q

徹夜でがんばった。。。

引っかかったのは

host all sysadmin 192.168.0.0/24 md5

のところ。クライアント(Windows)側のIPアドレスが 192.168.24.52 で、サーバ(coLinux)側のIPアドレスが 192.168.0.40 なんていう変な構成(coLinuxのほうはデフォルトだけど)なんだけど、上記の設定ファイルに書くのはクライアント側のIPアドレスとばかり思っていたら違っていたらしい。

hostssl ~ にしたりとか、色々がんばったけど結局そこだったぽい。

設定ファイルのコメントは読むべきだということを痛感した。(少なくとも上記の部分については読んでもわかんなかったけど)。

というのも、postgresql.conf の

tcpip_socket = true
ssl = true

を設定するといいよ、っていうのは pg_hba.conf のコメントに書いてあったのだ。苦労して web で探したのに、 web では、「設定ファイルのコメントにこう書いてある」だなんて、どんだけ灯台下暗しだよと。というか自分で足元見てないだけなんだけど。

スポンサーサイト

comment

post




上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。