今の鯖の構成にしてから数年が経過していますが、データが飛ぶのは困りますよね。
自分で作ったHTMLやPHPのコードはバックアップを取っていますが、ブログのバックアップは取っていませんでした。
画像などのメディア、プラグイン、テーマ、コメント、投稿記事などなどと色々対象があるので面倒なんです。
で、プラグインでバックアップできるものがないかなぁと探してたのですが、ありました!
今回導入したのは、「BackWPup」というプラグインです。
Dropboxを使ったバックアップもできるので、今回はその方法をご紹介します。
ただ、導入しただけでは正常に動いてくれませんでした。
これは、プラグインが悪いわけではなく、私の鯖の環境による制約でした。
設定方法を紹介していきます。
[まずはサーバー上にバックアップできるようにする]
もし、バックアップジョブを動かしてみて、「The HTTP response test get an error “couldn’t connect to host”」と出れば、私と同じ問題の可能性が高いです。
もし、該当しそうなら、BackWPupの「Settings>Information」の「Server self connect」を確認してみてください。
以下のようになっていませんか?
もし、上の画像のようになっているのであれば、解決方法は簡単で、hostsに鯖の名前とプライベートIPを追加すればOKです。
この問題は、WordPressから自身のURLにアクセスする際にグローバルIPが取得されてしまうため、LAN内のプライベートIPとの紐付けができないために発生してしまうトラブルでした。
「vi /etc/hosts」で中身をチェックしてみてください。
鯖のプライベートIPと名前の紐付けがないんじゃないですか?
紐付けをすれば、通信はできるようになります。
私の場合は、これでOK~と思いきや、ダメでした。。。orz
さらに別のエラーが発生。。。
すみません、キャプチャするの忘れました。。。
エラーの内容は、「CA証明書が不正なので、正しいものを使ってください」というもの。
この原因ですが、プラグインがcURLという機能を使って、WordPressを置いているサーバーの証明書の確認を行っているため発生したものでした。
私の場合、俗に言うオレオレ認証局でオレオレ証明書を発行しているため、今回のエラーに至った次第です。
で、こいつの解決方法ですが、証明書のチェックをしないようにプラグインの一部を改修してやることで解決できます。
改修箇所ですが、「incフォルダ」の下にある「class-job.php」の436行目です。
※バージョン3.1.2でのソースコードの話です。
'sslverify' => apply_filters( 'https_local_ssl_verify', true ),
これを次のように書き換えます。
'sslverify' => apply_filters( 'https_local_ssl_verify', false ),
こうすることでサーバー上の証明書のチェックをパスすることができます。
とりあえず、サーバー上でのバックアップファイル生成なら、ここまででOK。
[メールでバックアップできるようにする]
メールでバックアップする場合は、多くの方の場合SMTPサーバーを利用してフリーメールに送る形になるのではないでしょうか?
なぜかというと、ストレージの容量が大きいからです。Gmailだと15GB、OutLook.com(旧hotmail)なら保存容量無制限です。
バックアップ環境のディスク制限を考えなくてOKです。しかも運営は天下のMicrosoft!
画像などが少なくて、バックアップがだいたい25MB未満で収まるならWEBメールサービスにバックアップデータを送りつけるようにすると良いと思います。
なぜ25MB未満かというと、SMTPサーバーの多くが添付ファイルサイズに20MB、多くても25MBまでの上限を設けているためです。
私もこの方法でバックアップをとっていこうと思ったのですが、バックアップしただけで200MBを超えていたのでSMTPサーバーの添付ファイルサイズ上限に引っかかってしまい、送信することができませんでした。残念。。。
[dropboxでバックアップできるようにする]
最終的に行き着いたのがこれですね。
Dropboxの無料版は2GBのWEBストレージが使えて、BackWPupも保存先で指定できる機能が最初からあります。
ただ、ここでもちょっと改修が必要。。。
SSL通信のやりとりでエラーが発生してしまうので、公開されているパッチプラグインを手動でインストールしましょう。
まずは、以下のコードを「backwpupsslfix.php」という名前で作りましょう。
[PHP]
/**
* Plugin Name: BackWPup disable SSL connection verifying
* Plugin URI: https://marketpress.com/
* Description: Disables the verifying from SSL connections in backup destinations
* Author: Inpsyde GmbH
* Author URI: http://inpsyde.com
* Version: 0.1
* Network: true
* License: GPLv3
* License URI: http://www.gnu.org/licenses/gpl-3.0
*/
add_filter( ‘backwpup_cacert_bundle’, ‘__return_false’ );
[/PHP]
これをWordPressの「/wp-content/plugins」におきます。
環境の都合で、上記にアクセスできない場合は、一度圧縮して、WordPressのコンパネで手動インストールすればOKです。
インストールが完了したら、このプラグインを有効化します。
あとはDropboxのアプリ認証です。
これは、BackWPupの設定画面上から行います。
アプリ認証用のボタンがあるので、それを押下して、アプリ認証手続きを済ませます。
あとは使える容量に合わせてどのくらい前までのバックアップデータを保存するかを指定してやればOKです。
[自動実行の設定]
マニュアルでもバックアップ処理は実行できますが、定期的に自動でやってもらいたいですよね?
jobのScheduleで設定することができます。
バックアップ処理はサーバーに負荷がかかりますので、深夜などのアクセス数が少ない時間に実行するように設定すると良いです。
また、頻度ですが、私の場合はサーバー上には毎日バックアップを残すように設定し、Dropbox上には週に1度バックアップを残すように設定しています。
この辺の設定はデータの重要度、ブログの更新頻度に応じて調節すると良いかと。
これでバックアップを行い、サーバー上とインターネット上にバックアップデータが残る体制を構築することができました。
皆さんもバックアップは日常的に意識して行いましょー。
でもできるだけコストは掛けないように自動化でねw
Dropboxにこれから登録する方は、以下のリンクから登録をお願いします。(友達紹介ボーナスとして保存容量が500MB増えるんです! 2GBから最大で16GBまでアップできます!)
ちなみに登録された方も500MB容量がUPしますよ!
コメント