WordPressウェブサイトのバックアップと復元

2018年10月初旬、弊社Webサイトの記事編集機能が一部エラーを起こしてしまいました。エラーは「画像データをアップロードしようとするとHTTPエラーを起こしてアップできない」というもの。

WordPressで作成しているサイトなので、技術的な情報はネット上にたくさんありましたが、全部をしらみつぶしに確かめていく時間と労力がなく、それならいっそのこと!と思い、いったんホームページを破棄して一から再構築し、データを復元すると言う方法を採りました。このページではその備忘録も兼ねて手順を解説しようと思います。

前提条件

弊社ホームページの「破棄」「再構築」「復元」にあたっては、もともと以下の条件が整っていたから出来たというものです。(つまりこのページでの手順解説は以下の前提条件が必要だという話)。前提条件を記しておきます。

  • レンタルサーバーとして「エックスサーバー」を利用している
  • エックスサーバーのWordpressインストール機能を利用してHPを構築した
  • WordPressのプラグインに「UpdraftPlus」を追加インストールして、定期的にバックアップを取っていた

復元手順

バックアップは、上述のとおり「UpdraftPlus」というプラグインを利用して、データベース、アップロードファイル、テーマ、その他などすべて定期的にバックアップを取っていました。今回行ったのは以下の手順です。

WordPressの削除・復元

レンタルサーバーのエックスサーバー上から、現在のホームページ(=Wordpressシステムそのもの)を削除します。

サーバーパネルを開く

図のようにエックスサーバーのWordpress簡単インストール画面を開きます。

WordPressを削除

WordPressを削除します。この際、削除するWordpressで使用していたMySQLデータベースも削除する必要があるのでMySQLデータベース名を控えておきましょう。

MySQL画面

再びサーバーパネルへ戻り「MySQL設定」を選択します。

MySQL削除

WordPressを削除する際に控えておいたMySQLデータベース名を探して、そのデータベースを削除します。

WordPressを再インストール

WordPressとMySQLを削除した時点で、Webサイトはいったん完全に削除されます。この後、エックスサーバーのWordpress簡単インストール機能を使ってもういちどWordpressを再インストールします。

インストールする際に、Wordpressで利用するデータベースを、削除前のデータベースと同じ名称にしておきましょう(復元の時にスムーズに進みます)。ちなみにエックスサーバーではWordpressを簡単インストールする際にデータベースを自動作成にしておくと、「サーバーアカウント名_◯」(◯は数字)というデータベースが自動生成されるようです。なので、そもそもWordpressで構築する際に簡単インストールで進むとおりにやっておくと、「削除→再インストール」の際にも余計な指定をせずにラクラク作業が進みます。

サイトデータの復元

WordPressが再インストール出来たら、管理画面で以下の作業を行います。

UpdraftPlusをインストール

プラグイン画面で「UpdraftPlus」を検索しインストールします。

バックアップデータをアップロードします

UpdraftPlusへ、もともとバックアップしてあったデータをアップロードします(もともとのバックアップの際に、「データベース」「テーマ」「アップロードファイル」「その他」など、バックアップできるものをすべてバックアップしておく必要があります)

ひとつひとつ復元しながら確認

今回のエラーは「画像データがアップロードできない」というエラーでした。このため、各作業のたびに画像をアップロードして動作確認を行いました。まずデータ復元前にいったんアプロードして正常に動いていることを確認。次に「データベースだけ」を復元して確認、その次に「テーマ」を復元して・・・という手順。

ちなみに、「バックアップデータを復元する」だけなら、すべて一気に復元することが出来ます。なので、「Wordpressのデータ復元」のためにこの記事をお読みになっている方は、ここで一気に完了、です。

今回弊社の場合は、使っていた「テーマ」のテンプレートデータになにかエラーがあったらしく、テーマの復元を行ったところでアップロードエラーを起こしました。そこで、テーマを削除して、思い切って新しいテーマに切り替えることで復元した、というわけです。

これでは「HTTPアップロードエラー」を解決したことにはなりませんが(テーマを変えてしまっているので、元通りになおしていませんね^^;)・・・運用と言う面からは、ドツボにはまっていつまでも復旧できないという事態を回避することが出来ました。このノウハウを蓄積しておいて、万一将来同じことが起きた時に迅速に対処しようと思います。