Top / PostgreSQL / MovableTypeのバックエンドとして使用する

MovableType?でPostgresql

MovableType?のバックエンドをPostgreSQLに変更しました。その作業メモです。
以下、MovableType?のCGIをインストールしたディレクトリを$MT_HOMEとします。

設定ファイルの変更

${MT_HOME}/mt.cfg で格納する形式をデータベースに変更しました。以下のエントリを追加しました。

ObjectDriver DBI::postgres
Database mt <-データベース名
DBUser mt <-PostgreSQLのユーザ名

認証なしでPostgreSQLにログインできるようにする。

${PGDATA}/pg_hba.conf で

# TYPE     DATABASE    IP_ADDRESS    MASK               AUTH_TYPE  AUTH_ARGUMENT
local      all                                          trust
host       all         127.0.0.1     255.255.255.255    trust

としちゃいました。

ブラウザでmt-load.cgiにアクセス

ブラウザでmt-load.cgiにアクセスしてみたらインストール時にでるおなじみの画面が表示されました。

外部サーバからの接続

上の設定だと、ローカルのみの接続しかできなかったので、

host       all         192.168.0.0    255.255.0.0    trust

みたいなんにして、外部接続可能にしちゃいました。
つながらない場合はPostgreSQLのインストールでも書きましたがpsなどでpostmasterの起動オプションに-S -iがついているかを確認しよう*1


以下、試行錯誤の作業ログ。

MovableType?でPostgresql

mt/mt.cfg は

ObjectDriver DBI::postgres
Database test
DBUser postgres

としてみた。ObjectDriver? の指定は、

mt/lib/MT/ObjectDriver/DBI/

内の postgres.pm を参照してるみたいですね。

ブラウザでmt-load.cgiにアクセスしてみたら

Connection error: FATAL 1:  IDENT authentication failed for user "postgres"

となった。どうもUNIXのログインに失敗してるのかっつうことで、

passwd postgres <- rootで実行

してみた。んで /mt/mt-db-pass.cgi にはそのパスワードを書いておいた。

  • > でもだめっ。

認証するようにする

そもそも認証なしの設定がデフォルトみたい。それを変更する。

/data/pg_hba.conf で

#local  all     ident   sameuser    <- コメントアウト
local   all     password        sameuser  <- 新規に追加

としてみた。リスタートしたら、パスワードを聞いてくるようになった。 でも、なぜかエラーになってしまう。 http://ml.postgresql.jp/pipermail/pgsql-jp/2002-December/003512.html を見てみると、 7.3 から ALTER USER でのパスワードが MD5 で格納されるようです。とのこと。

local      all                                          md5
host       all         127.0.0.1     255.255.255.255    md5

としてリスタート。したら

psql -Upostgres

でパスワードを聞いてくるようになり、指定したパスワード(?どこでやったっけ)で入れた!!

http://www.postgresql.jp/document/pg721doc/admin/auth-methods.html#AUTH-PASSWORD

http://www.hizlab.net/app/pgsec.html#login をみてみると

> psql test

でログインして

alter user postgres with password 'xxxx'

ってパスワードを変えるみたい。

ユーザの作成

createuser [USERID]

パスワードの変更

alter user [USERID] password '[PASSWORD]';

http://www.siisise.net/pgsql/index.html


この記事は

選択肢 投票
おもしろかった 1  
そうでもない 1  


現在のアクセス:8051


*1 nmap localhostでもよいですね

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-03-22 (日) 10:08:15 (5741d)