SiteGuard WP Pluginはセキュリティ強化に必須だと記事を書いた矢先に、ログインできない状態になるという、鍵を無くして自分の家に入れなくなったような悲しい状態になってしまった。
こんなことで時間を失っていては、本末転倒なので、2度はないようここにメモ。
先日書いた記事はこちら
⇒[必須]wordpessのセキュリティプラグイン
SiteGuard WP Pluginでログインできない状況とは
SiteGuard WP Pluginでログインできない状況を詳しくいうと、ネットの接続に不具合が起きた際に、モデムを再起動した際に起こった。
このSiteGuard WP Pluginは、1度ネットの接続が切れると、再ログインをすることになる。
その時、ログインできない状態になった。
もう少し詳しくいうと、設定したアドレスからログインできないという状況。
リダイレクトされ、404エラーが出てしまう。
SiteGuard WP Pluginでは、ログインアドレスが変更された時と。ログインした時、メールでお知らせしてくれる。
このメールでアドレスを確認してもエラーが出てしまう。
そこで、分かったのが…
wordpressをインストールしたディレクトリトップにある.htaccessに書いてある、ということ。
具体的には…
RewriteRule login_xxxxx の、login_xxxxxの部分がドメインの後に続くログインのURLとなる。
確認すると、そこに記述してあるログインURLがメールで送られてきていない。
そういえば、設定画面で急いで画面を切り替えた時、まずいかな、という状態があったのを思い出した。
おそらくその時だと思う。
直ぐにログインURLを変更して、その後は問題なくログイン出来ていたので、
今回接続が切れたタイミングで反映されてしまったのだろう。
これで、ログインできる!
と思ったのもつかの間…
やはり表示されない。
そこで、変更した後のURLを、.htaccessへ書き換えてみた。
すると、このURLで、ログイン画面が表示された。
これで「めでたしめでたし…」ではなかった。
今度は、wp-adminから管理画面が全て404のエラーと返してしまう。
このSiteGuard WP Pluginは、WPの大元が作っているためか、かなり高機能となっている。
その理由で、何度かログインを失敗すると、ip自体を弾いてしばらく入れなくなるらしい。
もしかしたら、そのせいかもしない…
しかし、それが理由なのか?理由だとして、いつログインできるようになるのか?
この状態では、作業が進まない。
そこで、更に調べたところ、最終手段が残されていた。
SiteGuard WP Pluginでログインできない際の、最終手段とは?
SiteGuard WP Pluginでログインができない場合に、少し対策をこうじても解決しないなら、他のことをするより、いきないこの最終手段をした方が、遥かに時間短縮になることが分かった。
その方法とは…
先ほどの.htaccessに書き込んである、SiteGuard WP Pluginの部分をまとめて削除すること。
具体的には…
#SITEGUARD_PLUGIN_SETTINGS_START から#SITEGUARD_PLUGIN_SETTINGS_END まで
これで、SiteGuard WP Pluginの管理ページアクセス制限が、”オフ”の状態になり、無効になる。
すると…
無事、管理画面へログインできた。
わたしはxサーバーの管理画面で設定できる。wordpressのセキュリティ設定をオフにしたり、
色々試してみたがダメだったので、かなり無駄な時間をとってしまった。
はじめから、こうすればよかった。
SiteGuard WP Pluginでログインできない状態にならないための対策事項
SiteGuard WP Pluginでログインできないようにならないために、設定を変えておくことにした。
まず、SiteGuard WP Pluginの管理画面の管理ページアクセス制限が、”オフ”の状態になっているので、\”オン\”に戻す。
そして次に、念のためログインロックの回数を3回から10回に変更した。
ちなみに、今回の解決の助けになったのは、SiteGuard WP Plugin公式サイトのFAQだったので、こちらへ添えておこう。
このプラグインをインストールすると、ログインしていないPCからの管理ページ( /wp-admin/ )へのアクセスに対して404エラーを返します。管理ページにアクセスして、404エラーが返る場合は、ログインを行なってください。ログインしている状態の場合は、ログアウトしてから、再度ログインしてください。
また、このプラグインをインストールすると、ログインURLが変更されます。新しいログインページのURLは、以下の方法で知ることができます。
Version 1.1.0から、新しいログインページのURLを、管理者にメールでお知らせする機能を追加しています。サブジェクトが「WordPress: ログインページURLが変更されました」となっているメールを探してみてください
管理者としてログインしている場合は、SiteGuardの設定画面「ログインページ変更」を開いて、「変更後のログインページ名」を参照してください
サイトのTOPページに「ログイン」「ログアウト」のリンクが存在する場合は、そのリンクをクリックしてください。新しいログインページに移動します
パーマリンクをデフォルト以外に設定している場合は、< サイトのTOP URL>/login にアクセスすると、新しいログインページに移動します (※Version1.1.0以降は、この方法は使用できません)
WordPressのインストールディレクトリにある .htaccessファイルを開くと、以下のような記述があります。
RewriteRule login_xxxxx(.*)$ wp-login.php$1 [L]
この中の login_xxxxx という部分が新しいログインページのURLです
以上を考慮しても、プラグインが原因でログインできなくなったと考えられる場合は、以下の手順でこのプラグインを削除してください。
/wp-content/plugins/にある、siteguardディレクトリをまるごと削除してください
WordPressのインストールディレクトリにある.htaccessの以下の部分を削除してください
#SITEGUARD_PLUGIN_SETTINGS_START から
#SITEGUARD_PLUGIN_SETTINGS_END まで
引用元: SiteGuard WP Plugin.
ついでに、Wordpressのバックアップについてもまとめてみた。
wordpressのバックアップ
今回のような事態で焦るのは、外部からのクラッキングあるいは、負荷などの不具合によるデータベース破損など。
WPはバックアップは必須なので、過去調べた事があった。
プラグインは殆ど役に立たないので、手動が1番いいという結論に。
とはいえ、忘れがちなのが最大の欠点。
今回のアクシデントをキッカケに、ここにまとめておくことにした。
以前は、Wordpressのバックアップやサーバー間の引っ越し(移転)は、大変で面倒という印象があった。
コツを掴めば至って簡単。
プラグインはWP-DBManagerなど色々出回っているが、
プラグインの設定や不具合の対策で時間をとるより遥かにいい。
バックアップは2つ
1,データベース
2,それ以外のファイル
まず2番は、FileZillaやNEXTHTPなどのFTPソフトで、まとめてダウンロードすればいい。
Xサーバーだともっと簡単で確実に手早くできる。
サーバーパネルの「バックアップ」からやるだけ。
–余談–
これは、WPだけだとxサーバーより、wpXかWPクラウドでいいが、
HTMLや動画ファイルを渡すなどの大きなファイルの場合、
やはりXサーバーが使い勝手がいい。
ただ、その代わり、ファイル容量が多くくなるので、バックアップにも時間がかかってしまう。
その理由で、アマゾンのAWSなどと分けておく方法もある。
使い勝手が悪いが…
先日の表示スピードの記事では、「CloudFlare」も使う人が多いむねを記載した。
これを使うなら、wordpress公認のjatpackのphotonの方が安定している。
もし、バックアップに使うなら…使いやすさからいえばいいかも。
と思って調べたところ、バックアップに使う事に関しては日本では情報が少なかったので、海外の方の問題を見ると…
やはり、エラーやセキュリティ面での不安定さが目についた。
無料なら仕方がないといえばそれまでだが…
大切なファイルのバックアップや、CDNにしても表示に関わることなので、ここは慎重にしたい
話を戻そう。
1番のデータベースについては、『phpMyAdmin』の「エクスポート」機能を使えばいい。
念のため
・完全な INSERT 文を作成する
・長い INSERT 文を作成する
にはチェックを入れ、エクスポート。
※デフォルトでチェックは入っていると思う
補足:
1つのMYSQLユーザーに複数のデータベースを管理している場合、
容量が多き過ぎると、サーバーエラーとなる。
その際には、1つずつエクスポートをすればいい。
※zip形式かgzip形式で