中級者以上でも気づきにくい落とし穴があった
いやぁ~参りました・・・
私はワードプレスをかれこれ7年以上触ってきて
少なくとも初心者では無いと自覚しています。
これからお話するのは実話です。
今ご覧になっているこのサイトに関することです。
まさか自分が!・・・といったような焦りまくりの
トラブルに見舞われ、それがやっと回復できたのですが
そのために正味3日間ほど費やしました。
そのトラブルとは、
IDもパスワードも正しいはずなのにワードプレス管理画面に入れない
パスワードをお忘れになりましたか?で管理用メールアドレスも無視される
という深刻な状況のことです。
ネットで調べてみると私が陥った
同じ原因によって同じ状況になった人が多くいることも知りました。
またその対処方法もネット検索で、
『とりあえず』版と『根本対策をする』版と
二通り突き止めることもできました。
しかし『とりあえず』版では、私の場合は上手くいきませんでした。
恐らく上手くいくケースは、環境・条件が限られているのだと思います。
よって、『根本対策をする』版を選ばざるを得なかったわけですが
これもネット検索した情報だけでは不十分でした。
最新情報でなかったために、手順にかなりまごつきました。
データベースを触るため、うかつにあいまいな情報を頼ることも怖い。
正確に対処方法を理解するために
サーバー会社(XSERVER)に問い合わせして
やっとのことで事なきを得ました。
この記事では、その顛末とともに
初心者のみならず誰でもはまりやすいそのトラブルと
最新且つ信用に足る対策方法をご紹介します。
"信用に足る"と言っているのはサーバー会社からの
情報を生のまま開示していることと、
この情報はサーバー会社が異なる場合でも
考え方としては原則、使える方法だからです。
Wordpressアドレスとサイトアドレス
ワードプレスにログインしたのち、
ダッシュボード管理画面>設定>一般と進むと
Wordpressアドレス(URL)とサイトアドレス(URL)を
記載する箇所があるはずです。
ここです。
(とりあえず今はURL伏せてますが気にしないでください。)
今、普通にワードプレスを使ってブログやホームページを
運営しているならば・・・まず
Wordpressアドレスとサイトアドレスは一致しているはずです。
なんでこうわかりにくいアドレスがあるのだろうと
思われたかもしれません。
かく言う私も全然気にしていませんでした。
ワードプレスを始めたときに設定したまんまだったし。
恥ずかしながら、ごく最近になってその意味を正しく知ったのですが
WordPressアドレス(URL) とは、Wordpressをインストールしたディレクトリーのことで
サイトアドレス(URL) とは、その場所にアクセスするためのアドレス
とのことです・・・
だからなんですね、前記の図のすぐ下に
サイトのホームページとして
『WordPress のインストールディレクトリとは異なる場所を設定する場合は、
ここに(←リンク先あり)アドレスを入力してください。』
と注釈がついているのは。
気にしていなかったので無視してました(笑)
話が長くなりそうなので、ここでトラブルの正体を
申し上げておきますと、その注釈無視のまま
WordPressアドレスとサイトアドレスに異なるURLを
記載して設定を保存するとどうなるか・・・
現象としては、即座にログアウトします。
つまりおなじみのログイン画面が表示されます。
ここからなんですね、冷や汗が出た思いをしたのは。
焦りまくりの理由は単純です。
いつもIDとパスワードでログインできなくなった。
さらにパスワード再設定のための管理用メルアドも
一切無視されたからです。
なぜWordpressアドレスとサイトアドレスに異なるURLを?
このことをお話ししておくべきかと思います。
先ほど、Wordpressアドレスとサイトアドレスは
今まで同じものを設定していたと書きました。
それなのになんでここをいじったのか?
というかこれらのアドレス意味を深く考えずに
いじったのか?というのはちょっとした理由がありました。
先だってサイトをSSL化しておりました。
httpをhttps化しておりました。
このタイミングでXSERVERから
CoreSSL認証シールもいかがですか?
今はキャンペーンでお得です。
といったキャンペーンメールが来たのです。
これ何かというと、いわば第三者機関の
お墨付きをひとつもらうようなものです。
このシールをクリックするとご確認いただけますが
今ご覧になっているページのトップ右にも
CoreSSLのラベルを貼ってあります。
結果として、第三者機関の認証を取得できたわけですが
そのプロセスで、Wordpressアドレスとサイトアドレス
ここをいじる必要があって・・・
つまりWordpressアドレスとサイトアドレスに
うかつにも異なるURLを記載して保存したのです。
ハッキングされた?Display Widgetsプラグインの悪夢
保存ボタン押したその瞬間にログアウトしました。
あー、これはきっと通常のセッションタイムアウトだろうな
と思っていました。
たまたまURL記載し保存したまさに同じタイミングで、
セッションタイムアウトが発生したのだろうと。
それは大間違いでした。
いつものようにIDとパスワードを打ち込んでみると
それは間違いだというメッセージが。
間違ったかなと思って繰り返しても同じ・・・
おかしい・・・
間違えているはずはないんだが・・・
仕方ないので、パスワード再設定用に
管理用メルアドを入力してEnterキーを
押すものの・・・無反応です。
さすがにこの状況で一気に血が引いてきました。
もしかしてサイトをハッキングされたのではないか?
そんな疑念がよぎってきたのです。
それはまったく根拠のない疑念ではなく
ひとつだけ気になっていたことがあったからです。
実は、Display Widgetsというプラグインを気にしておりました。
Display Widgetsは、特定の記事や固定ページ、カテゴリーなどに
該当するウィジェットの表示・非表示を制御できる
とても便利で有名なプラグインでした。
(プラグイン日本語名:ウィジェットを表示)
しかしある時、このプラグインにマルウェアが仕込まれている
ことが判明するという事件があったのです。
今はこのプラグインはワードプレス管理画面から
検索もダウンロードもできなくなっています。
その後、ver2.7としてマルウェア除去されたものが
いくつかのサイト経由で(ワードプレスからでなく)
公開されていることまでは把握していました。
代替プラグインも探せばあるのですが
インストールし再設定が面倒です。
自分の管理画面でDisplay Widgetsは確かver2.7だったはず・・・
そのようにうろ覚えだったので確認したいわけですが
ログインができないのでどうしようもありません。
ただここであきらめるわけにはいきません。
FTPでサーバーに接続できたので
display-widgets.phpをダウンロードして
開いてみると、しかとver2.7とあってホッとしました。
(Wordpressではwp-content>pluginというフォルダーが
生成されるのでそこにすべてのプラグインが存在します)
ということで一応乗っ取られたという心配はなくなったものの、
ログインができない状況には何ら進展がないままです。
ログインできなくなった時の暫定対策効果は?
原因(発端)は明確です。
Wordpressアドレスとサイトアドレスに
異なるURLを登録するとログインできなくなるのです。
ネット上で調べてみると、暫定的、とりあえず仮の対策
として簡単な方法を見つけることができました。
wp-config.phpにちょっとだけ手を入れることで
ログインだけはできるようになる、という方法です。
wp-config.phpはワードプレスがインストールされている
wp-adminやwp-contentフォルダーと同階層にあります。
検索するとこの方法が軒並み出てきますが
ここではご紹介しません。
この暫定策でうまくいくケースもあるようですが
私の環境では何度やってもダメでした。
(ログイン画面すら表示されなくなります)
よってお勧めできません。
wp-config.phpを修正する対策は
ダメなケースもあることが散見されていて
ここでは根本対策のほうをご紹介します。
根本対策のほうも検索すると出てきます。
しかしこれまで調べたところでは
曖昧な部分があることもわかり
その情報をみて行動を起こすには
少しビビッてしまう可能性もあります。
なぜならデータベースを直接触るため
正確な手順が欠かせません。
データベースを触っておかしくなると
限りなく泥沼に入り込んでしまいますので
ここではXSERVERに限定した正確な情報を
お伝えしたいと思います。
ログインできなくなった時の根本対策(XSERVER版)
根本対策としてデータベースを書き換えるのが
唯一の方法ですが、XSERVERご利用者にとっては
「完全版」とも言える方法をお伝えします。
完全版と言い切れるのは、XSERVERサポート担当者と
何度もやりとりを繰り返して確認した内容だからです。
(2018年7月時点での確認内容です)
手順1:データベース情報の確認から
FTPを使いサーバー上の
[該当するドメイン/]→[public_html]フォルダ内にある
【wp-config.php】ファイルの内容を確認します。
[該当するドメイン/]とはあなたがワードプレス用に
使っているドメインのことです。
当サイトの例では、[ifrv.net/]になります。
【wp-config.php】ファイルをデスクトップなど
適当なところへダウンロードして
terapadなどのエディターで開きます。
(Windowsのメモ帳は使えません)
そうすると以下のようなMySQLに関する記述があるはずです。
MySQL のユーザー名とパスワードを控えておきます。
手順2:MySQLにログイン
次にXSERVERの「サーバーパネル」にログインします。
そうすると、下図のような表記があるはずです。
この例では『phpmyadmin5.0』または『phpmyadmin5.5』
とありますが、このいずれかをクリックしてください。
(ワードプレスをインストールした際に作ったデータベースを選択)
そうすると『phpmyadmin5.x』のログイン画面が
表示されるので手順1で控えたMySQL のユーザー名とパスワード
を使ってログインします。
手順3:phpmyadmin内での操作
phpmyadminの画面左部にあるワードプレスインストール時に
設定したMySQLデータベースを選択します。
画面左部より「wp_options」テーブルを選択して
「構造」が表示されますのでタブで「表示」へ切り替えます。
idの2箇所(option_value の値)を同じURLに変更して保存する。
option_name:siteurlとhome option_name: homeの
option_value 値のことです。
(私の場合は、wp2_optionsを選択)
鉛筆マークをクリックすると編集可能になり、
本来定義すべきURLを2つとも同じにして保存します。
これと(↑)、home option_name: homeのほうがこれ(↓)
以上でやっとワードプレス管理画面に今までと
同じようにログインできるようになるはずです。
ここで細かいことながら、XSERVERサポート担当と
何度も確認した話がありました。
まず2番目の「wp_options」というテーブル名ですが
当サイトの場合ではこのままの名称は存在せず
「wp1_options」「wp2_options」と二つありました。
諸経緯があってこの状態になったのですが
今回該当するのは「wp2_options」のほうでした。
そのことに気づくまで時間もかかってしまいました。
何分私は、ブログを書くことについては慣れましたが
サーバーやデータベースの専門知識はありません。
私と同じように悩む方が必ずいらっしゃるはずです。
もうひとつ、
option_name:siteurlとhome option_name: homeは
連続して表示されているのかと思っていましたが
ずいぶん離れたページに記述されていました。
(上の図ではoption_idが37で2ページ目にありました)
「wp2_options」の表示タブで同じ画面上に
定義されているものとばかり思いこんでいたので
探し出すまでにまた時間かかりました。
option_idにて番号がそれぞれ
option_name:siteurlとhome option_name: homeにも
ついているわけですが、この番号は一律ではなく
変わる要素があることもこの対策を通じて
理解できたことでした。
XSERVERだから早く復活できたそのワケとは
今回、サポートについてこれなしでは難しかったことがあるのです。
XSERVER(エックスサーバー)のサポートには感銘を受けました。
レンタルサーバーとして国内では人気No.1ですが
やはり是非お勧めしたいと思った体験もできました。
XSERVERのサポートには通常のメールサポートのみならず
電話対応もあるので利用者や利用検討している人にとっても
安心材料になるはずです。
ただサポートは基本的に平日10時から18時まで。
これは他のサーバー会社でも似たり寄ったりです。
ただ私のログイン不可問題は、日曜の夕方に発生し
藁をも掴む気持ちでサポートフォームへ相談したのです。
そうしたところ、驚くべきことに約3時間後
日曜の21時前後に対応方法についての
アドバイス内容が送られてきました。
これにはさすがにビックリ!
サポートメンバーは会社にいるのか
それ以外の場所にいるのかは知る由もありませんが
まるで休日出勤で残業してくれてるような
そんなありがたい気持ちになりました。
その後、連続していくつかの質問などを
メール返答したわけですが、月曜の朝9時前には
サポートチームの別の方からその返事ももらいまたビックリ!
公式のサポート時間開始前の時刻なので
嬉しかったです。
さらにいくつかの質問を投げてみたところ
それぞれ数時間以内に都度返事をもらいました。
返事をくれた人は、毎回別の人でしたが
問い合わせ番号に紐づいている内容を
全部理解して的確な返事をくれました。
もともと出発点はCoreSSLシールを
貼りたいということから、私の管理画面での
操作ミスで発生したログイン不可問題でしたが
丁寧に最後までフォローしてもらい感激です。
サーバーはこれまでロリポップ、さくらサーバー始め
XSERVER以外にも数社利用してきましたが
サポートの速さ、正確さではピカイチではないでしょうか。
ちょうど性能強化のアナウンスをもらったばかりで
2018年7月下旬には爆速になりそうです。
XSERVERのメンテナンスは通常はMAX数秒ですが
今回は数時間かかるらしくここまでの大改修は
初めてではないかと期待しているところです。
まとめ
WordPressアドレスとサイトアドレスを間違って
記入、保存したためにログインできなくなった場合、
データベースを修正することで解決可能です。
(唯一の解決手段です)
XSERVERの場合は、手順1~手順3まで
慎重に正確に行うことで確実にログイン可能な
状態に復帰できます。
XSERVERのサポートは感激モノでした。