なんかの雑誌みたいな見出しですが、EC-CUBEのインストールをしようとして、PostgreSQLのリモート接続ではじかれたので、対処法をメモ。
インストールのDB設定のところでこんなエラーが出たわけです。
DB Error: [nativecode=pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not connect to server: Connection refused Is the server running on host "192.168.1.xxx" and accepting TCP/IP connections on port 5432?
TCP/IP接続が許可されてねーんじゃないのということです。
EC-CUBEは、ひとつ前のバージョンをインストールしてるんですけど、どーやってインストールしたんですかね?
ググるとここ(質問 > その他 > PostgreSQLでUNIXドメインソケット接続での使用は可能か)にそれらしいことが書いてありました。
ここでは、EC-CUBEのインストーラの方にパッチをあててますけど、今回は真っ当に PostgreSQLの方をリモート接続できるようにしてみます。
さらにググって、postgresql.conf と pg_hba.conf に設定を書けばいいということがわかったので、こんな風にしてみた。
# e postgresql.conf listen_addresses = '192.168.1.3' # e pg_hba.conf host all all 192.168.1.0/24 trust
で、PostgreSQLをリスタートしたら、エラーで起動しないでやんの。
* The PostgreSQL server failed to start. Please check the log output: 2010-07-03 12:39:31 JST LOG: could not load root certificate file "root.crt": no SSL error reported 2010-07-03 12:39:31 JST DETAIL: Will not verify client certificates. 2010-07-03 12:39:31 JST LOG: could not bind IPv4 socket: Cannot assign requested address 2010-07-03 12:39:31 JST HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry. 2010-07-03 12:39:31 JST WARNING: could not create listen socket for "192.168.1.3" 2010-07-03 12:39:31 JST FATAL: could not create any TCP/IP sockets
結局、listen_addresses = ‘*’ じゃないといけなかったみたい。なにが問題なんだろうか。動くようになったからいいけど。
# e postgresql.conf listen_addresses = '*'