WordPressのWebサイトのバックアップについて調査・検討し、評価の高い[All In One WP Migration]というプラグインを用いてバックアップを行うこととしました。
また[All In One WP Migration]を使用するにあたり、アップロードファイルの容量制限を回避する手段について調査しました。
以下の記事で、WordPressのWebサイトをクラッシュさせてしまい、Synology NAS のHyper Backupのバックアップから復元した事例について紹介しました。
参考 Synology NAS WordPress Webサイトのクラッシュと、Hyper Backupによるバックアップからの復元
ただし、Synology NAS のHyper BackupはNAS全体のバックアップとなり、復元についてもデータベースを丸ごと復元しかできないなど、小回りも効きづらいため、WordPress単体でのバックアップについて調査・検討することとしました。
前提 本記事でのDSM(OS)バージョンは、Synology DSM 7.0 を用いています。
1.バックアップ方法について
WordPressでバックアップする対象のデータとしては、WordPressインストールフォルダのWordPress構成ファイル群(WordPress本体のプログラムやプラグインのプログラムソースコードと、Webサイトで使用しているメディアファイル、インストールしたテーマ)と、データベース(ブログデータ)があります。
バックアップ方法としては、WordPress構成ファイル群とデータベースのデータをそれぞれ手動でバックアップする方法と、バックアップ用のプラグインを用いてバックアップする方法があります。
WordPressを手動でバックアップする方法は、WordPress構成ファイル群についてはWordPressインストールフォルダを丸ごとFTPソフト等を用いて別メディアに格納し、データベースのブログデータはPHP MyAdminなどのデータベース操作ツールを用いてデータベースをエクスポートして保存しますが、それなりにスキルも手間もかかります。
バックアップ方法 | 長所 | 短所 |
---|---|---|
Synology Hyper Backupによるバックアップ | データ保存の失敗が少なく、安定したバックアップ体制が見込める。 | 基本はNAS全体のバックアップ機能のため、小回りが利きにくい。 複数サイトを運用している場合データベース一括復元となってしまう。 |
WordPressを手動でバックアップ | WordPressのバックアップとしては基本の方法。 手段も確立しており、バックアップ方法としては確実性がある。 複数サイト運用していてもサイト毎にバックアップが取れるなど小回りが利く。 | 知識・スキルが必要。 バックアップに手間がかかる。 |
WordPressをプラグインでバックアップ | プラグインの機能次第であるが、ワンクリックでバックアップが取れるなど、手間がかからない。 複数サイト運用していてもサイト毎にバックアップが取れるなど小回りが利く。 | どういったデータフォーマットでバックアップがとられるかはプラグイン次第となる。 プラグインのバグによりバックアップが失敗する可能性がある。 |
バックアップ用のプラグインを用いてバックアップする方法については、バックアップ用のプラグインがいくつか存在していますが、なかでも[All In One WP Migration]というプラグインが様々なサイトで紹介されており、現状では最も評価が高いようです。
よって、本サイトも[All In One WP Migration]を導入してバックアップを行うこととしました。
2.All In One WP Migrationについて
[All In One WP Migration]プラグインのインストールは、WordPressの管理画面の[プラグイン]>[新規追加]で[プラグインを追加]画面を表示し、[All In One WP Migration]をキーワード検索します。
インストールして有効化します。
2-1.All In One WP Migration バックアップ
[All In One WP Migration]プラグインのバックアップには、[バックアップを作成]、[ダウンロード]、[復元]、[削除]のメニューがあります。
[バックアップを作成]をクリックすると、バックアップの作成を開始します。
[ダウンロード]は、バックアップをブラウザでダウンロードします。
[削除]はバックアップファイルを削除します。
[復元]はバックアップファイルを直接復元する機能ですが、有料オプション購入しないと使用できない機能です。インポート機能があるので特に使えなくても問題ないです。
バックアップファイルがない状態だと、[バックアップを作成]しか表示されません。
[バックアップを作成]をクリックしてバックアップの作成を開始します。
プラグインにによりバックアップ(エクスポート)処理が実行されます。
バックアップが完了すると、ダイアログが表示されます。
ダイアログの[ダウンロード]をクリックするとバックアップファイルをブラウザでダウンロードすることが出来ます。
2-2.All In One WP Migration インポート
[All In One WP Migration]のバックアップファイルのインポートは、サイトのインポート画面のインポートエリアに、ブラウザでバックアップファイルをドラッグ&ドロップすることにより実行します。
インポート処理が開始され、ファイル読み込み処理が実行されます。
インポート処理によりデータが上書きされる旨の注意喚起ダイアログが表示されますので、[開始]をクリックします。
インポートが完了しました。
この後、WordPressの管理画面からいったんログアウトとなり、再度ログインする必要があります。
2-3.All In One WP Migration エクスポート
[All In One WP Migration]のエクスポートでは[高度なオプション]の設定により、エクスポート(バックアップ)ファイルに含める内容を選択することが出来ます。
これにより、たとえば、エクスポートファイルをメディアライブラリとそれ以外に分けることにより、アップロード容量に制限がある場合にアップロードサイズを押さえてインポートすることが可能となります。
3.All In One WP Migrationのインポート容量制限回避方法
[All In One WP Migration]ですが、標準状態だと、インポートの最大アップロードサイズに容量制限があり、せっかくエクスポート(バックアップ)した状態をインポートするのに容量制限に引っかかってそのままではインポートできません。
容量制限を回避する方法については以下の[All In One WP Migration]の公式サイトに記載されています。
上記サイトの説明によると、方法として以下3つの手段が提示されています。
- 有償版プラグインを購入する。
- ホスティングプロバイダに依頼して容量制限を回避してもらう。
- 自力でWordPressのファイル(.htaccessまたはwp-config.php)にパラメータを設定する。
1.の手段が一番簡単・確実ですが費用が掛かります。
3.の手段で容量制限を回避する手段を紹介するサイトが多いですが、試してみたところうまく動作しませんでした。
Synology NASでWebサイトを運営している場合、ホスティングプロバイダ=自分自身となりますので、2.の方法に該当する手段として、
[PHPプロファイルで容量制限を回避するパラメータを設定する]
ことで容量制限を回避することとします。
以下に具体的な手順を説明します。
3-1.PHPプロファイルで容量制限を回避するパラメータを設定
DSMコンソールにログインし、[Web Station]>[スクリト言語の設定]をクリックする。
パッケージ版WordPressを使用している場合
パッケージベースのプロファイルからWordPressを選択し、編集をクリックして[PHPプロファイルを編集]ダイアログを表示させる。
[コア]タブを選択して、パラメータ設定画面を表示させ、以下のパラメータを編集します。
編集が完了したら[保存]をクリックしてパラメータ値を保存します。
パラメータ設定一覧の説明
パラメータ | 設定値例 | 説明 |
---|---|---|
upload_max_filesize | 5120M | アップロードファイルの最大サイズ。バックアップファイルサイズよりも大きくします。設定値例の場合、バックアップファイルサイズの最大値は5GBとなります。 |
post_max_size | 5120M | 許可される POST データの最大サイズ。バックアップファイルサイズよりも大きくします。設定値例の場合、バックアップファイルサイズの最大値は5GBとなります。 |
memory_limit | 256M | PHPのメモリ使用量の上限。All In One WP Migrationの公式サイトの説明によるとアップロードサイスよりも大きくすることが推奨されていますが、そこまで大きくしなくても一応動作するようです。-1を設定すると無制限に設定することが出来ます。 |
max_execution_time | 300 | スクリプトの最大実行時間です。ここで指定された秒数に達すると処理が終わっていなくてもスクリプトは強制終了されます。All In One WP Migrationの公式サイトでは300秒(5分)に設定が推奨されていますが、バックアップファイルが大きくなったりサーバの処理性能の制約により300秒で足りない場合はさらに増やしてもよいかもしれません。 |
max_input_time | 300 | 各スクリプトがリクエストデータの解析にかけることができる最大の時間。Synology DSMの初期設定値は60秒。All In One WP Migrationの公式サイトでは300秒(5分)に設定が推奨ていますが、バックアップファイルが大きくなったりサーバの処理性能の制約により300秒で足りない場合はさらに増やしてもよいかもしれません。 |
パッケージ版WordPressを使用せず本家版WordPressを独自インストールしている場合
ユーザ定義のプロファイルから[WordPress]を選択し、[編集]をクリックして[PHPプロファイルを編集]ダイアログを表示させる。
パラメータの設定は[パッケージ版WordPressを使用している場合]と同様となります。
3-2.All In One WP Migrationのインポート容量の確認
PHPプロファイルで容量制限を回避するパラメータを設定することにより、[All In One WP Migration]のインポートの最大アップロードファイルサイズが拡大(本事例では5GB)されました。
これで、バックアップファイルの大きさを気にせずにバックアップファイルのインポートが出来るようになります。
4.まとめ
WordPressのWebサイトのバックアップについて調査・検討し、[All In One WP Migration]プラグインを用いたバックアップについて紹介しました。
また[All In One WP Migration]を使用するにあたり、アップロードファイルの容量制限を回避する手段について紹介しました。
[All In One WP Migration]を用いたバックアップはワンクリックでバックアップが取得でき、復元(リストア・インポート)も簡単にできるので快適です。
これからは、サイトの保守(記事投稿も含む)をする時には必ずバックアップを取得してから作業を行うこととし、不測の事態に備えたいと思います。
以上、最後まで記事を読んでいただき、ありがとうございました。