12/19/2006

Movable Typeの移行

自宅のサーバでは、Movable Typeを使用したWeblogを動かしています。
Webのサーバを引っ越すにあたり、Movable Ttypeも移行しなければならなくなりました。
今までは、シフトJISを使っていたのですが、
Google Maps API
使うためには、UTF-8でないと動作しないことがわかりました。
そこで、引越しとあわせて、文字コードをコードも変更することにしました。

まず、移行元のサーバから、もって行く、データをそろえます。
Movable Typeのプログラムと、weblogのデータをtarで、バックアップします。
次に、データベースに格納されているデータをexportします。
%pg_dump weblog > weglog.pg

weblogは、Movable Typeのデータが、
格納されているデータベース名です。
これらのデータを移行先に、転送します。

次に、引越し先のPostgreSQLの環境を整えます。
Movable Ttypeから、データベースへアクセスできるように、
"postgresql.conf"と"pg_hba.conf"を編集します。
"postgresql.conf"では、TCP/IPを使って、データベースに
アクセスできるように設定します。

tcpip_socket = true


"pg_hba.conf"では、サーバ自身からのみアクセスできるように、設定します。

host all all 127.0.0.1 255.255.255.255 trust


データベースに、Movable Typeのデータをimportします。
でも、その前に、シフトJISからUTF-8へ、文字コードを変換します。
コード変換にはnkfを使います。Cent OS 4には、nkfのパッケージがないので、
ftp://rpmfind.net/linux/fedora/core/4/SRPMS/nkf-2.04-5.src.rpmからFedora4用のものを持ってきて、rebuildします。

# rpmbuild --rebuild nkf-2.04-5.src.rpm


移行元から転送してきた、exportファイルをUTF-8に変換します。

nkf -w weblog.pg >weblog_utf.pg

データベースを作成します。

createdb -E UNICODE --owner apache weblog

exportファイルを編集します。

SET client_encoding = 'SQL_ASCII';

SET client_encoding = 'UNICODE';


そして、ファイルのimport。

psql weblog < weglog_utf.pg


最後に、Movable Typeの設定ファイル"mt-config.cgi"を編集します。

PublishCharset UTF-8

これで、完了です。
Movable Typeにログインして、サイトを再構築してください。

0 件のコメント: