某所で、MovableTypeを3.151から3.34にバージョンアップしてみた。
面倒だから、URLを変えて(展開するディレクトリ名を変えて)、そこに新バージョンを展開して初期設定してから、元のデータを持ってきて引っ越し……という形にしてみたよ
しかし、かなり苦労したなぁ。MTって、読み込み/書き出し機能がものすごく貧弱。マjでビックリだ
とりあえず、一応成功したのでメモを。キモとしては、
*html部分(ブログの一つ一つのエントリ)は、MovableTypeの機能で「書き出し」を行い、バージョンアップ後に「読み込み」するだけでいい
*ただし、ブログのエントリ内のimgタグは、srcがフルパスで書かれているため、sed等で手動置換する必要がある
*画像ファイルなどは、archivesフォルダを手動でバックアップ、展開する
って辺りか。
■引っ越しの大まかな手順
*事前準備
0) 引っ越し元のMTにmt.cgiからログインして、メニューの「読み込み/書き出し」から、エントリをファイルとしてエクスポートしておく。さらにこの中のimgタグの画像URLを、引っ越し先のURLにsedなどで置換しておく。
→書き出しても、imgタグのsrcは元のママになっているので、引っ越し先のURLへと手動で置換する必要がある
1) 引っ越し元のMTの、インストールフォルダ直下にあるarchivesフォルダをそのままコピーしておく
*MT新バージョンのインストール
1) MT-3.34のtarボールをダウソして、引っ越し先のディレクトリに展開する
2) MovableTypeインストールガイドに従って、mt-config.cgi-originalをmt-config.cgiにリネームして中身を書き換える
*引っ越し元データのインポート
1) archivesフォルダを引っ越し元のMTからコピペする。ただし、archives/2006/02などHTMLが格納されている部分は、後でエントリを「読み込み」させるので必要ないから消しておく(JPGなど画像だけ残しておけばいい)
2) mt.cgiからログイン、初期設定。
3) First blogを選んで設定を行う。ブログ名、ブログURLなどを設定しておく
4) メニューの「読み込み/書き出し」から、書き出しておいたファイルをインポート→全てを再構築する。
とりあえず、これで上手く行った。
■その他問題点
MTをバージョンアップしたら、画像やエントリなどのデータが、archivesフォルダではなくMTをインストールしたディレクトリ直下に保存されるようになってしまった。
他のblogでもちらほら書かれており、MT3.2以降の仕様のようだ。
*MT3.1では
2007年3月のエントリ → MT/archives/2007/03 の下に保存された
画像ファイル等のデフォルトアップロードパス → MT/archives
*MT3.3では
2007年3月のエントリ → MT/2007/03 の下に保存される
画像ファイル等のデフォルトアップロードパス → MT/
だから、インストールしたディレクトリ直下がものすごい散らかる……なんでarchivesフォルダを作るのをやめたんだ?? ちょっと画像アップロードしただけで、もうグチャグチャだよ。
そもそも、なんでコア部分のCGIプログラムが置かれている所と、ユーザがアップロードする*.JPG等を、同じディレクトリ(しかも、アプリのルートディレクトリ!!)に保存させるように変更したのかと。
声を大にして言いたいが、これはゴミのような仕様である。
何をどう考えると、バージョンアップでこういうゴミ設計になってしまうのか、逆に教えて欲しいところやね
最近のコメント