タグ: ワードプレス
【解決済み】エックスサーバーのWordPressで403エラー発生。からのサーバー凍結を解決する手順
どうも、しゃちょーです。
先日エックスサーバーでの500エラーを解決する方法を書きましたが、
解決した日の夜間に運用していたWordPressのホームページで403エラー発生。
何かと思ったらサーバー凍結していました( ´,_ゝ`)
という事で、これも解決したのでその手順を公開します。
503エラーならまだしも、403だとちと焦りますね。。。
今回の作業手順は動画収録してYoutubeにアップしてあります。
このページの下部にありますので、記事内容と合わせてみてください。
まずはとにかく原因究明。
まずエックスサーバー側からはサーバー凍結の連絡をメールで受けていました。
さらに、凍結を解除する為の手順もステップ別に記載があり親切だとは思いましたが、
その内容の中に、
───────────────────────────────────
サーバーアカウント上に設置されたファイルを全て削除してください。
----------------------------------------------------------------------
お手数ですが、下記の手順にて「独自ドメイン」「初期ドメイン」、および
「その他のフォルダ」に設置されたファイルの削除をお願いいたします。
※この作業による、データベースの初期化・削除はございません。
【!】ご注意ください
下記の作業により、お客様のサーバーアカウント上に設置されている
ホームページデータやメールデータおよび各種設定がすべて削除されます。
画像、プログラム、設定ファイルやメールデータ、メールアドレス一覧などの
必要なデータは事前にバックアップを取った上でご対応ください。
云々・・・
という記載がありました。
今回の原因は、ここ最近色々なサーバーで起きている25番ポート(メール送信ポート)を
不正利用されてしまうというもの。
しかしこのメール、何度読み直して復旧の作業シミュレーションをしてみても、
メールアドレスを含めてサーバー上の全データを一回削除しなければいけない。
という認識。
一つのサーバーで複数ドメイン(マルチドメイン)でのホームページを運営しており、
サーバー上のデータ全て削除した場合、確実に全てを復元しきれないリスクはあるため、
なかなか行動に移せない。
そのため、サポートには電話とメールで
「サーバー凍結の引き金になったドメインはそのうちの一つ。
問題のドメインのみ全削除した後に復旧するが、
その他ドメインのホームページは削除しなくても良い方法はないか。」
と、まあいわゆるダダをこねてみたのですが電話では業務的にしか対応されず、
「手順に則っていただくしかないです。技術的な質問はメールでお願いします。
おそらくメールで質問いただいても、全て削除していただくことにはなると思います。」と。
メールだと回答があるまでの待ち時間がいやなんだよね。。
でも、仕方ないのでメールして回答を待つことに。
すると意外とサクッと返信がきました。
「復旧失敗する場合のリスクを考えると全削除は難しい。
何とか問題のあったドメインのみの削除でお願いできないか。」
と相談しましたが、
「状況からして問題のあったドメイン以外にも影響が出ている可能性もある。
その場合、それを放置して運営をし続けるリスクの方が高くなる。
よって、今回全削除いただく必要がある。」
要するに全削除しかない。
まぁ、仕方ない、そうと決まればやるしかない!
前置きが長くなりましたが解決手順について
ステップ1:
バックアップ
ステップ2:
サーバーパネルでドメイン削除
ステップ3:
ステップ2で削除しきれなかったファイルをFTPで削除
ステップ4:
初期ドメイン(○○.xsrv.jp)を初期化
ステップ5:
エックスサーバーに削除完了した旨をメールする
ステップ6:
サーバーパネルでドメインを改めて追加設定する
ステップ7:
メールアカウントの再設定
ステップ8:
サーバー復旧後、バックアップしたデータをFTPでアップロード
上記5ステップでサーバー上のデータは綺麗に無くなりますが、
データベースは残りますのでご安心ください。
つまりWordPressのサーバー移転のようなDBのエクスポート、インポート作業は必要ないという事。
(念のためDBもバックアップしておくことをおすすめします。私はしました。)
ステップごとに解説します。
ステップ1: バックアップ
まずサーバーパネルにログインし、ドメイン毎にデータをバックアップします。
この手順は設定したマルチドメイン分おこないます。
それが終わったら、FTPからドメイン毎に直接全てのファイルをダウンロードして、
2重のバックアップを取ることをおすすめします。
私はpuclic配下のファイルは全てのドメイン分バックアップしました。
そして各ドメインで利用していたメールアドレスもバックアップしましょう。
具体的にはメールアカウントのメモを取ることです。
info@〜、tokumasu@〜、contact@〜・・・
色々設定していた場合は大変ですが、全部メモしておきましょう。
私はこの際メールパスワードはセキュリティ強化の為、全て設定しなおしました。
ステップ2: サーバーパネルでドメイン削除
文字通り削除です。
怖いですが、やるしかありません。
ドメインを削除すると、FTP上からもドメインのファイルが消えます。
消えてしまいます。怖いですが、仕方ありません。
ステップ3: ステップ2で削除しきれなかったファイルをFTPで削除
サーバーのご利用状況によってはステップ2では消えないフォルダがあります。
・・・が、それも削除してください。
きれいさっぱり生まれたて(契約時)の姿にする必要があります。
ステップ4: 初期ドメイン(○○.xsrv.jp)を初期化
サーバーパネルで、初期ドメインを初期化します。
これで初期化の作業が終わります。
ステップ5: エックスサーバーに削除完了した旨をメールする
作業完了した旨をエックサーバーへメールします。
先方がサーバーを点検して問題なければサーバー復旧となります。
ステップ6: サーバーパネルでドメインを改めて追加設定する
エックスサーバーの初期ドメインにアクセスしてこの画面がでたら復旧完了です。
復旧された後は、ステップ2で削除したドメインを改めて設定しましょう。
この時、セキュリティ対策としてFTPサーバーへの接続はIPアドレスで制限しておきましょう。
ステップ7: メールアカウントの再設定
ステップ1でメモをとっておいたメールアカウントをドメイン分全て設定しなおしましょう。
先にFTPにデータをアップロードしてもいいですが、私はメールを確認したかったのでメールアカウントを先に設定しました。
覚えやすいパスワードではなく、ランダムに吐き出されたパスワードを設定することをおすすめします。
たとえば、こういうツールを使って生成すると良いでしょう。
・パスワード生成(パスワード作成)ツール
http://www.luft.co.jp/cgi/randam.php
ステップ8: サーバー復旧後、バックアップしたデータをFTPでアップロード
最後にステップ1でバックアップしておいたデータをドメイン毎にアップロードし直します。
基本的にはエックスサーバーのサーバーパネルでバックアップしたものをアップロードします。
ここまで終われば全てのドメインでホームページが復旧されます。
※サーバー凍結〜復旧が伴っている為、ドメインの再設定後はDNSの紐付けに少し時間がかかるようです。
ステップ8まで終わってもホームページがなかなか表示されない場合は少し時間をあけてみましょう。
私の場合はデータの再アップロード後、およそ1時間ほどですべてのホームページが表示されました。
全ステップを通してバックアップ〜削除〜復旧までに大体3時間程度でした。
▼▼▼作業風景の動画はこちら▼▼▼
※今回Adobe Premiereで動画編集を行ったのですが、
いかんせん初トライだったのでちょっと見辛いかと思いますが、
ご了承ください( ´,_ゝ`)
まとめ
見事に全データが復旧し安心しました。
今回、データベースを全削除しなくても良かったのは助かりました。
サーバー上の全データを削除するのは非常にリスクのある行動です。
このようなサーバー上でデータを操作する時は必ずバックアップを取りましょう。
これでもか、というくらいデータというデータをバックアップしましょう。
セキュリティ対策はサーバー側で行ってくれていますが、
それだけでは安心しきれません。
エックスサーバーを契約してから今回のような自分自身で作業するケースははじめてだったため、
凍結から復旧までを経験できたのはとても良い経験になりました。
ここ最近、障害が多く見受けられるのでエックスサーバー以外をお使いの方もお気をつけください!
2016.12.28
つい最近同じような症状になった方から連絡が来ました。
この記事を見て連絡をしたとのことで、私の方でサポートしました。
私の記事内容とは若干で状況が異なっていて、同じ対応をしたところ
復旧はできたのですがすぐに凍結されてしまいました。
おそらくプラグインの脆弱性を突かれてしまったのだと思われます。
WordPressの再インストールからお手伝いをし復旧できました。
プラグインは選定した上でインストールするようにお願いしました。
プラグインに脆弱性があった場合はバックアップから復旧するだけでは、
おそらく解決にはならないと思われますのでご注意ください。
また、wp-confing.phpのパーミッションを400にするなど、
外部からの対策も合わせて行うとより効果的かと思われます。
【お困りの方は会社宛ではなく以下にご相談くださいませ】
080-1610-3246(代表 德増)
エックスサーバーの500エラー速攻解決!WordPressのホームページが見れなくなった時の解決方法!
さてさて、私は個人でもエックスサーバーでWordPressで構築したホームページを運用していますが、
この度、突然の500エラーが発生してしまいました。
↓↓↓画面はこちら。(見たくないとは思いますが・・・)
こういう場面に出くわすと(お客さんに指摘されると特に)血圧がグッと上昇↑↑↑しますよね!
まずはエラーログを確認しましょう!
深呼吸をし、さっそくサーバーパネルへログインしてエラーログをダウンロード。
「サーバーパネル」 > 「統計」 > 「ログファイル」 をクリック
「エラーログの一覧」 > 「ダウンロード」 をクリック
「対象ドメイン名.error_log」というファイルがダウンロードされますので、
これをテキストエディタなりで開いてみましょう。
ずらっと羅列されたエラーログの数々。
ひとまず、一番下までスクロールしてみましょう。
↓↓↓こいつやね( ´,_ゝ`)
Resource temporarily unavailable
こいつをやっつければ解決するはず!
以下、エックスサーバーからこのエラーの情報を引用。
【Resource temporarily unavailableの原因】
CGIやPHPの同時接続数が多くなり、アカウント単位のリソース制限となっているPHPへのアクセスにおいて「500 Internal Server Error」エラーが発生し、エラーログ上に「Resource temporarily unavailable」が表示される場合はこちらに該当します。
また、CGIへのアクセスにおいて断続的に「500 Internal Server Error」エラーが発生し、CGIが実行できるときとできないときがある場合もこちらに該当する可能性があります。
プログラムへのアクセス集中等により発生しますが、すでに稼働中のプロセスが終了し、リソースに余裕が生じるととともに自動的にエラーは解消されますので、しばらくお待ちのうえ、改めて状況をご確認ください。
あわせて、CRONで頻繁にコマンドを実行されている場合、実行頻度を調整するなどご検討ください。
PHP及びCGI実行によってサーバーに負荷がかかっているため、
一時的にアクセスできなくなっているという事。
要するに「リソースに空きができるまでしばらく待機してくれれば直るよ。」って事ですね。
いくら待てども復旧しない場合
・・・しかし、中には復旧しないケースもあります。
そこで、同一サーバーで運用している他ドメインのホームページもチェックしてみると、
500エラーが発生しているホームページもあれば、普通に動作しているホームページもありました。
今回の僕のケースがそれで、30分程待機しても復旧しなかったのですが、
中には問題なく作動している別ドメインのホームページもありました。
つまり、サーバー全体が停止している訳ではなかったという事。
エックスサーバー側の設定で解決
今回、エックスサーバー上の設定で即解決しました。
その方法とは以下です。
サーバーパネルにログイン後、500エラーの出ているドメインに切り替え。
PHP高速化設定(FastCGI化)をクリック
FastCGIとAPCを有効化する。
以上です。
上記設定自体はものの数分で終わる事でしょう。
これで500エラーの出ていたホームページへアクセスしてみましょう!
・・・見事に復旧されていることでしょう( ´,_ゝ`)ヨカッタヨカッタ
エックスサーバーはイメージしていた共有サーバーとはちょっと違った
共有サーバーは、他の人が負荷のかかる処理を実行していると、
自分も影響を受けてしまいます。(逆も然り。)
サーバーをマンションと例えるとわかりやすいです。
あなたはマンションの一室をレンタルして生活しているとしましょう。
隣の住民が騒がしくしていたり、上の階でピョンピョン飛び跳ねられると、
うるさくて生活に支障が出ますよね。
また、他の部屋の誰かがマンションの入り口ドアを壊してしまったりすると大変です。
このように共有サーバーは自分以外のホームページ運用状況からも影響を受けます。
・・・が、エックスサーバーはこれが対策されています。
他人がサーバーに負荷のかかる処理をしたとしても、自分には影響が出ません。
その人自身のホームページやシステムが停止するだけです。
・・・ということは、エックスサーバーでの500エラーは完全に自分に原因があるということです。
まとめ
待てど暮らせど500エラーが直らないという人は、
一度PHP高速化をしてみたり、WordPressのキャッシュ系プラグインを使用して、
サーバーの負荷軽減を試みるといいでしょう。
今回のケースでは500エラーが原因でWordPressのダッシュボードにすらログインできなかったため、
サーバーパネルにてPHP高速化を行って解決しました。
▼動画も収録してみました。ご参考までにどうぞ。
エックスサーバーは他の人からの影響を受けないというのは非常に良い点です。
今後もエックスサーバーを利用していきたいと思います。
レンタルサーバー Xserver
WordPressでオリジナルウィジェットエリアを追加できるコード
WordPressのカスタマイズ作業にておいて、外観 > ウィジェットのメニューでオリジナルのウィジェットエリアを追加したいと思った場合、
本記事で紹介するコードを入力するだけで簡単に解決できる。
本記事内容が役に立つはずなので、お困りの方は是非参考にしてください。