Movable Typeでログインできなくなりました。

しばらく前、ブログに書き込みができなくなりました。レンタルサーバでMovable Type 3.33日本語版を使っております。
自分の記録用として書き込みをします。
同じような症状を経験された方々の参考になればよいかな、とも思ってます。
夜中にブログをアップデートしたある日(2007年1月10日)、過去のエントリーに「投稿できない・カキコできない」といった指摘があった。
なんのこっちゃろう、と思ってあまり気に止めなかったが、後でMovable Typeにログインしようとしたら、「404 – File Not Found」の文字が・・・。
よく観察すると、mt.cgiからmt-update.cgiへ転送してるんだけど、Movable Type 3.33のアップデートを終えた後、すぐに削除したのでサーバー上にあるわきゃない。
そしてmt-update.cgiをアップロードしたら、ユーザーの入力画面になり、ユーザー名とパスワードを入れると「ログインできません」の文字が・・・。
候補はいくつかあった。とりあえず思いついた順に書くと:
1)レンタルサーバのアップグレード、または修理中
2)ブログのデータベースファイルの不具合
3)人がエントリーに返信したのがオレの投稿とほぼ同じ時間だったため、同時に処理しようとしたためパンクした。
4)ハッキング
そこで候補を考えながらHPで検索。この間にサーバのプロバイダに質問を投げかけておく。
まず最初にSixapartのMovable TypeのKnowledge Baseを参照。
http://www.sixapart.com/movabletype/kb/authors/invalid_login.html
ここではログインできない時の対処法の数々が書いてある。
そのHPから、「サーバの変更やサーバのアップグレードでBerkeley DBのデータベースは対応しない場合がある」と書いてあるページへ。
http://www.sixapart.com/movabletype/kb/databases/converting_berk.html
(日本語での説明もありました)
http://bizcaz.com/archives/2006/08/02-065216.php
(DBをアップグレードするPerlスクリプトがあります)
http://www.masahiko.info/blog/archives/000833.html
Berkeley DBのデータファイルを更新する必要があるそうだ。ただし、これはコマンドラインに入力しなければいけない(db_upgradeなど)のでTelnetやTeraTermでログインする必要がある。
だがウチのレンタルサーバはTelnetを許可していない。セキュリティ上の問題もあるのだろう。
それと同時に返事が。「サーバはアップデート中です」と。
じゃあしばらく待てばブログは使えるのね。でもアップデートしなきゃいけないかもなのね。
こういう時にBerkeley DBの脆弱性が出るので、以前からMySQLに変えようと思っていたのに・・・。さぼっていたからこういう目にあうわけね・・・。とほほ。
ま、サーバが復旧するまでちょっと勉強しておこう、と思ってまたWebを検索する。
http://www.ec-blog.com/04movable_type/000060.html
http://bizcaz.com/archives/2005/12/27-022704.php
http://code.as-is.net/wiki/MT_Database_Converter.ja_JP
おー、なんか色々とやり方があるのね。MT備え付けのmt-db2sql.cgiを使う方法と、もっと柔軟なmt-db-convert.cgiを使う方法。
しかし、そもそもMySQLに移行するためにはMySQLのアカウントと持っていないといけないんです。ワタクシ持っていないんです。サーバに問い合わせると、ものの5分で「アカウント作りました」の返事が。はや。
そんなこんなしてる間にサーバが復旧しました。恐る恐るmt.cgiにアクセスすると・・・
ログインできちゃいました。
ばんざーい。めんどくさいことしなくていい~♪
でもやっぱりBerkeley DBだと不安なのでMySQLに移行することに。
mt-converter.cgiを使って、DBから全部MySQLへ。
mt-config.cgiをいじって、MySQLで格納させるようにした。
晴れて、移行成功♪
※今回の教訓:
1)オレはログインできなくなってとても慌てました。今の時代、何か不具合があった時は必ずといっていいほど他の人が経験している。そのためネットでの検索は不可欠。今回の場合、慌てず待っていれば普通にサーバが復旧したということ。
2)データのバックアップはこまめにすること。今回は運良く復旧したが、最後のバックアップが三ヶ月前だったのがハラハラの元でもあった。
※※大分後になって、発見したHP。一応考えられることを簡単なものから紹介しており、最終的には「HTMLファイルから復旧」という荒作業。
http://minic.press.ne.jp/blogs/web/000064.html
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
参照したHPの数々。
SixapartHP(不明なログイン) http://www.sixapart.com/movabletype/kb/authors/invalid_login.html
SixapartHP(Berkeley DBデータベースのアップデート) http://www.sixapart.com/movabletype/kb/databases/converting_berk.html
Masahiko Isshikiさんのブログ(サーバー移行でMTにログインできなくなったときの対処方法) http://www.masahiko.info/blog/archives/000833.html
bricklife.weblog.*(HTML から weblog を復旧する方法) http://www.bricklife.com/weblog/000604.html
商用BLOG専門店(使用中のMTをBerkeley DBからMySQLに移行する) http://www.ec-blog.com/04movable_type/000060.html
MovableType備忘録(再構築するとエラーになってしまう) http://bizcaz.com/archives/2006/08/02-065216.php
MovableType備忘録(MovableTypeでBerkeleyDB、SQLiteからMySQLに移行する) http://bizcaz.com/archives/2005/12/27-022704.php
Ogawa Code(MT Database Converter) http://code.as-is.net/wiki/MT_Database_Converter.ja_JP
minicpress*(Movable Typeにログインできなくなった場合の対応方法) http://minic.press.ne.jp/blogs/web/000064.html
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

タイトルとURLをコピーしました