WebScripter.jpをご覧頂きありがとうございます。
このサイトについてご意見などあればお気軽にメッセージをお送り下さい。お待ちしています。



captcha

Technical note

CoreserverでBackWPupを導入するのに気をつけること。

2013.03.29

今まで追加しようと思いつつしていなかったWordpressのバックアッププラグインをようやく検討、そして多機能で評判の良いBackWPup(ver.3.0.6)をインストールしましたが、このサイトのサーバー、Coreserverの仕様が原因でかなり苦戦しました。今回はその苦労した点を紹介します。

Coreserverの仕様について。

CoreserverでのWordpressの運用でまずつまづくのが、PHPのセーフモードが有効に設定されていること。これによりモジュール版ではサーバー上のファイルやディレクトリの操作が制限され、画像のアップロード、サーバー上でのプラグインの追加/削除やテーマの編集等などいくつかの操作ができません。CGI版ではこの制限がありませんが、.htaccessにphpをcgiとして実行できるよう追加する必要があります。

WordPressの場合、随分前の記事、「CoreserverでWordPressのテーマ編集が出来ない。」でも書きましたが、実行したいphpファイルを指定する方法で記述します。例えば、wp-admin/admin.phpの実行を許可する場合、次のようにします。

Apache
<Files admin.php>
 AddHandler application/x-httpd-phpcgi .php
</Files>

以上のことをふまえて話を進めます。

BackWPupがインストールできない場合。

まずはインストールを実行すると、次のエラーが表示され、インストールできません。

BackWPupインストール時のエラー表示

PHPのバージョンが5.2.6以上じゃないと動かないよ、とのこと。Coreserverのサーバー仕様表のソフトウェア仕様でバージョンを確認すると、モジュール版は5.2、CGI版はPHP5.3、PHP5.4、PHP4/5/6となっています。phpinfoでも確認したところ、動いているのは5.2.5でした。また、インストールを実行しているのが、URLを見ればわかる通りplugin.phpで、すでにこのファイルは次のように実行許可済み。

Apache
<Files plugins.php>
 AddHandler application/x-httpd-phpcgi .php
</Files>

Coreserverの「PHPをCGIとして動かす方法について」には、この記述の場合「PHP5が標準のサーバーでは「.php」をCGI版PHP5として動かす」とあります。確証はないですが、このままだとCGI版でも5.2.5で実行している気がしたので、バージョンを5.3と明示して一行追加しました。

Apache
<Files plugins.php>
 AddHandler application/x-httpd-phpcgi .php
 AddHandler application/x-httpd-php53cgi .php
</Files>

これにより無事インストールできます。

BackWPupの管理画面のエラー表示への対処。

インストールが完了すると、左のツールバーにBackWPupのボタンが表示されます。しかし、その管理画面のどのページを開いても、ページの上にエラーが表示されます。

エラー表示

実行しているのはadmin.php。このファイルには実行を許可していなかったので、追加することで解決しました。

Apache
<Files admin.php>
 AddHandler application/x-httpd-phpcgi .php
</Files>

admin.phpは、バージョンを明示しなくても大丈夫でした。

これらの対処後にバックアップのjobを新規作成し、バックアップしてみましたが、とりあえず問題はありませんでした。しかし、使っているうちにまたこの記事に関連するような問題が出た場合は追記します。