EC-CUBE4でログインパスワードを忘れた時の対処方法

EC-CUBE4でログインパスワードを忘れた時の対処方法

EC-CUBE4でログインパスワードを忘れた時の対処方法

EC-CUBE4でログインパスワードを忘れた場合は、phpMyAdminのdtb_memberテーブルでユーザー名と暗号化されたパスワードを調べます。

次にEC-CUBEのパスワードモードを「HMAC」から「PLAIN」に変更し、暗号化されたパスワードでログインできる様にします。

基本的にはDB上の暗号化されたパスワードを調べて一旦ログインし、新しいパスワードに変更する事になります。

EC-CUBE4でログインパスワードを忘れた場合

EC-CUBEで管理画面にログインする際は、ユーザー名とパスワードが必要ですよね。

このログインパスワードを失念すると、管理画面に入る事ができなくなります。

たまに焦ったクライアントから、この様なトラブルを受けます。

本記事ではログインパスワードを忘れた場合の対処方法をご紹介します。

※今回はEC-CUBE4を元に操作紹介しております。

基本的にはDB上の暗号化されたパスワードを調べて一旦ログインし、改めて新しいパスワードに変更する事になります。

データベースにアクセスする

一つずつ落ち着いて進めていきましょう。

まずは、EC-CUBEが使っているデータベース(MySQL)のテーブルデータを確認する必要があります。

契約レンタルサーバーのコントロールパネルに入りましょう。

ここではレンタルサーバーとして「エックスサーバー」を例に紹介しています。

データベース項目「phpMyAdmin」

phpMyAdminの項目

管理画面にログインしたら、データベース項目にあるphpMyAdminを探します。

エックスサーバーではデータベースを扱うソフト「phpMyAdmin」が既にインストールされています。

他レンタルサーバーでもphpMyAdminは大体準備されていますが、自分でインストールが必要な場合もあります。

レンタルサーバーの仕様を確認してみて下さい。

phpMyAdminをクリックしてログイン画面を出します。

phpMyAdminへのログイン

phpMyAdminのログイン画面

phpMyAdminにログインする際は、以下の情報が必要です。

・ホスト名
・DBユーザー名
・DBパスワード

ホスト名は既に選択されている場合があり、その際は省略できます。

DBユーザー名やDBパスワードがわからない場合は、EC-CUBE内にDB情報が記述されているファイルがあります。

以下でファイルの場所を紹介しますので、前もって探しておきましょう。

EC-CUBE4構成におけるDB情報

EC-CUBE4では、DB情報が入ったファイルは以下の位置にあります。

EC-CUBEをインストールしたTOP区画にある.envファイル

インストールディレクトリ/.envファイル

インストールされている区画のTOPにある.envファイルがそれです。

.envファイル

このファイルのDATABASE_URLの欄に、DB情報の記載があります。

.envファイル内のDATABASE_URLの欄

DBホスト・DBユーザー名・DBパスワードをコピペして、保存しておきましょう。

DATABASE_URL=SQL種類://ユーザー名:パスワード@ホスト名/データベース名
となっています。

EC-CUBE3の場合

EC-CUBE3の場合は、DB情報が書いてあるファイル位置が違います。

EC-CUBE3では以下のファイルに記述があります。

database.ymlファイルの位置

インストールディレクトリ/app/config/EC-CUBE/database.yml

database.ymlファイル

database.ymlには、以下の様な形で情報が記述されています。

database.ymlファイル内のDB情報

DB情報がわかれば、phpMyAdminへログインする事ができますね。

dtb_memberテーブルを確認する

phpMyAdminでログインし、左メニュー欄にあるEC-CUBEのデータベース名を選択しましょう。

dtbで始まるテーブルの一覧リスト

EC-CUBEが使っている、dtb_で始まるテーブル一覧が表示されます。

この中で「dtb_member」をクリックして、中のデータを確認してみましょう。

dtb_memberテーブルを開いた状態

ユーザー名とパスワードがそれぞれ格納されています。

同じ様な情報が複数行あれば、その数だけログインアカウントの種類があるという事ですね。

パスワードは暗号化されている

