XREA では PHP がモジュール版・セーフモード(SAFE MODE)環境で動くようになっているので、WordPress から自動生成されるディレクトリとファイルの所有者が「apache」になってしまい、以降そのディレクトリに WordPress から書き込みできなくなる。
それが原因でファイルアップロード機能やプラグインの自動アップグレード機能、本体のアップグレード機能が使えなかったりする。
解決方法はいくつも参考サイトがあるのでgoogle先生にお任せするとして、自分用にメモ。
手動でディレクトリを作成する方法もあるが、簡単な「PHP を CGI モードで動かす」方法で実行。以下は WordPress 2.5 以降の方法。(特に指定するファイル名)
- アップロードディレクトリの設定
- PHP を CGI モードで動かす
管理パネル>設定>その他の設定、アップロードするファイルの保存場所を「wp-content/uploads」に設定。
「アップロードしたファイルを年月ベースのフォルダに整理」は適宜。(アップロードするファイル数が多くなる場合はチェックしておいたほうがいい)
wp-admin/ ディレクトリに.htaccess ファイルを作成し、次の1行を追加。
AddHandler application/x-httpd-phpcgi .php
ただ、これだと wp-admin/ 以下全ての PHP が CGI モードになり動作が遅くなる可能性があるので、上記1行の代わりに、アップロードに関わるファイルのみ指定したコードを追加。
<files async-upload.php> AddHandler application/x-httpd-phpcgi .php </files>
ファイルアップロードだけなら、async-upload.php のみの指定でOK。
#!/usr/local/bin/php の追加やパーミッションの変更は不要。
あとプラグインの自動アップグレードも使う場合は、上記に続けて
<files update.php> AddHandler application/x-httpd-phpcgi .php </files>
も追加する。
更に、プラグイン新規インストールも使う場合は「plugin-install.php」を、本体の自動アップグレードは「update-core.php」も指定する。
あとプラグイン「WP-DBManager」を使う場合は「admin.php」を指定。
基本これで動作するようになると思うが、動かない場合は以下もチェック。
- 文字コード、改行コードを確認
- パーミッションを 707 に設定
- ファイル所有者の修正
- XREA 自動広告から手動広告へ切り替え
- 自動広告をオフ
- 手動広告を挿入
- XHTML の記述に変更
- 修正済み header.php をアップロード
文字コード、改行コードが Wordpress 本体ファイルと合ってるかを確認
XREA の場合はパーミッションを 707 に設定
セーフモードに変更する前にディレクトリ作成されてる場合、所有者の変更する必要がある。
XREA 管理画面の 管理メニュー>ツール>「ファイル所有者の修正」にて修正。
広告自動挿入だと先頭にブランク行が出て WordPress の動作に問題が生じる事があるらしいので .htaccess で自動広告を切り、テンプレートファイルに広告コードを挿入する。
ブログ表示ディレクトリの .htaccess に次の1行を追加
LayoutIgnoreURI *
これで広告が非表示になる。
(この作業の前に、ブログページのソース1行目がブランクになっていることを確認し、作業後広告が非表示になった事とソース1行目がブランクになっていない事を確認)
XREA 管理画面>広告HTML をクリック、ソースコードをコピーし、使用しているテーマのテンプレートファイル「header.php」の該当位置に挿入。
挿入位置は XREA の規定に従う事。
コードを「XHTML 1.0 Transitional 」に変更。
XREA の正式対応はまだ?のようなので、XREA&CORE SUPPORT BOARDを参考に。
sb.xrea.com/showthread.php?t=888
sb.xrea.com/showthread.php?t=2732
このあたりを見る限りでは公式ではないが、サポート的にOKを出してると解釈して
<a href="http://img.xrea.com/ad_click.fcg?site=ユーザーサーバ.xrea.com" target="_blank"> <img src="http://img.xrea.com/ad_img.fcg?site=ユーザーサーバ.xrea.com" border="0" alt="xreaad"> </a>
に変更
(arget属性を外してもOKとの事なので、そのあたりは好みで)
広告表示やソースが正しい事を確認。
セーフモードや XREA での WordPress 情報は下記を参照。
セーフモードによる制限と対処方法
XREA における WordPress関連情報
WordPress 本体のコアアップグレードについては後日。

[...] 参考サイト: »セーフモードによる制限と対処方法 - WordPress Codex 日本語版 »[WordPress]xrea系サーバーで自動アップデートする方法 - 猫でいいです(猫雑記) »XREA で WordPress アップロード機能を使う - WordPress備忘ログ [...]