ワードプレスサイトを運営する上で管理者さまはさまざまなプラグインを活用なさっているかと思います。
そのプラグインの一つに「All in one wp security」というセキュリティに関するプラグインがあり僕もインストールしていました。
たまたま何かの検索で偶然「接頭辞」をデフォルトから変更することでセキュリティーレベルを上げることができると言う記事を拝見いたしました。
そこでぼくは「よくわからんけどやってみるか」の軽い気持ちで先ほどのプラグイン「All in one wp security」から接頭辞を変更した事がキッカケでエライ目にあいました。
具体的な症状としてはは常時SSL化に設定変更したサイトが非SSLとなってしまい無知で場当たり的なアプローチが大好きな僕はどういうワケかワードプレスの一般設定で変更できる「URL」を書き換えてしまうという大チョンボをやらかしログインできなくなってしまったのです。
SSL化への変更にあたっては苦労して失敗しての繰り返しで「やっとこさ」の想いでSSL化に対応し累積の投稿記事数も100記事にまで辿り着いた矢先のこの出来事は辛く悲しいものでした(もとはと言えば自分が招いたことだ!)。
嘆いていても仕方ないので復帰に向けて対処するにあたりお世話になっている「アクセスUP塾」の塾長さまに泣きつき本来なら塾のサポート外の事案でしたが解決方法を指南した記事を紹介して頂きどうにかこうにか解決できた次第です。
そこで今回は反省と記録のためにこのブサイクな顛末をみなさまに晒してみたいと存じます。
まずは最初の余計なコト「接頭辞(prefix)」変更
冒頭でも述べました今回のトラブルのキッカケはこの接頭辞の変更をロクな知識もないくせにちゃんと調べもせずに作業したことが全ての始まりです。
一般的に接頭辞を変更する必要としてはセキュリティを高める観点が一番のメリットとされています。
今回僕は自分の知識不足が原因でテキトーに接頭辞を変更し「ワケわからん」状態になりましたが意図して変更するのであればもちろん不正アクセスを防ぐ意味のある行為だと存じます。
しかしそれなりの知識と対応力は必要になるのでワードプレス初心者さまなどはスルーされた方が無難かと思います。
ちなみに接頭辞はprefix(プレフィックス)とも呼ばれていますが、現在のプレフィック名を確認する方法としてはサーバーのコントロールパネルに入りファイルマネージャーにconfig.phpというデーター内に「$table_prefix = ‘◯◯_’;」という◯◯の部分が接頭辞に該当します。
接頭辞(prefix)を変更する方法としては超カンタン!(変更は自己責任でお願いします)。
プラグイン「All in one wp security」の設定からDatabase Securityに入ります。
その中にGenerate New DB Table Prefixという項目に変更する新しい接頭辞(prefix)名を入れて「change DB prefix 」をクリックして完了です。
しかしこの後が大変です。
せっかく苦労して対応した常時SSL化にしたサイトが元の非SSLの状態になってしまったのです。
じゃあ元の接頭辞(prefix)に戻せば復帰すると考えたのですが、データベースの内容を接頭辞変更で全て書き換わっているのプラグインからデフォルトの「WP」に変更したところで意味はありませんでした。
次なる余計なコト「一般設定でURLを変更」
ややパニックになった僕はあろうことか一般設定で変更できる「URL」のアドレスを変更すればカンタンに常時SSLの状態に復帰できると考えました。
そしてやってはいけないURLの部分に「s」を付け加える行為にでたのです!
で、どうなったかと言うとサイトは崩れ、カンペキにログイン不可能となりました。
世間様やグーグルさまが常時SSL化に動き出し「めんどくさいけどやっとくか!」でSSL化にも変更し記事も100記事に到達したばかりなのにログイン出来なくなるなんて思いもよらない事態に。
復帰へのドタバタ
色々といじくり倒しても一向にログイン画面は現れてはくれないワードプレスサイトにもう自分の能力では無理かと諦めようとしましたが場当たり的なアプローチをしていても埒は開かないので問題を整理してみることにしました。
原因と問題は二つ
まずは接頭辞を変更してしまったプラグイン「All in one wp security」を削除。
ワードプレスの管理画面にはログインできない状態なのでサーバーのコントロールパネルから直接プラグインのデーターを削除することにしました。
はっきり言って何がどのデータなのか判断しにくい感じでありましたが注意深くプラグインの表現を探し削除に成功しましたが変更してしまった接頭辞が元どうりに戻るわけではありませんでした。
ラチが開かずグーグル様に聞いてみた
「ワードプレス ログインできない さくら」と検索窓に打ち込み先輩ネットユーザー様からヒントを探すことにいたしました。
そこで株式会社ルーシー様が運営しておられる「バズ部」サイト様で下記のような記事を拝見し実践してみることとしました。
バズ部さまの記事ではwp-configphpのデーターに「define」と言う命令文を追記とのことで早速実行しました。
まずはwp-config.phpのデーターをパソコンへダウンロードしバックアップを取ります。
続いてテキストエディタで開き最後の行に 「define( ‘RELOCATE’, true );」 を追記することでログイン画面へアプローチするとの指南があったのでそのとうり実践したが残念ながらログイン画面は表示されない(当たり前がこの記述だけでうまく行くハズはないと後になって知るのだった)。
どうにかしてサーバー側からアプローチする方法で一般設定で書き換えてしまったURLを元に戻せないかヒントを得たいと思い入塾しているオンラインアクセスUP塾に質問を投げかけてみた。
本来ならサポート外の相談でもあり問題解決に至るまでの具体的な回答は規約上対応できない代わりに似たようなケースの解決方法をまとめたサイトさまの記事を紹介していただく。
参照したサイトさまと記事はこちら
https://qiita.com/pugiemonn/items/1852fb246ca141a2256a
バズ部サイトさまで指南されていた内容もwp-config.phpからアプローチしてdefineを記述というものであったがこちらのサイトさまではdefineを追記しさらにURLの変更を行うという内容であった。
defineを追記し正規のURLを入れる
define(‘WP_HOME’,’正しいURL’);
define(‘WP_SITEURL’,’正しいURL’);
上記の記述文の’正しいURL’とある箇所へ本来のURLを入力します。
しかし結果は残念ながらログイン画面は現れてはくれなかった・・・
単純にURLを変更するだけならこのアプローチで解決できるのでしょうが僕の場合は接頭辞を変更してしまっているのでやはり問題は複雑なよう。
やっぱり無理か?無理なのか。
余計なことをやらかした自分が恨めしい。
もう全てを諦めて一切合切サイトを削除してバックアップを取っておいた記事でもう一度ゼロからサイトを立ち上げなおすしか方法はないかと思ったがいやいや待てよまだ解決方法はあるハズだと粘ってみる。
そこで次は変更してしまった接頭辞にアプローチする方向で対処方法を探ってみることにした。
データベース「phpMyAdmin」からアプローチしてみる
検索で「ワードプレス 接頭辞 変更 ログインできない」と打ち込みヒントがありそうなサイト様の記事を片っ端から参照してみた。
先輩ユーザー様の記事を参考にphpMyAdminからデータベース内の接頭辞を確認していくという記事を読み「もしかしたらイケるかも?」と感じた。
記事では接頭辞を変更した場合、自動的に書き換えられる部分とそうでない箇所があるとの仰せでデーターベースに入り部分的に確認が必要であるとの御指南であった。
なるほど!では早速phpMyAdminにログインしてみると愕然とする。
なんと過去に作った失敗作サイトのデータベースが全て残っていることが判明した。
そんな状況のため解決を試みたいサイトドメインのデータベースが一目で分からない状態。
こんな環境を放置しておくこともできず「是非もあるまい」と(僕は大河ドラマの観過ぎで武家言葉が気に入っている)覚悟を決め不要なデータベースを全て削除することにした。
必要なデータベースを削除してしまわないように最大限の注意と確認を行い200個ほどあった必要のないデータを全て消し去りやっと本題の該当ドメインのデータベースの確認に取り掛かる。
で、下記サイトさまがご指南している内容を参考にphpMyAdminログインしデーターベースに格納されているテーブルと呼ばれる記述を確認して行った。
https://mechalog.com/wp-prefix
具体的にはoptionsテーブルとusermetaテーブルの接頭辞が以前のものが残っていないか確認するとの御指南だったが変更したプレフィックス(接頭辞)になっており問題はなかった。
もう一度グーグルさまの検索画面に戻り検索結果から次のユーザーさまの記事を拝見した。
http://wordpress-jp.info/trouble/login/
御指南の内容は僕がやらかしてしまったURLを書き換えてしまった問題をデータベースからアプローチすると言う方法。
もう一度phpMyAdminにログインしURLの記載があるoptionテーブルを探し出しデータを編集しURLの記載を書き換えます。
すると見事に無事にログイン画面かがブラウザーに現れついにワードプレス管理画面にログイン!!!「やったー!」。
けれど管理画面の一般設定に入ってURLの箇所を除いて観ると入力モードの状態ではない。
そこでサーバーのログイン画面からファイルマネージャーに戻ってconfigphpで記述したdefineの命令文を削除することで解決。
一通りサイトの表示状態が崩れていないことを確認したが何故だかは判らないがサクラSSLプラグインが無効になっていたので有効化と設定で所定のチェックを行いめでたく解決できたのでした。
まとめ今回のトラブルで学習したこと
接頭辞を変更する場合はサイト立ち上げ当初から行って置けば問題はないでしょう。
しかし途中から変更するなんて無茶なことは、ある程度知識と対応力に自信のある方以外はおすすめできません。
今回はどうにかこうにか解決できまし。
しかし実際肝心な作業としてはデータベースのオプションテーブルに入り書き換えてしまったURLを正常なアドレスに変更しただけです。
もう一度プレフィックスを変更してみようとは思わないがもしやってみたとしても変更設定をやり切れるか自信はない。
今回の失敗を備忘録としても残しておきたいと考え記事にまとめている作業自体も1週間以上かかってやっとまとめた状態。
自分がやったことなのに訳も分からずにいじくりまくって作業していることなので改めて把握し振り返ってみてもものすごく大変な作業でした。
収穫としてはphpMyAdminにアプローチしデータベースとテーブルの中身がどんな構成になっているのいるのかをぼんやりですが知ることができたのは大きな収穫と経験だったと思います。
残ったままになっていたデータベースも削除しスッキリ整理できたことも今回のトラブルがなければそのままになっていたでしょう。
と言うことで皆さまURLの書き換えとプレフィックスの変更にはくれぐれもご注意ください。
コメントを残す