大変恥ずかしながら、MovableType の管理パスワードを忘れてしまってえらいことになったのでその顛末を記録。
MovableType の管理パスワードって一度記憶させると期限1年のcookie が発行されるみたいで、何も考えずそのまま1年間パスワードを入れずに運用するとパスワードを忘れてしまう、ということが1年前にありました。えぇえぇ。で、その時も何とかパスワードを強制リセット(方法は後述)、それからあっという間に1年がたち、そしてまたパスワードを忘れた。何故だ。
...確か昨年、教訓として(自分的に) 大変分かりやすいパスワードを付けたつもりだったのですが、「確かこれだったはず...」 を数種類試してみるも、何故かことごとく弾かれてしまって、こんな時のパスワードリセット!! とリンクをクリックしたものの何故か画面が遷移せず、リトライしまくってとうとうロックアウトされる始末。
幸い、システムとMySQL の管理パスワードは分かる状態なので、ロックアウトされてもそれは何とか解除できたのですが、もちろんそれは根本解決ではないわけで。
こういうとき、ググるとまず出てくるのがMT-Medic ってやつなのですが、MT5 でも動いたという情報があったりするものの、残念ながらうちの環境では動かず。
で、前回(1年前) は「別のMT 環境を作成し、パスワードのハッシュ文字列をそのままコピーして強制的にパスワード変更」 て方法を使ったので今回も同様に...と思ったのですがこれも失敗。何故だ。ちなみに1年前の環境はMovableType 5.14、今回はMovableType 5.2.2(微妙に古い) でした。推測ですが、おそらく、途中のどっかのバージョンで環境固有の何かを使ってハッシュ化するようになったっぽい? そのほうがより安全なので良いのだけど。
静的構築なのでいちおうhtml ファイルも残っているし、今あるものは現状のまま、新たに作り直すか、折角ならWordPress でやるか、などと考えてたのですが、もう一生パスワードが分からない、というのも大変に気持ち悪い。ということでもうちょっと何とか出来ないかと、まずはMovableType 5.2.2 のファイルを上書きしてみたのですがパスワードリセット復活せず。
次に、5.2 系では最新のMovableType 5.2.9 で同様にファイル上書きしたところ、無事パスワードリセットのページを開くことが出来、、登録していたメールアドレス宛にメールが届きました。...しかし、アップグレード処理はログインしないと進めることが出来ず、アップグレード処理が終わらないことにはパスワードリセットのページも開かない、という堂々巡りが発生し、結局またMovableType 5.2.2 に戻してパスワードリセット、でまたMovableType 5.2.9 にアップグレード、という泥縄な方法で何とかなりました。
今回得た教訓は、パスワードリセットの動作確認(ちゃんと登録メールアドレスに届く、パスワード変更が出来る) は必ず事前にやっておくこと、これが動かなかったら完全に詰む。ということ。皆様もお気を付けて。