MT3系からMT4.2にアップグレード失敗→バックアップ分で復活

先日、このブログを動かしているMovableTypeの古いバージョンを最新版にアップグレードしようとしたところ、うまくアップグレードできないままMTを壊してしまいしばらく書き込みができなくなってしまいました。
とりあえずイロイロやってみた結果なんとか復活したのでエントリ書きます。
以前からMT3.xからのアップグレードはトラブルが多いと聞いていたので特に差し支えがなければ古いバージョンのままでいいかと思ってそのままでいたのですが、レンタルサーバーの「ロリポップ!」からメールがきまして。
ウチの「mt-comments.cgi」のファイルがSPAM多すぎで負荷がかかっているのでパーミッションを変更しました(要するにコメントを書き込めないようにロックした)と連絡が・・・。
そして「最新バージョンやセキュリティ対策などのアップデートプログラムが出ていないかの確認を合わせてご検討ください。」と、やんわりアップグレードしなさいよ的なメールが来たわけです。
 
で、自信がないので何はともかくバックアップだけは取っておそるおそるアップグレードを・・・

・・・やっぱり失敗(涙)
でもバックアップを取っていたので手間はかかりましたが別の方法で再構築できました。
 
というわけで、もしや同じ状況になる予定の人がいるかもしれないのでブログに失敗した分も含めてアップグレードでやった流れを書いておきますね。もしや同じトラブルに遭って検索してくる人がいるかもしれないので。

【1.何はともあれバックアップを取る。】
アップグレード前に古いMTから「エントリーの書き出し」を利用して過去ログのtxtデータをエクスポートしておいた、っていうかここが一番重要・・・。
あとは保険で現在表示されてるHTMLファイルをFTPソフトでダウンロードしておく。
(最悪の状況でもHTMLファイルさえ表示されていれば外のユーザにはわからないので。)
 

【2.MT最新版をダウンロードしてインストールするが失敗】
MovableTypeの公式サイト経由で最新版をダウンロード。
アップグレードの手順に従ってファイルをアップロード→動かしてみるけど・・・エラーが出て前に進めない。
これは無理だと思ったのでアップグレードをあきらめる。
 
【3.別の場所に新規でMTを入れ、過去ログをインポートさせる】
アップグレードはあきらめたが、新規で入れ直せば動くだろうという事で別のディレクトリを作ってMT4.2を新規でインストール。
そこで最初に「エントリーの書き出し」でエクスポートをしておいたテキストファイルをインポートさせる。(ツール→インポート)
 

【4.過去ログは復活したが出力ファイル名が違うことに気づく・・・】
これまでエントリごとにつけていたブログの出力ファイル名(entry_basename)が引き継ぎできていない事に気づいて愕然。
http://www.hinalog.com/blog/2008/08/doala_food.html
 ↑ このURLの場合「doala_food」にあたる部分が違う名前になっていた・・・
どうやら古いほうのMTは、出力ファイル名をエクスポート時に書き込む機能がついていなかったらしい・・・。
 で、少数のファイル名だけ直すなら1ページずつ過去ログの編集で直せるのですが、数が多かったので再びMT4.2のエクスポート機能で書き出し。(MT4.2で勝手につけられたファイル名が書き込まれた状態でエクスポートされます)
 
【5.書き出したファイルの「BASENAME:」欄にもとの出力ファイル名を書き込む】
というわけで再びエクスポートしたテキストファイルを開いて「BASENAME:」の欄に1つづつ前と同じ出力ファイル名を書き込んで修正。

ここは面倒なんですが手作業で・・・全部のURLが変更になるよりマシと思って頑張るしか。
あまりにも数が多すぎて面倒な人は被リンクの多い人気エントリや「このエントリだけは同じURLで死守したい!」っていうファイルを優先的に修正していけばいいと思います。
 
【6.再び修正したファイルをインポート、ただしファイルの置き場所に注意】
手作業で修正したファイルをインポートしたら出力ファイル名も反映されて元に戻りました。
ただし、エクスポートしたファイルをデスクトップなど日本語が含まれる場所に置いているとアップロード時にエラーが出てしまって受け付けてくれませんでした。
「不正な要求です。文字コードUTF-8に含まれない文字データを送信しています。」というエラーが。これはどうやら.txtのファイル内じゃなくて、アップロードする場所の文字っぽかったです。Cドライブの直下に置いてアップロードしたら成功しました。
これの原因がわかるまでファイル内の文字コードがおかしいのかと思って何種類も文字コード別にファイルを作り直すという無駄な時間を費やしました(涙)
 
【7.アーカイブマッピングで「-」と[_」を確認する】

EntryBasename欄を正しく書き直してアップロードしたわけですが、これまた出力ファイルが微妙に違う・・・(涙)
アーカイブマッピングがデフォルトの状態で「entry-basename.html」になっていたので、せっかく書き込んだ出力ファイル目も「_」が「-」に勝手に修正されてしまい「doala_food.html」が「doala-food.html」になっていました。
「おや?」と思ったら必ずアーカイブマッピングでハイフンとアンダーバーの設定を確認したほうがいいです。
最初は原因がわからず少し焦りました。でもこれは簡単に直せますのでご安心を!
 
【8.公開パスとアーカイブマッピングを確認して再構築ができたら終了!】
新しいMTの公開先アドレス、テンプレートのアーカイブマッピングで昔のブログと全く同じになるように設定して再構築したらちゃんと元の場所に新しいファイルが上書きできていました!
 
【9.任意でテンプレート修正】
ちなみに古いMTとテンプレートの作り方が全然違ったのでそのまま引き継ぎはできませんでした。

なんだかんだでテンプレの修正が一番面倒な気がするので、テンプレ作り直しの覚悟はしておいたほうが精神的ダメージが少なくて済みそうです・・・。
最初は変更が面倒だと思いましたが、一度かえてしまえばウィジェット方式もあとあと修正が楽なので無理矢理HTMLに書き込まなくて良かったです(笑)
 
普段自分がエラーの時に検索して他のブログにお世話になっているので、とりあえず自分の場合の失敗と解決方法を書いておきました。誰かの役にたてるといいですが・・・。
そして復旧するまでに他のブロガーさんにもアドバイスをしてもらったりと本当にいろんな人にお世話になったのでそのお礼も。元に戻せたのもみなさんのおかげです、ありがとうございました(涙)

| コメント(0) | トラックバック(0)

トラックバック(0)

トラックバックURL: http://www.hinalog.com/mt/mt-tb.cgi/328

コメントする

ウェブページ

Powered by Movable Type 4.2-ja

このブログ記事について

このページは、nksmが2008年8月15日 23:49に書いたブログ記事です。

ひとつ前のブログ記事は「子供の「ブカブカな靴」が危険だというはなし。」です。

次のブログ記事は「ドアラの食パン&ドアラのアイスをサークルKで購入!」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

あわせて読みたい