カテゴリー
WordPress

php ファイルのパーミッションを一括で変更するには

XREA のサポートボード。2009-07-03 13:53 現在。ごらんのとおり、ここ数日障害が頻発しています。ところがサポートからのアナウンスは 2 件ほどしかありませんでした。僕のエラーについては何もアナウンスがありませんでした。
XREA のサポートボード。2009-07-03 13:53 現在。ごらんのとおり、ここ数日障害が頻発しています。ところがサポートからのアナウンスは 2 件ほどしかありませんでした。僕のエラーについては何もアナウンスがありませんでした。

2009 年 6 月末、それまで使用していた XREA が原因不明の不具合を発生させるようになりました。多くのユーザーが僕と同じようなトラブルを体験しており、サポートの対応も以前からあいまいでしたので、さくらインターネットに乗り換えることにしました。

XREA では php ファイルがセーフモードで実行されていましたが、さくらインターネットでは cgi モードで実行されています。僕は詳しい仕組みはよくわからないのですが、この場合 php ファイルのパーミッションを 755 に設定しなければならないそうです。

ところが僕は UNIX や Apache にはとんと疎いので、そうとは知らずに WordPress のファイルをさくらインターネットにアップロードして、php ファイルに記述されたプログラムがブラウザ上にそのまま表示されるのを見て、不思議に思っていたのでした。しかもややこしいことに、ダッシュボードまではきちんと php ファイルは実行されているのですが、プラグインのアップデートをするリンクをクリックしたところ、php ファイルに記述されたプログラムが表示されたりしたのでした。

原因がわかったので、さっそくパーミッションの変更方法について調べました。初めに出てきたのは FFFTP によってアップロード時にパーミッションを設定する方法でしたが、すでに WinSCP を使ってアップロードしきってしまったあとでしたので、この方法をとることはできませんでした。

次に Telnet でサーバーに接続して、find コマンドを使用して変更する方法を発見しました。ところがさくらインターネットでは、セキュリティホールが見つかったという理由で、2008 年の末に Telnet サービスを終了していましたので、この方法もとることができませんでした。

ところが、Telnet 以外にもサーバーにコマンドを実行させる方法がありました。さくらインターネットのこちらのページにマニュアルがありますが、SSH を利用する方法です。マニュアルに従って Poderosa を起動したら、以下のコマンドを実行させます。

find / -name ‘*.php’ -exec chmod 755 {} \;

Poderosa の画面。
Poderosa の画面。

このコマンドを実行すると、php という拡張子の付いているすべてのファイルのパーミッションを、755 に変更しようとしてくれます。これで WordPress が cgi モードでもきちんと動作するようになります。

ところで…このコマンド、僕たちサーバーのレンタルユーザーが本来パーミッションを変更できないような、システムのファイルのパーミッションまで変更しようとしてしまいます。もちろんサーバー側で変更できない設定になっているようなので、問題は起こらないのですが、ちょっと気分が悪いです。本当は自分の www フォルダ以下にのみ適用させたいのですが、どうすればいいのかよくわかりません 😐 。

コメントを残す