PR

[Ubuntu] レン鯖御用達 suExec と suPHP 環境を構築する(0)

多くのレンタルサーバーでは「セキュリティーのため」という理由でsuExec が有効になっていて、その恩恵というか、cgi スクリプトなどがユーザー権限で実行されるので、ファイルの読み書き削除に影響がない。

が、自分でサーバーを立てるとユーザー権限ではなくapache として(あるいはnobody などで)実行される。問題ない場合もあるが、ファイルの読み書きや削除で問題となることがある。

最初に構築したのはVineLinux の時。このときは自動的にsuExec が正しく有効化されていたものの、その恩恵を受ける位置に配置していなかったので権限で悩まされたこともあった。

それからしばらくして構築したのはCentOS の時だった。この時は少なからずsuExec が何かを知っていたから、有効に利用できるように設定しようと頑張ったけれど敷居は高かった(→ LAMP 環境をyum で簡単構築)。

suExec は当然セキュリティーのために動作するため、厳しいチェックが内部的に行われている。適当にシンボリックを貼ってもそうは問屋が卸さないと明記されている。

彼らの常識と筆者の思惑が異なるのか、それとも別々に開発でもされているからか、「ユーザー領域」でそれらが有効になるようには見えなかった。suExec の期待するところにユーザーディレクトリを配置するなどするか、suExec がユーザー領域で動作するようにする必要がある。できる人にはとても簡単なことなのだろうが、依然として敷居が高い。

これらがクリアできなければレンタルサーバーを追い出されても行き場がない。サーバーを構築するのは簡単だけれど、適切に運用できるようになるのとは全く異なる次元の話だから。

ちなみに、現状もっともレンタルサーバー環境に近いと思っているのはBlueOnyx だ。BlueOnyx はなれればとても有益だが、クセがあるのも事実。好き嫌いがあるかもしれない。

ところで、「UbuntuでApacheを設定する際のハマリどころ – yummy-yummy」を読むと、これまで知ったことと差異が多いようだ。改めて勉強するには良い機会かもしれない。

スポンサードリンク

環境構築

環境

前置きが長くなったが、まずはインストール。いつもの通りUbuntu Server 10.04 LTS をVMware Player で簡易構築し、とりあえずapache2 を突っ込む。

チェック

  • CGI が実行できるかは参考文献記載のスクリプトを利用する
  • CGI の実行権限の確認(suExec)は利用した経験のある 「サーバーアナライザー – futomi’s CGI Cafe」を使う
  • PHP が実行できるかは参考文献記載のスクリプトを利用する
  • PHP の実行権限がCGI として動作するか(suPHP など)はWordPress を利用する

と思ったが、suPHP に手を出した途端にハマった・・これはまとめ直しが必要だ・・。

→ 続きは次回

参考文献

suExec

WordPress

suPHP

コメント