やってしまいました。WordPressに少し慣れた去る9月3日に、テーマのSimplicityをバージョンアップしようとしたら、上記の画面が出てシステムダウンしてしまいました。早く復旧しようと慌てて色々やって却って深みにはまり、復旧に時間がかかりました。 今回の経験を教訓とするため、wpXレンタルサーバーにおけるバックアップについてわかったこと、如何にバックアップすれば良いか等をまとめてみました。
今回の状況と調査結果
このサイトは、WordPressに特化したレンタルサーバーであるwpXで、WPのテーマとしてSimplictyを使い運用しています。
1.Simplictyをバージョンアップしたらシステムダウンした
去る9月3日の深夜に、Simplictyの新しいバージョンをWordPressダッシュボードでインストールしたら、頭書のような 白い画面になり、WordPressのダッシュボードも表示できまなくなってしまいました。
- 自動手動のバックアップデータをリストアしましたがダメです。
- FTPでファイル入れ替えなどをしましたが、慌てて混乱してどうにもならなくなりました。
- サポートにメールしましたが、夜中なので直ぐの返事は期待できません
- 思い切ってアプリケーションの再インストールをやって何とかダッシュボードが表示されるようになりました。この間6時間ほどシステムダウン。
- その後は復旧作業が進み一時間ほどで8割方元の形になりました.
これまで「自動バックアップデータがあるので、いつでも数日前に戻せる」と思っていたのが大きな間違いでした。
レンタルサーバーwpXを使用し始めたものの、カスタマイズが順調にいったこともあり、そのバックアップについては甘く見て、これまで無知・不勉強で、トラブルに対する準備ができていなかったことを反省しました。
2.wpXにおけるバックアップの制度はどうなってる?
今回のトラブルに陥って知ったことをまとめます。
2-1 レンタルスペースを一括ではバックアップできない
レンタルスペースにはデータベース領域とサーバー領域がある
- データベースMySQLのデータ
投稿記事やコメントなどの関係データはデータベースとして管理され、FTPでは見えない。 - サーバー領域
画像などのアップロードデータ、WordPress本体、プラグイン、テーマ等で、FTPで見える。
管理メニューから簡単にリカバリできるのは記事データベースのみ
wpX管理メニューの自動/手動でバックアップしたデータから自分でリカバリできるのは、「記事データベース」のみです。
テーマやWordPressがおかしくなった場合
別途、サーバー領域のバックアップデータが必要になります。
サーバー領域は、有料でデータ提供を受けて自分でFTP
自動バックアップ時サーバー領域もバックアップされているが、リストアするには、有料のデータ提供を受けて自分でFTPでリストアしなければならない。
バックアップおよびリカバリーの種類はそれぞれ3つある
データーベースとサーバー領域に別れ、しかも単純に一つづつではないので、それぞれを理解して使いこなす必要があります。次項以下で詳しく説明します。
2-2 wpXにおけるバックアップの制度
wpXにおけるバックアップには3つの種類があります。
①自動バックアップ
wpX管理画面の[サーバー情報]-[自動バックアップ状況]を見ると下記のような自動バックアップの状況が表示される。
- 毎日夜中にバックアップされる
- 二週間分のデータが残っている
- 表題が「MySQLデータベース自動バックアップ状況一覧」となっているが、実際にバックアップされるのは下記の両方である
- MySQLのデータ
- サーバー領域
バックアップデータの利用法
- MySQLのバックアップされたデータのダウンロードや復元はそのボタンを押して進めるだけで非常に簡単にできる。
- サーバー領域のバックアップデータについては、手続きすると有料( 5,400円税込み/回)で提供される。
申込みは、wpX管理パネルの[契約・会員情報]をクリックすると表示される「契約・会員情報の管理」パネルの「バックアップデータお申し込み」から。
この辺は下記に明示されている。
②管理メニューの手動バックアップ
wpX管理メニュー]-[WordPress一覧・設定]-[設定]と進むと表示されるWordPress設定の画面で [データベース管理]-[データベースのバックアップ]をクリックする、下記表示が現れる
これにより、任意の時刻のバックアップを取り、自分のPCにダウンロードできる。但し、MySQLのデータのみで、サーバー領域はバックアップされない。
③サーバーにFTP接続して行う
サーバー領域のデータは、自分でPCにダウンロードしてバックアップを行います。逆にMySQLのデータはこの方法ではダウンロードできません。
FTP接続ソフトとサーバー側の設定も必要です。wpXにおけるFTPの設定の仕方は下記に説明があります。
wpXに置けるバックアップの種類を表にまとめると
操作法 | MySQLデータ | サーバー領域 | |
①自動バックアップ | 自動 | ○ | ○ (有料提供) |
②手動バックアップ | wpXの管理メニューから | ○ | × |
③FTPによるバックアップ | FTPソフトで | × | ○ |
2-3 wpXにおけるリカバリーの手段
リカバリは自分で行わなければならない
サーバーのスペースをレンタルしているだけなので、リカバリは自分で行わなければならない。お金を出してもデータを提供してくれるだけでリカバリ作業はしてくれない。
MySQLデータはwpX管理メニューから行う
メニューの自動バックアップのデータならのその画面(前出)で、復元するデータの日付を指定して実施する。
ローカルPC上にあるデータを使うなら、前出の手動バックアップの表示の下にある下記表示にて、使用するデータファイルを指定して行う。
サーバー領域のデータはFTP接続で行う
FTPソフトを使いサーバーにFTP接続し、ローカルに保存しておいたデータをサーバーに送り込みます。
WordPress本体は特別扱い
WordPress本体(アプリケーション)もサーバー領域にあるが特別扱いになっており、ユーザーがさわれない。できることは「初期化」のみです。
リカバリーの方法を表にまとめると
操作法 | MySQLデータ | サーバー領域 | wpX本体アプリ | |
手動バックアップ | wpXの管理メニューから | ○ | × | × |
FTP接続 | FTPソフトで | × | ○ | × |
アプリの初期化 | wpXの管理メニューから | × | × | ○ (初期化のみ) |
3.FTPソフトについて
3-1 サーバー領域のバックアップにはFTPソフトが必須
バックアップやその復旧(リストア)にはFTPソフトが必要です 。wpXならFTPを使わずともある程度サイトの運用が可能ですが、カスタマイズをしている場合のバックアップを考えると、FTPソフトが必須になります。
3-2 バックアップではFTPソフトの早さが求められる
FFFTP
FTPソフトは昔から有名な「FFFTP」が広く使われてきて、私も使っていました。
今回のトラブルでuploadsフォルダのバックアップを開始したとき、画像の量が多いため何時間もかかりそうでした。FTTPは開発が古く、作者はバージョンアップ開発をかなり前に中止しています。有志で改善はされているものの速度が遅いのが致命的です。
FileZilla
何とかならぬとか調べて「FileZilla」というソフトが見つかりました。
FileZillaで最初からやり直したら30分で終わりました。このソフトは速くて快適でお勧めです。wpXサーバーにFTP接続するためのFilezillaの設定法は下記に記載されています。
トラブルに備える普段のバックアップ方法
上記のことを学びながらトラブルは何とか解決しましたが、今後のためにトラブルに備えバックアップをどうしたらよいかまとめてみます。
1.普段のバックアップ
自動バックアップの他に手動バックアップが必要
何もしなくても1日に一回自動バックアップが実施されますが、
- 夜中の不確定なタイミングで実施
- サーバー領域のデーター提供は有料
という内容ですので、満足できるものではありません。
手動バックアップするタイミング
それで自己防衛として、自動バックアップの他に自分で手動でバックアップしておく必要があります。
任意の時刻にできますが、次のようににバックアップするのが良いでしょう。
- 大きな変更をした区切りの時点の前後で
- 一定期間(例えば一月)ごとに定期的に
データベースとサーバー領域の両方をバックアップする
- MySQLのデータ
wpXの管理メニューから行います。 - サーバー領域
自分でサーバー領域全部をFTPでダウンロード
バックアップデータはローカルPCに保存するのですが、注意点として
- ファイル名やフォルダ名を、後で見たときにわかりやすくしておく
例えば日付を入れて/blog/SQL_backup/20150904-1など - 「/wp_contnts/uploads」フォルダはサイズが大きいので、別扱いしたほうが良い
2.WordPressやテーマに関する変更時のバックアップ
テーマに関する変更をする時は、まず変更前の状態を残すようにする。バージョンアップに失敗したときに戻せるようにするためです。
日付の他、変更内容ががわかりやすいようにフォルダ名等を工夫しします。
WordPressのバージョンアップ
プラグインを全て停止する
バージョンアップ時はすべてのプラグインを一旦「停止」にして行います。有効のままバージョンアップすると不具合が発生することがあるからです。
テーマの変更やバージョンアップ
毎回たくさんのフォルダのバックアップしても時間と資源の無駄なので、基本的には下記2つどちらかでよい。
テーマのカスタマイズ時には、子のテーマのフォルダ
Simplicityの場合、カスタマイズ結果は子テーマに保存するので子テーマのみバックアップすればよい。
バージョンアップ時には親テーマのフォルダ
バージョンアップは親テーマのみ。異常が発生したとき親テーマを前の状態にもどす。
トラブル発生時に原状回復する方法
wpXなどの普及型レンタルサーバーにリカバリーのサービスはなく、自分でリカバリーしなければならない。以下、私が今回の経験を基にトラブル発生時どうすればよいかをまとめた。
1.復旧作業に取りかかる前に
トラブルがおきたら慌てず、頭の中を整理しよう。
1-1 まず現状のデータのバックアップを確認
まだバックアップできていないデータがあればバックアップする。
1-2 3つあるリカバリーの手段を理解しておく
- wpX管理メニューからMySQLデータのリカバリー
- FTPによるサーバー領域のリカバリー
プラグインは改めてインストールした方が良いかも - アプリケーション(WordPress本体)の初期化
データベースの初期化もするかの選択がある。通常しない。
2.状況に応じて何をすべきか判断
2-1 記事内容がおかしくなった、前に戻したいとき
- WordPressで保存されている投稿記事のリビジョンを戻す(個別記事のみ)
- MySQLデータのリカバリーを行う(全記事のリカバリー)
2-1 テーマ改造でおかしくなったとき
改造したファイルをFTPで改造前のファイルに戻す。子テーマフォルダ全部をバックアップしたほうが早い。
2-3 テーマのバージョンアップで異常が起きたとき
今回のように
子テーマの改造内容が原因でテーマのバージョンアップで異常が起きた場合
親テーマを戻すと回復はできるが、バージョンアップができない。
そのため、子テーマのどのカスタマイズが新しい親テーマと合わないのかを調べなければならないが、原因に見当がつかずわからない時は、親テーマを戻さず子テーマを戻す方法があります。 子テーマをどの段階まで戻せば正常になるか(その間しばらくはサイトがダウンしたままになるが)で、どの改造段階で異常が起きたのかがわかります。
2-4 原因がわからない、深みにはまりわからなくなった
FTPで正常な状態時と比較し、違うファイルのみをデータを戻す。あるいは一気に全データを正常時に戻す
プラグインは改めてインストールした方が良いかもしれません。
3.最後の手段はアプリケーションの初期化から
WordPress自体が壊れてたりしてどうしようも無くなった場合、アプリケーションの初期化つまりWordPressの初期化を行う。今回私はこれを実施してやっとブログが回復しました。
アプリケーションの初期化でデータはどうなる
MySQLデータ
[データベースの初期化]を選択しなければ、MySQLデーのデータは保全される
サーバー領域のデータ
サーバー領域のデータは全て初期化されるので、必ず事前にバックアップしておかないといけない。バックアップデータがあれば、初期化後にFTPで全データを戻すことができる。
今後の課題
1.テーマ改造でミスしたときに簡単に直ぐ戻せる方法が欲しい
サーバー上でテーマの改造をしてミスがあると、今回の私のようにシステムダウンしてしまう危険があります。
FC2ではテンプレートの改造をする時は、現状のコピーを作り、そのコピーを改造する方法でした。改造を適用した場合の効果もブログの表示を変更せずに確認できました。また改造したテンプレートを適用後も、いつでも過去のテンプレートに簡単に戻せた。今考えると良くできていた。
WordPressでも実現できないものか。
2.変更内容をサイトに適用する前にプレビューできないか
FC2ブログではテンプレートのHTMLとスタイルシートの両方で変更前のプレビューができる。
当レンタルサーバー+WordPressのシステムでは 変更前にプレビューできることは、記事の変更とテーマのカスタマイズメニューのみに限られている。スタイルシート(CSS)やPHPファイルの変更時はプレビューできない。
事前確認する方法の候補
wpX+WordPressのシステムで事前確認する方法について考えてみた
別途同一環境のサイトを作り確認する方法
非公開のミラーサイト的なもの。
しかし。このためにミラーサイトを立ち上げるのはもったいない。
wpXで独自ドメインを使っている場合、もう一つディフォールトのドメインがあり、そこれを使ってもよい。
ローカル環境で確認する方法
ローカルサーバー
PCにローカルサーバーを立ち上げ、そこにWordPressをインストールし、ここであらかじめ動作確認する。
wpXは面倒がないのがメリットだったのに、そのメリットが無くなってしまう。
ローカルWoredPress
その点では、「ローカルWoredPress」はローカルサーバーが不要でお手軽である。どこまでサーバー上のWordPressと同じなのかわからないが、試してみる価値はあると思っている。