ボールを蹴りたいシステムエンジニア

ボール蹴りが大好きなシステムエンジニア、ボールを蹴る時間確保の為に時間がある時には勉強する。

【WordPress】BackWPupでのバックアップエラー発生時の対策

WordPressのバックアップにBackWPupを利用しているのですが、ある日から突然エラーが発生しバックアップ失敗の日々が続いていました。
エラーが発生してから約2ヶ月、時間がなかったので放置していましたが、ようやく対応したのでメモ。

事象

とある日のBackWPupメールのメッセージ。
こんな感じでエラーメッセージが毎日届く…

[08-12月-2014 03:06:01] Uninitialized string offset: 0 
[08-12月-2014 03:06:01] ERROR: Dropbox API: (35) error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure 
[08-12月-2014 03:06:01] 2. Try to send backup file to Dropbox … 
[08-12月-2014 03:06:01] Uninitialized string offset: 0 
[08-12月-2014 03:06:01] ERROR: Dropbox API: (35) error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure 
[08-12月-2014 03:06:01] 3. Try to send backup file to Dropbox … 
[08-12月-2014 03:06:01] Uninitialized string offset: 0 
[08-12月-2014 03:06:01] ERROR: Dropbox API: (35) error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure 
[08-12月-2014 03:06:01] ERROR: Step aborted: too many attempts!

[08-12月-2014 03:06:01] Database check done! 
[08-12月-2014 03:06:01] One old log deleted 
[08-12月-2014 03:06:01] ERROR: Job has ended with errors in 22 seconds. You must resolve the errors for correct execution.

見て分かるように、私はバックアップ先にDropBoxを利用しているのですが、
どうやらDropboxとの通信の所でエラーが発生しているみたい。

エラー発生後はDropbox側にバックアップファイルは転送されず。。

調査

で、調べてみると、参考になるサイトを発見

BackWPupが動かないときのチェックポイント | ITコンサルタント日記

原因は、今年発見されたSSL 3.0の重大な脆弱性の対策に関連しているみたいでした。

対策

BackWPupプラグインの下記ファイルを修正。

plugins/backwpup/inc/class-destination-dropbox.php
plugins/backwpup/inc/class-destination-sugarsync.php

下記処理を全て修正。

修正前

curl_setopt( $ch, CURLOPT_SSLVERSION, 3);

修正後

curl_setopt( $ch, CURLOPT_SSLVERSION, 0);


修正後はバックアップが正常に行われDropboxへのバックアップファイル転送も確認できました。

解決!