-
500 ERROR INTERNAL SERVER ERROR が発生:SiteGuard プラグインの設定変更後
現象
SiteGuard (SiteGuard WP Plugin) プラグインでWAFチューニングサポートに新しいシグネチャを追加。
この時にファイル名へいい加減に「Exray Team」として保存。コメントは未入力で保存ボタンをクリック。
その後で適用ボタンを押したかどうかは覚えてないが、次の操作をしようとしたところ、以下の「500 ERROR INTERNAL SERVER ERROR」が発生。
これ以降はこのサイトは通常で見ることも、Wordpressのダッシュボードを開くことも、500 ERROR で出来なくなる。
エラー原因の予測
- 公開している他のサイトには同じ問題が発生していない
- SiteGuard プラグインの設定変更後に発生した
- WAFチューニングサポートに新しく追加したシグネチャのファイル名に「Exray Team」と間違って空白文字を含む文字列をセットした
- 2~3日前にWordpress 4.3へアップグレードした
以上を考えると3番目のSiteGuard プラグインの間違った設定変更が原因と予測される。 ただし、任意入力のファイル名にコメント気分で空白文字を入力したのが本当の原因かは不明だが、怪しいことには変わりない。
エラーコード 500 の最終原因はSiteGuard プラグインのCGIが正常に動作出来ないと思われる。
▼対処方法 ① (結果は失敗)
WordPressのダッシュボードが開かない限り、SiteGuard プラグインのWAFチューニングサポートの変更が出来ない。そこで強制的にWordpressが使っているデータベース:MYSQL データを変更してみる。
作業手順
- WordPressが使用しているデータベースのバックアップ
念の為に問題が起きた時用に。 - WordPressのMYSQLデータベースを開いて、ファイル名 ***-OPTION から「Exray Team」文字列を含むレコードを検索。
- 「Exray Team」を適当に空白文字を無くして「ExrayT.php」に変更する。文字数の情報もデータベース内で持っているみたいなので同じ10文字にする。
- データベースを更新する
結果
同じ現象 500 ERROR でサイトを開けない。orz
サーバー側のWAFを一時的に無効にして10分以上経っても解決せず。つまり、ファイル名の入力以外の部分にも問題が有ると思われる。(勘
▼対処方法 ② (結果は成功)
対処方法①では解決出来ないのなら、プラグイン自体を停止するしか手は無い。しかし今回はWordpress自体も開かないのでSiteGuardプラグインを削除することにする。幸いにココにその方法が載っていたのでそれを参考に当プラグインを強制的に削除する。
手順
- WordPressが使用しているデータベースのバックアップ
- 問題のサイトのサーバー上のファイルをFTPで全バックアップ
- WordPressのインストールディレクトリにある
- 問題のサイトを開く
結果
サイトを問題無く開くことが出来ました。成功!
データベース上には削除する前のSiteGuardプラグインのデータが残っているので、再度SiteGuardプラグインをインストールすると 500 ERROR が再発生するかと予測していた。が、実際には再インストールすると初期状態にリセットされた。WAFの値もリセットされてデフォルトに戻った。
備考
- SiteGuard 解説サイトを見たがWAF設定に関する注意点等は特に見られなかった。
- 今回のエラーメッセージ 500 の原因はプラグインの動作(CGI)の問題だったみたいですが、エラーコード500にはそれ以外に多数の原因が有るらしい。
参考サイト:「500 Internal Server Error」の原因と解決方法 - SiteGuard (SiteGuard WP Plugin) プラグインの情報を見るとバージョンアップデートはされてないが一週間前に更新されている事が判った。これが何らかの問題解決につながったのかもしれない。(予測
- SiteGuard プラグインで今回の様なトラブルが発生した時の対処方法のポイント:
一旦プラグインを強制削除する。そしてプラグインの再インストールをする。再インストール後はプラグインの設定内容はリセットされる。