読者です 読者をやめる 読者になる 読者になる

あおみかんのブログ

フリーランスのIT系エンジニア。ゲーム制作スタジオ4th cluster代表。

WordPressを使うならsuPHP環境にした方が良いという話

WordPress

まえがき

日本全国のサーバー管理者の皆さん。
WordPressを導入している顧客からこんな事を言われた覚えはありませんか?

  • 「テーマが管理画面からインストール出来ないんですけど」
  • 「アップロードした画像がFTPから消せないんですけど?」(え、これSFTPっていうんですか?そんなのどうでもいいです!とにかくなおしてください!!!!)
  • 「バイトがテーマをFTPで転送しようとしたらうまく行かなかったんですけど?」

などなど………

特に一つのサーバーに複数の顧客が詰め込んであって、WordPressのスペース置くからあとは勝手にしてね! みたいなケースで起きがちです。

WordPressって最近すごくて、プラグインのインストールとかテーマのインストールとか、出来るようになってきてるんですね。 だけどこれをやるにはFTPアカウントを整備するか、ファイルの書き込み権限を与えないといけません。
うちのサーバーではサポートしない!SFTPからしか認めん! …とかそういうことをしてるとWordPressのバージョンアップが面倒になって、セキュリティホールが………

※ 以後WordpressをWPと表記します。

具体的な方法

結局、SFTPで接続するユーザーと、WP側からファイルの書き込みをしているユーザーが一緒だったら全部解決するじゃん、と気づいて、suExecのPHP版を探したら、あったという。

よくよく調べてみると、モダンなレンタルサーバーでは当たり前のように採用されているみたいです。

凝った設定をすれば、WPのディレクトリだけに適用する様なこともできそうですが、
今回試した環境では、すべてsuPHPオンリーにしてしまいました。

suPHPの設定方法は、適当にぐぐるといいと思います。
ぼくはUbuntu Server12.04 LTS で設定しましたが、ほとんどaptitudeからの操作だけで簡単に設定完了しました。
WP自体のインストール、アップグレードやプラグインのインストールも、サクサクと進みました。 権限もtarから解凍したままでOKです。(ディレクトリが) 但し、wp-config.php の権限だけは後から 400 ぐらいに落としたほうがいいかもしれません。wp-installの削除も、できればやった方が良いです。

あとがき

W3 Total CacheとAPCによるキャッシュも、簡単に試した所では上手く動いているようでした。

今までWordPressでファイルの権限をどうするか、ということにきちんと言及されていた記事を見なかったので書いてみることにしました。