ユーザー名はlogin_idの欄に表示されています。これでユーザー名がわかりましたね。

パスワード部分が暗号化されている状態

それに対しパスワードは暗号化された状態なので、英数字の羅列になっていますね。

暗号化された状態ではログインに使えませんし、この情報から元のパスワードを知る事はほぼ不可能になっています。

暗号化されたままで使える様に

ですのでこの暗号化されたパスワードを、ログインに使える様にします。

この暗号化パスワードでログインできれば、管理画面から新しいパスワードに変更する事ができますよね。

パスワードは変わってしまう事になりますが、これは致し方ありません。

情報のコピー

ではテーブルに格納されているログイン情報をコピー保存していきます。

ユーザー名はそのままドラッグコピーでOKですが、暗号化パスワードの方は最後まで表示されていません。

暗号化パスワードが記載された段の左端の編集をクリック

暗号化パスワードを完全に表示させるため、該当する段左端にある「編集」ボタンをクリックします。

暗号化パスワードが全て表示されている状態

該当レコードのフィールド編集画面になりますので、暗号化パスワード欄をコピーします。

コピーしたら他は触らず、前の画面に戻りましょう。

これでphpMyAdminの操作は終了です。

パスワード入力モードの変更

次にEC-CUBEのシステム側を操作します。

EC-CUBEのパスワード入力には2つのモードがあります。

一つは通常のパスワード入力、もう一つは暗号化されたパスワード情報で入力できるモードです。

つまりEC-CUBEの設定を「暗号化パスワードのモード」にすれば、暗号化された状態のままでログインできる訳です。

メンテナンスモードにする

まずは一般のユーザーの邪魔にならない様、一時的にメンテナンスモードにします。

SSHやFTPなどを利用してサーバーに接続しましょう。

EC-CUBEのルートディレクトリに「.maintenance」ファイルを設置します。

これによりメンテナンスモードが有効になり、一般ユーザーのアクセスを遮断する事ができます。

パスワードを新しくる事ができたら、すぐにファイルを削除してメンテナンスモードを解除して下さいね。

HMACからPLAINへ

次に以下のディレクトリ位置にあるeccube.yamlファイルをダウンロードしてきます。

eccube.yamlファイルの位置

…/app/config/EC-CUBE/packages/eccube.yaml
…はインストールディレクトリ

eccube.yamlファイル

eccube.yamlファイル内のeccube_auth_typeの記述

この内で「eccube_auth_type」を探し、その値を「HMAC」から「PLAIN」に変更しましょう。

この「PLAIN」が、暗号化パスワードで入力できるモードになります。

eccube_auth_type: PLAIN

書き換えたファイルを、元のファイル位置にアップして上書きしましょう。

これにより、暗号化されたパスワードのままでログイン情報として利用できるようになります。

※この設定をした場合、逆に通常のパスワード情報ではEC-CUBEにログインする事ができなくなりますので、注意して下さい。

暗号化パスワードによるログイン

それでは先程dtb_memberテーブルでコピーした、ユーザー名と暗号化パスワードでログインします。

eccube管理画面のログインページ

暗号化されたパスワードで、管理画面に正常にログインできるはずです。

新しいパスワードへ変更

ログインに成功したら、ログインしているうちにパスワード情報を新しいものに変更しましょう。

eccube管理画面のメンバー管理で表示されるログイン情報一覧

管理画面の「メンバー管理」ページで、新しいパスワードに変更する事ができます。

新しいパスワードはきちんとメモしておきましょう。

入力モードの設定を戻す

最後に変更したパスワードが使える様、先程のPLAIN設定を元に戻す必要があります。

FTPでサーバー接続し、eccube.yamlの「eccube_auth_type」の値を「PLAIN」から「HMAC」に戻しましょう。

HMAC」が、通常文字列のパスワードモードになります。

これで、暗号化されたパスワードではログインができないモードに戻りました。

一度ログアウトして、改めてEC-CUBEの管理画面にログインしてみましょう。

新しいパスワードで正常にログインできるようになるはずです。

この記事をシェアする

人気記事

EC-CUBEシステム関連記事