MovableType 3.x の実行される Webサーバとデータベース(PostgeeSQL)サーバが、分離されている環境で、MovableType を導入するときに ちょっとハマったので、QuickHack した内容を メモとして、残しておく.
今回、問題となったのは、PostgeeSQL サーバが、 SSLを利用しないと 外部(別サーバ)から接続できない設定になっていた。
データベース(PostgreSQL)側の設定を SSL無しに変更することは、セキュリティ上無理であった。
Movable Type から SSL を使って、接続するようにするために MovableType のスクリプトで、データベースに接続している部分を探してみると MT/ObjectDriver/DBI/postgres.pm に 以下のような接続設定があった。
73行目: my $dsn = ‘dbi:Pg:dbname=’ . $cfg->Database;
74行目: $dsn .= ‘;host=’ . $cfg->DBHost if $cfg->DBHost;
75行目: $dsn .= ‘;port=’ . $cfg->DBPort if $cfg->DBPort;
その次に 76行目として、SSLを有効にするように
$dsn .= ‘;sslmode=require’;
を 追加すると 無事に Movable Type から PostgreSQLに 接続できるようになりました.