管理者のパスワードをうっかり忘れてしまった、突然サイトにログインできなくなった場合について、管理者(admin)のパスワードをリセットする方法を紹介します。当然ながら誰でも勝手にリセットできるわけではなく、データベースのユーザ名とパスワードを知っている場合のみです。Joomla!1.5および1.6で確認しました。
なお突然サイトにログインできなくなった場合は、クラックされた可能性も否定できません。できれば以前取得したバックアップを使用し、クラックされていない時点まで復元するのが確実です。
まずは「パスワードを忘れましたか?」を試す
フロントエンドでログインモジュールを表示していれば、「パスワードを忘れましたか?」のリンクが表示されているかもしれません。そこからリセットする方法を試して下さい。
ログインモジュールが表示されていない場合は、以下のURLからリセット画面にアクセスできます。
これでも駄目なら次へ進みます。
データベースを直接書き換える
phpMyadminへアクセスできるなら、データベースの中身を直接書き換える事でパスワードをリセットできます。phpMyAdminの使用方法はご利用のホスティングサービスへお問い合わせください。
phpMyadminへアクセスし、Joomla!が使用しているデータベースを選択します。表示されたテーブルの中から、xxx_usersテーブル(xxxの部分はJoomla!インストール時に入力したテーブルの接頭辞。通常はjos_users。)を探し、「表示アイコン」をクリックします。
Joomla!に登録されたユーザの一覧が表示されます。この中からパスワードを変更したいユーザを探し、行頭にある「編集アイコン」をクリックします。
データを直接編集するフォームが開きますので、「password」フィールドの値に次の文字列をコピーして貼り付けます。この文字列は「secret」というパスワードをSMD5でハッシュ化した値です。貼り付けたら「実行する」をクリックします。
d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
これでユーザのパスワードは「secret」になりました。Joomla!のバックエンドにユーザ名とパスワードは「secret」でログインし、ユーザ管理から改めて任意のパスワードに変更して下さい。