WordPressの自動アップグレード ボタン
現在WordPress 2.7で1サイト、2.7.1で2サイトの管理しています。いずれもブログ未経験の方から依頼されたもので、インストールと設定及びデザインは私がしました。WordPressでの記事の入力は普通の日本語で行い、写真のアップロードも簡単なためか、不慣れな方でもなんとか更新ができたようです。htmlコードを知らなくても作成できるんですから、Blogとは便利なものです。
さて、現在WordPressの最新バージョンは 2.9.1なので、これらのサイトのバージョンアップを考えなくてはなりません。幸い、WordPressコアのアップグレードは、WordPress 2.7以降では1クリックでアップグレードできる機能が搭載されています。それなら簡単なはずなんですが・・・XREA及びCORESERVERでは、そのままボタンを押してもエラーが表示されアップグレードできません。前から気付いてはいたものの、あとで調べてからやろうなどと思っているうちに今になってしまいました。
XREA、CORESERVERでWordPressを自動アップグレードする。
XREA及びCORESERVERで、自動アップグレードが出来ない原因を調べると、割と簡単に判明しました。 これらのサーバではPHPがセーフモードで動作しているため、この状態では新バージョンをダウンロード・展開するディレクトリを WordPress が作成できないことが問題のようです。そこで、次の内容を書いた .htaccess ファイルを wp-admin/ ディレクトリに置き、PHP を CGIモードで動かすことにより対処できるとのことでした。
XREA・CORESERVER.JPで 必要なスクリプトをCGIモードで動かす.htaccess
WordPress 2.7.xの場合:
# 画像・ファイルアップロード <files async-upload.php> AddHandler application/x-httpd-phpcgi .php </files> # プラグイン新規インストール <Files plugin-install.php> AddHandler application/x-httpd-phpcgi .php </Files> # テーマアップグレード <Files update.php> AddHandler application/x-httpd-phpcgi .php </Files> # 本体アップグレード <Files update-core.php> AddHandler application/x-httpd-phpcgi .php </Files> # プラグインアップグレードも update.php?
セーフモードによる制限と対処方法
PHP がセーフモードで動作するサーバの場合、WordPress の一部の機能に制限が生じます。このページでは、セーフモードにより問題が生じる機能とその対処方法をまとめています。
この.htaccessファイルを転送後、管理画面から自動アップグレードのボタンを押すと、以下の画面になりアップグレードが完了しました。念のため、事前にデータベースのバックアップとWordPress全ファイルのバックアップを作っておきましたが使わずに済みました。これはとても便利な機能ですね。
WordPress 2.9.1
これで3つのサイトともWordPress 2.9.1にアップグレード出来たので、.htaccessをWordPress 2.9.x用に書き換えました。
XREA・CORESERVER.JPで 必要なスクリプトをCGIモードで動かす.htaccess
WordPress 2.9.x の場合:
# 画像・ファイルアップロード <files async-upload.php> AddHandler application/x-httpd-phpcgi .php </files> # プラグイン・テーマ 新規インストール/アップグレード <Files update.php> AddHandler application/x-httpd-phpcgi .php </Files> # 本体アップグレード <Files update-core.php> AddHandler application/x-httpd-phpcgi .php </Files>
今回の作業はこれで完了です。・・・しかしながら、問題なのはこのBlogのほうで、ここはMT3.3で動作してるため、いいかげんMovable Type4以降にしなければならないのだが、手順が面倒のようです。はたして上手くいくのだろうか?