スポンサーリンク

Local by Flywheelで作ったサイトのDBパスワードを変更したらAdminerにログインできなくなった件

2023年3月17日

 こんにちは、その日暮らしです。

 Local by Flywheelで作ったサイトのDBパスワードを変更したらAdminerにログインできなくなりました。

 結果としては、回避策は見つかったのですが原因究明には至りませんでした。

 需要があるかどうかわかりませんが、今回の体験談を記事にしてシェアしておきたいと思います。


事の発端

 事の発端は、「Local by Flywheelで作ったサイトのDBパスワードを変更したい」でした。

 というのも、Local by Flywheelでサイトを作るとDBのユーザ名は「root」、パスワードも「root」になってしまうのです。これではあんまりですよね?

 世の中にも同じように不満に思う人はいるようで、Local by Flywheelのサポートには以下のような質問が寄せられています。

↓「DBのデフォルトのユーザ名とパスワードが"root"になっているのはかなり馬鹿げています。」

↓「インターネットに接続している環境でDBのユーザー名とパスワードを"root"に設定してアプリケーションを起動するのは非常に良くないことです。DBのパスワードを変更するにはどうすればよいのでしょうか?」

 これに対してLocal by Flywheelのアーキテクトらしき人からは、「何が問題なのか?」とか、「インターネットから隔離されているんだからポートフォワーディングやトンネリングなどを構成しない限り問題ない。」といった回答がなされています。

 とはいえ、インターネットから直接DBにアクセスできなくともLocal by Flywheelがインストールされているパソコンに侵入してきたマルウェアからはHTTPでDBにアクセスできるわけで、やっぱり、簡単すぎるパスワードは「馬鹿げた」ものだと私は思います。

DBパスワードを変更してみる

 なので、DBのパスワードを変更してみます。

 データベース管理画面Adminerを開きます。

 「SQLコマンド」をクリックします。

「SQLコマンド」をクリックする。

 SQLステートメント「SET PASSWORD = 'hogehoge'」を実行します。ここでは、DBのパスワードを「hogehoge」に変更しています。

SQLステートメント「SET PASSWORD = 'hogehoge'」を実行する。

 変更したDBのパスワードに合わせてwp-config.phpを変更します。

/** MySQL database password */
define( 'DB_PASSWORD', 'hogehoge' );

DBパスワード変更後の確認

 で、WordPressの管理者画面を開いてみます。

WordPressの管理者画面を開いてみる。

 正常に開きます。

正常に開く。

 Adminerを開いてみます。

Adminerを開いてみる。

 いままでワンクリックで開けていたAdminerですが、ログインを求められるようになりました。これはこれで不思議なことではありません。

いままでワンクリックで開けていたAdminerがログインを求められるようになる。

 がしかし、正しいDBのユーザー名「root」とパスワード「hogehoge」を入力してもログインが失敗してしまいます。

正しいDBのユーザー名「root」とパスワード「hogehoge」を入力してもログインが失敗する。

 なぜ?

回避策

 試しに、別途Adminerをサイトに設置してみます。せっかくなのでAdminerの公式サイト(https://www.adminer.org)から最新版をダウンロードします。この時点では、最新版は4.8.1でした。

Adminerの公式サイト(https://www.adminer.org)から最新版をダウンロードする。

 ダウンロードしたファイルadminer-4.8.1.phpをサイトのルートにコピーします。ちなみに、Adminerはたった1つのphpファイルで実装されています。

ダウンロードしたファイルadminer-4.8.1.phpをサイトのルートにコピーする。

 サイトのURLの末尾に「/adminer-4.8.1.php」を追加してAdminerを開きます。ログインを求められたら正しいDBのユーザー名とパスワードを入力します。

サイトのURLの末尾に「/adminer-4.8.1.php」を追加してAdminerを開く。ログインを求められたら正しいDBのユーザー名とパスワードを入力する。

 ログインは成功します。

ログインは成功する。

 うーん、なにがいけないんだろう?

他にやったこと

 ちなみに、フォルダC:\Users\<ユーザ名>\AppData\Local\Programs\Local\resources\extraResources\adminerにindex.phpとadminer.phpが存在し、Local by FlywheelのGUIからAdminerを起動したときにはこのindex.phpが呼び出されるようです(たぶん)。

フォルダC:\Users\<ユーザ名>\AppData\Local\Programs\Local\resources\extraResources\adminerにindex.phpとadminer.phpが存在する。

 このindex.phpが今回の現象に関係してるのではないかと思いadminer.phpの方を直接呼び出してみたのですが、相変わらずログインできませんでした。

index.phpが今回の現象に関係してるのではないかと思いadminer.phpの方を直接呼び出してみたが相変わらずログインできない。

 回避策は見つかりましたが、結局原因はわからずじまいです。

 どなたか原因がわかる方は教えてくださいね。

 なお、セキュリティ上の観点から、サイトのルートに置いたファイルadminer-4.8.1.phpは用が済んだら削除しておいたほうがよいです。


以上、「Local by Flywheelで作ったサイトのDBパスワードを変更したらAdminerにログインできなくなった件」でした。


この記事を書いた人

プロフィール

 その日暮らし

 こんにちは、その日暮らしです/地方国立大理系院卒→大手大企業就職→ソフト開発二十年超→メンタル壊して退職→ちょっと回復→資格取得頑張る(簿記3級と応用情報は合格でデスペはギブアップ)→コロナ禍で再就職無理→離婚orz→実家へ出戻ってこどおじ化(笑)→WordPressの勉強のためブログに挑戦/そんな訳でブログは始めたばかりですが日々いろんなことを試して得た知識を投稿していこうと思ってます/以上