| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
前回の続き。
私的なメモ用のblogのために運用していた「MovableType」を移行した。MovableTypeのverは2.64で、これをPostgreSQLと噛ませて動かしていた。PostgreSQLのverは7.2。
MovableType本体の移行は容易で、ディレクトリ構造を壊さないように移動してきてやればそれでOK。問題はPostgreSQLのデータをどうやったら移行できるかだが、調べてみるとpg_dumpallというコマンドが用意されており、これを使えばデータベースに格納されているすべてのデータをスクリプトとして書き出すことができるらしい。……だが、すでに我が自宅サーバは新しくインストールしたFedoraが立ち上がる状態になっている。pg_dumpallを走らせるにはPostgreSQL本体が動いている必要があり、そのためには古いVineLinuxなシステムを立ち上げるためにハードディスクを組み替えたりなんだりしなくてはならない。じつに面倒くさい。PostgreSQLのデータは/var/lib/pgsql/data以下に置かれるので、単純にこれを置き換えてなんとかならないかと思ってやってみるが、どうもうまくいかない。当たり前か。大人しくハードディスクを組み替えたりなんだりして古いシステムを立ち上げ、/etc/rc.d/init.d/postgresql statusでPostgreSQLが起動していることを確かめてから、
$/usr/bin/pg_dumpall > postgres.data
でスクリプトをファイルに書き出す。で、ハードディスクとかの構成を元に戻してFedoraを立ち上げて、同様に/etc/rc.d/init.d/postgresql statusでPostgreSQLが起動していることを確かめてから、
$su postgres
$createdb blog
でデータベースを作成(上のコマンドのなかで、"blog"のところは環境に依る。移行前のデータベースの名前を設定する)。作成したデータベースにpg_dumpallで書き出したスクリプトを適用。
$pgql blog < postgres.data
これでPostgreSQLのデータの移行が完了。
続いてapacheの設定ファイル(/etc/httpd/conf/httpd.conf)をいじる。Fedora Core 2はデフォルトの設定ではcgiが使えないようになっている。これを修正してcgiを使えるようにしてやるには、httpd.confの次の2行のコメントをはずす。
#AddHandler cgi-script .cgi
#AddHandler send-as-is asis
httpd.confには、ついでに手を入れておくべき項目がある。デフォルトの状態だと、日本語がことごとく化けてしまうので、これを直しておいた方が良い。先ず、"AddDefaultCharset"に"off"を設定する(コメントアウトしても構わない)。また、"LanguagePriority"では"ja"を一番まえに持ってくる。これで文字化け対策もOK。
もう一つだけやるべきことがある。日本語版のMovableTypeを使っているなら、mt.cgiを実行するとJcode.pmが無い旨のエラーが出る。そこでMCPANを使って、
$perl -MCPAN -e "install 'Jcode'"
でJcode.pmをインストールする。MCPANの起動が初めてだと、設定事項をいろいろと尋ねられる。いちいち答えるのが面倒ならすべてリターンを押してかまわない。
これでMovableTypeの移行が完了。めでたしめでたし。

