coreblog.jpでクイックインストールしたWordPressに外部アプリからXML-RPCで画像投稿を行うと失敗する。
このブログは以前はVPSで一から構築して運用していましたが、現在はcoreblog.jpのサービスを利用しています。
coreblog.jpはとにかく安く、そしてWordPressのクイックインストールもできます。
この手のレンタルサーバの中では格安の部類なので、やはりあまり負荷には強くないようですが、それでもうちくらいのPV数のブログであれば余裕で運用できています。
ブログをやってみたいけどフリーのブログサービスだとちょっと不自由・・・くらいのレベルの人向けですね。
ただ、ここはWordPressのクイックインストールはできるのですが、デフォルトの設定のままだと問題があるケースがあります。
クイックインストールして最新バージョンに更新した後、外部のブログエディタ(Windows Live WriterとかiPhone,android用のWordPressアプリ)でXML-RPCを使った投稿をする場合、文章だけだと問題なく投稿できますが、画像を投稿するとエラーになってしまいます。
たとえば、Windows Live Writerの場合はこんな感じのエラーになります。
WordPressはバージョン3.5以降XML-RPCがデフォルトで有効になっているため、サポートされていないと言うことはあり得ません。
この場合原因は、パーミッションです。
XML-RPCというのはXMLでエンコードしてHTTPを使用して通信を行い記事をリモート投稿する仕組みなので、ファイルシステムに書き込むのは当然HTTPサーバの実行ユーザーになります。
つまり、画像アップロード用のディレクトリにファイルを格納するユーザーは所有者でもグループでもなく、その他のユーザーなので、その他に書き込み権限を与えてあげないといけないのでした。
デフォルトのパーミッションは755なので、書けなかったんですね。
書き込み権限なんて気にしないぜ!って人は、アップロード先ディレクトリの書き込み権限を修正すればエラーは消えますが、757や777なんかにしたら怖くて眠れない!って人は、XML-RPCは諦めて画像はFTP経由でアップロードしましょう。