昨日Movable Typeを3.2から3.3にアップグレードした。milanoさんのブログ【Milano::Monolog】の【MovableType3.2から3.3へのアップグレード手順】記事を参考にして、これは比較的に簡単だと高を括っていた。
いや、確かに設定さえ間違っていなければ簡単だと思う。ところがどっこい、その基本的な設定ミスの為、随分と苦労してしまった。
何処をどう間違ってしまったのか?それはもう初歩的なことなんです。トホホ。
その前にぼくの簡単な環境を。データベースはMySQLを使用。Movable Typeのバージョンは3.2。レンタルサーバーは【さくら】。本来ならデータベースのバックアップも取るべきなんだそうだが、MySQLのデータベースのバックアップ方法を把握していないので、まあいいやと、記事の書き出しや変更したテンプレートのバックアップだけ取っておく。
Movable Type 3.3の個人ライセンスをダウンロードし、解凍。そして前述のmilanoさんのご指摘の通り、mt-config.cgi-originalをmt-config.cgiにリネーム。
そしてこのリネームしたmt-config.cgiファイル内の設定を自分の3.2のmt-config.cgiの設定に書き替えて行くのだが、ぼくの場合、設定する箇所が3ヶ所あったのだ。具体的には、
- CGIPath
- StaticWebPath
- それからデータベースの設定
何を焦ったか1と2を飛ばして3のみを記述し直して、サーバーにアップロードした。一応、cgiファイルのパーミションは変更してね。アップロードはファイルも多いせいか、結構かかりましたよ。時間にして10分前後だと思う。ぼくはFTPにTransmitを使っているのだが、表示が待機中になったのでアップロードも終了したと思ったのだが、後から考えると、一部ファイルのアップロードが完了していなかった可能性もあるかもしれない。
取りあえず完了したと思いmt.cgiにアクセスしたら、【mt.cgiパスが不明】たらどうたら。ここで冷静になってmt-config.cgiファイル内の設定を見直せば良いものを、ちょっと焦ってしまう。
運良く最近お世話になっている【Essential Concept】のoberheimさんがSkype上でオンラインだったので、IMにて助けを借りることに。直ぐに『mt-config.cgiファイル内のCGIPathの設定を忘れていませんか?』とのこと。あっちゃあー、そうでした。上述したようにデータベースの設定しか書き直してません。
そこでCGIPathの設定を書き替えてmt-config.cgiファイルのみを再アップロード。その時にStaticWebPathもあるだろうと気付よ!!そいつを忘れたがためにMovable Typeのアップグレード画面になってもアイコン画像とかが表示されていない。それもoberheimさんに指摘されるが、『後で書き替えてもいいでしょう。』とのことで続けるが、多分そのアイコンのどこかがアップグレード開始のボタンになっていたのかもしれない。一向にアップグレードしている様子が無いのだ。
二度ほどやり直したがやはり駄目。そこで中断してStaticWebPathも書き替え再度挑戦。今度はあっという間にアップグレード完了です。IM上のoberheimさんも『ようこそMovable Type3.3へ。』と祝福してくれる。
これで目出度しめでたしと行けば良かったのだが、oberheimさんに3.3の新機能Widget pluginの説明を受けた所、ぼく場合WidgetManagerなる物が表示されない。oberheimさんの指摘によるとpluginsフォルダー内のwidget-manager.cgiのパーミションがおかしいのではとのこと。そこでチェックすると、WidgetManagerのフォルダーの中が空。あれま、ファイル自体がアップロードされていないのだ。
そこでまたもやダウンロードしたファイルから別途アップロード。それでも表示されない。sfariのキャッシュを空にしてみたりしたのだが駄目。一端Movable Typeの管理画面からログアウトしてみるかと試みたら、今度は従来のログインIDとログインパスワードでログイン自体ができなくなってしまった。
どうやらIDかパスワードが書き変わってしまったようだ。ここでもoberheimさんの助けで、MySQLのDBが見れればログインIDは判るはずとのこと。そう言えば【さくら】のコンパネでphpMyAdminというのにアクセスできたはず。左ペインのmt-authorをクリックして右画面の上部メニューから表示をクリックするとauthornameというのが表示されるとのこと。
authornameはつまりログインIDは変わっていない。でもauthor_passwordつまりログインパスワードが全然違う。ところがこれは暗号化されていてMovable Typeで入力したものとは表示が違うらしい。
と言うわけでMovable Typeのログイン画面からパスワードを忘れた場合の秘密のフレーズを打込んで新しいパスワードを収得し、やっとこさログインでき、そして再度pluginsフォルダー内ファイルも確認し、そしてcgiファイルのパーミションもチェックする。先程チェックした時にはパーミションは合っていたはずなのに変わってしまっていた。この辺は何故そうなったのかは判らないが、とにかく設定し直して再度Movable Typeにログインすると無事総ての機能が表示された。ふうー。
以上が事の顛末である。この度はoberheimさんには大変お世話になった。おそらくcgiパス位なら冷静になれば後から気付いたかもしれないが、その他のことは助けが無ければ未だに奮闘していたかもしれない。
と言うことで、今回の教訓。
- アップロードは時間が掛かるが慎重に。
- mt-config.cgiファイル内の設定も見直すように。
- pluginsフォルダー内のcgiファイルのパーミションもチェック。
これからアップグレードされる方。まあ、ぼくのようなポカをする方はそうは居ないでしょうが、まずは参考までに。


大変でしたね。僕もパッケージ漏れがあったものから完全版に入れ替えるときに苦労しました。Perlのパスを書き間違えていたのですが、すべてのcgiファイルにコピペしていたので恐怖の500 Internal Server Errorが表示され続けうんざりしました。
WidgetManagerの罠には僕も嵌りました(笑) pluginsフォルダにもcgiがあるなんて「聞いてないよ〜」という感じですよね。
とにかくお疲れ様でした。
いや、本当にアタフタしました。oberheimさんが居なければどうなっていたか。
基本が判っていれば、今回のバージョンアップはかなり判りやすくなったと思うのですが。まあ、こうやって一つ一つ理解して行くんでしょうね。
お役に立てたようでなによりです:-)
WordPressから戻ってきましたが、やっぱりMovable Typeは手に馴染みますね。
いや本当に助かりました。
これからボチボチ3.3を弄って行こうかと思います。