/home/by-natures/dev*

ソフトウェア開発者として働く人の技術的なメモ

sakuraレンタルサーバのCGI実行権限

(2009年12月19日に、以前のブログで書いた記事です。) このブログと写真サイト"By-Natures"(最近更新していません...すみません。)は、sakuraのレンタルサーバを借りて運営しているのですが、友人のsakuraの設定をした際にCGIが動かずにハマッてしまったのでメモしておきます。

  • プラン:さくらのマネージドサーバ
  • 概要:共有サーバでは他ユーザもいるため、サーバのリソースをフルに活用することは出来ないが、1ユーザで占有することでそれが可能になるとのこと。ただし共有サーバと同じく、root権限は奪取出来ない。

ということで、基本的には共有サーバで設置するような間隔でCGIを設置すればいいのですが...どうにも動かない。試したのは次の簡単なPHPスクリプトです。


ただのハローワールドですね。このスクリプトの権限は755や705と、sakuraのマニュアルに書いてある通りにしたのですが...Internal Server Error(500)が出て、うまく動いてくれません。

結論から言いますと、公開するファイルはwwwディレクトリ配下に設置しているのですが、このwwwディレクトリも755などに設定し、他人が書き込めないようにする必要がありました。占有サーバということで、sakuraの設定が悪いんじゃないか!?と疑って掛かっていて、さらにエラーログがユーザ権限的に見れないのでなかなか気づかなかったです。

これって共有も占有も、ApacheのsuExecを用いて実装してるんだと思うんですけど、/usr/bin/配下の各コマンドのパーミッションまで丁寧に分類されていましたし、ユーザにうまく住み分けさせるのは凄いなぁと感じました。