MovableType 移行作業メモ
移行作業が比較的簡単だったといってもかなりの手順を踏まないといけません。なにも資料がなかったらできなかったと思うし・・・。
というわけで参考サイトと追記メモを少々。但し、私の環境はMac OS X 10.3.3です。ジャガーなどの環境では若干異なるところがあるかも知れません。
1、環境まわりの設定をします
『超簡単 Mac OS XのローカルでCGI (SSIもPHPも)』
こちらのサイトの以下の項目を作業します。
「1.設置サーバとPerlのパスを同じにする」
「2.ユーザのSitesディレクトリ内で実行 (SSIも)」
「6.PHPも簡単」
記述通り作業すればいいと思います。
2、MySQLインストールパッケージをダウンロードします
『Server Logistics - Complete MySQL』
こちらのサイトからダウンロードしたMySQLインストールパッケージをインストーラーに従ってインストールします。現在の最新版はComplete MySQL 4.0.15です。
インストールは普通のiAppなどと全く同様に簡単です。
このあと、システム環境設定にMySQLの項目が出てくるように、PreferencePanesにMySQL.prefPaneをコピーして、環境設定からMySQLのルートパスワードを設定します。デフォルトは設定されていません。
3、MovableTypeのインストールをします。
『iBookのMovableType + Kung-Logで書いたweblogを.mac (dot mac)にシンクロする方法』
こちらのサイトの 「4.Movabletypeをインストールする」、の項目の4.1 〜4.4までを記述通り作業します。現在のMovableTypeの最新版は2.661です。
ここからが少し面倒くさくなります。
4、DBI、DBD:mysqlをインストールします。
『Mac OS X にMovable Typeをインストール(DBI, DBD::mysql他)』
こちらのサイトの 「●次は、PerlとMySQLを繋ぐ「DBIとDBD::mysql」のインストールです」、という項目を作業します。この項目の説明以前に、DBIとDBD::mysql以外のモジュールのインストールの説明がありますが、これはやらなくていいです。この項目のみ作業します。現在のDBIの最新版は1.42、DBD::mysqlの最新版は2.9003です。
DBIのインストールはこちらのサイトの記述通りにすれば問題ありません。
が、DBD::mysqlに関しては、こちらのサイトにも記述してありますがパンサーだと少し問題があります。というわけでDBD::mysqlのreadmeとこちらのサイトを参考にして以下の手順でインストールです。
例)/usr/local/srcにDBD-mysql-2.9003をダウンロードした場合
1)cd /usr/local/src/DBD-mysql-2.9003
2)perl Makefile.PL ¥
--libs="-L/usr/local/mysql/lib/mysql -lmysqlclient -lz" ¥
--cflags=-I/usr/local/mysql/include/mysql ¥
--testhost=127.0.0.1
3)perl -pi -e's/MACOSX/env MACOSX/' Makefile
4)make
5)make test
# いくつかエラーメッセージが表示されますが、無視でいいそうです
6)sudo make install
5、phpAdminをインストールします
『iBookのMovableType + Kung-Logで書いたweblogを.mac (dot mac)にシンクロする方法』
再びこちらのサイトの「4.6. MySQLを操作するためにphpMyAdminをインストールする」、という項目を作業します。
ここで、特権リンクからユーザーを追加する際、このページでは「任意のユーザ名とパスワード、およびパスワードの再記入欄・・・」とありますが、任意にユーザー名をつけるとこの先でうまくいかなかったと思うので、ユーザー名を「mt」としたはずです。
あとはこのサイトの記述通りに作業します。
6、MovableTypeの設定をします
『iBookのMovableType + Kung-Logで書いたweblogを.mac (dot mac)にシンクロする方法』
またまたこちらのサイトの「5. Movabletypen設定ファイル(mt.cfg)を編集する 」という項目を全て記述通りに作業します。
設定ファイルの編集の項目で説明されている、変更行の行数番号は若干異なるかもしれません。目安と考えて探しましょう。
7、MovableTypeを起動してBlogを作成する
『iBookのMovableType + Kung-Logで書いたweblogを.mac (dot mac)にシンクロする方法』
最後もこちらのサイトの「6. Mobabletypeを起動して設定を行う」という項目を全て記述通りに作業します。とはいえここまでくれば読まなくてもだいたい操作できます。
これ以後はローカルでエントリーを管理するソフトetco(Kung-Logはetcoと名前を変え、シェアウェアとなりました)が必要であればインストールすればいいですし、etcoがなくても十分投稿することは可能です。
8、http://localhost/~user/を.Macのアドレスhttp://homepage.mac.com/userに変換して.Macと同期をとります
『iBookのMovableType + Kung-Logで書いたweblogを.mac (dot mac)にシンクロする方法』
こちらのサイトの「8.1. localhostの内容を.mac向けに変換して、dotmaclogの中にコピーするシェルスクリプトを書く」、という項目を記述通りに作業します。
このサイトの通り記述すればとりあえず動作して正常に.Macで動作するBlogができるのですが、難点がひとつあります。
.htmlファイルなど変換対象になっているファイル内にたとえ変更箇所がなくても、コマンドsedを使用しているためいちいち全てのファイルを更新してしまうのです。その結果.Macとの同期の際、毎回ほとんど全てのファイルをアップロードの対象ファイルとしてしまいアップロードに時間がかかってしまいます。
そこで僕は安直な方法なんですが、Developer Toolをインストールしているので、/Developer/Toolsディレクトリ内にあるGetFileInfoとSetFileを使って、dotmaclogフォルダ内のファイルのタイムスタンプをmtフォルダ内のファイルの更新日と作成日のタイムスタンプと同じにするシェルスクリプトを作りました。とりあえず適当に作ったので間違いがあるかもしれません(笑)
#!/bin/bash
SRC=$1
DST=$2
/Developer/Tools/GetFileInfo $SRC | awk '$1 == "created:" {
option = "-d \""$2" "$3"\""
command = "/Developer/Tools/SetFile "option" "file
print command
command | getline
print
close(command)
}
$1 == "modified:" {
option = "-m \""$2" "$3"\""
command = "/Developer/Tools/SetFile "option" "file
print command
command | getline
print
close(command)
}' file=$DST
こいつをdatemod.shと名付けて保存して、chmod 755 datemod.shをして実行可能にします。
もとのreplace.shを変更します。
#!/bin/bash
rsync -auvz --delete --exclude=".DS_Store" --exclude="styles.css" --exclude="docs/" --exclude="images/" --stats /Users/aigarashi/Sites/mt/ /Users/aigarashi/Sites/dotmaclog/B223627666/
cd /Users/aigarashi/Sites/mt/archives
ls *.html > archives-list
sed "s/\(.*\)/sed\ -f\ \/Users\/aigarashi\/Documents\/condition\ \1\ >\ \/Users\/aigarashi\/Sites\/dotmaclog\/B223627666\/archives\/\1/g" archives-list > archives-process.bat
sed "s/\(.*\)/\/Users\/aigarashi\/Documents\/datemod.sh\ \1\ \/Users\/aigarashi\/Sites\/dotmaclog\/B223627666\/archives\/\1/g" archives-list >> archives-process.bat
chmod 755 archives-process.bat
./archives-process.bat
cd /Users/aigarashi/Sites/mt
ls *.html > main-list
ls *.xml >> main-list
ls *.rdf >> main-list
sed "s/\(.*\)/sed\ -f\ \/Users\/aigarashi\/Documents\/condition\ \1\ >\ \/Users\/aigarashi\/Sites\/dotmaclog\/B223627666\/\1/g" main-list > main-process.bat
sed "s/\(.*\)/\/Users\/aigarashi\/Documents\/datemod.sh\ \1\ \/Users\/aigarashi\/Sites\/dotmaclog\/B223627666\/\1/g" main-list >> main-process.bat
chmod 755 main-process.bat
./main-process.bat
rm /Users/aigarashi/Sites/mt/main-list
rm /Users/aigarashi/Sites/mt/main-process.bat
rm /Users/aigarashi/Sites/mt/archives/archives-list
rm /Users/aigarashi/Sites/mt/archives/archives-process.bat
aigarashiってところはおのおののユーザー名にしてください。B*****ってフォルダ名はiBlogと同じアドレスにしたかったのでこのようにしているだけです。随時変更してください。
こんな感じです。もっといい方法があると思うんですが思いつきません。簡単でいい方法があったら教えて下さい(笑)。
注意1:このサイトの元のスクリプトで一番最後のファイルを削除する部分、多分 rm /Users/aigarashi/Sites/mt ってフォルダにしないとダメだと思うんですが。
注意2:ファイルを.Macにアップロードするスクリプトupload.shを起動する前にルートユーザーにならないとエラーが出ちゃいますね。多分あんまり関係ないと思うんですが気持ち悪いので、僕はルートユーザーになってからアップロードしています。
まぁ、以上で終わりです。ほとんど他力本願でインストールです。参考させていただきましたサイトオーナーの方々ありがとうございました。








