• ベストアンサー

サクラのレンタルサーバーです。CGIが動きません

サクラのレンタルサーバーを借りました。 早速CGIを試そうと思ったのですが、原因不明のInternal Server Errorが出ます。 cgi-binはいらないとのことですので、wwwにそのまま入れました。 index.htmlも同じ場所にありそれは出ますのでパス間違いではないです。 またパーミッションも777にしてみましたが駄目です。 #!/usr/local/bin/perl print "Content-Type: text/html\n"; print "\n"; print "<html>"; print "<body>"; print "abc"; print "</body>"; print "</html>"; こんな感じで、TELNETでログインして実行も出来ます。 bash-2.05b$ ./index.cgi Content-Type: text/html <html><body>abc</body></html>bash-2.05b$ いろいろ調べたのですが ◆パーミッション→OK ◆TELNETで実行してみる→OK ◆perlへのパスは?→/usr/local/bin と /usr/bin どちらでもいいそうです。験しに変えましたが状況変わらず。 何か気が付いたことがあれば教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • TMEspion
  • ベストアンサー率27% (5/18)
回答No.1

SAKURAサーバー利用者です。 私のサーバーの方で既に動いているCGIファイルを確認した所、パーミッションは「755」になっていました。 試しにパーミッションを「777」に変更してみたら、Internal Server Errorと表示されちゃいました。 パーミッションは「755」で試してみましたか?

azicyan
質問者

お礼

助かりました!!!! 755にしたら動きました!!! ありがとうございます。 自分だけだったら、いつまでたってもわからなかったと思います!

azicyan
質問者

補足

パーミッションがゆるすぎると駄目・・・ そんなことってあるのですね。 試してみます。 ありがとうございます

その他の回答 (1)

回答No.2

まず基本的に.cgiとCGIを置くディレクトリのパーミッションは705にしてください(まあ755でもいいっちゃいいが) これでほとんどのUNIXサーバーはOKです。(後述のSuexec有りでも無しでも) SAKURAインターネットのサーバーはかなり昔から SUEXECを使っていますので .cgiファイルとそのディレクトリに対してオザーやグループに書き込み権限を与えると SUEXECのセキュリティチェックに引っかかって 結果Internal Server Errorになります 自分でサーバーを構築する場合だとSuexecによるエラーはほかにもありますがね http://oshiete1.goo.ne.jp/kotaeru.php3?q=2154099 のとか ユーザーtarou の領域に 他のユーザー(jirouとかrootとか)が所有者になるcgiは動かないとか、、、

azicyan
質問者

お礼

なるほど、納得です。 たくさんの人が共用するサーバーだから、 otherやgroupに権限を与えないようにしましょう、ってことですね! 安易に777にしてしまいました。 テストだから良いやって、いつも癖に成っていました。 勉強になります。 早速やってみます!

azicyan
質問者

補足

理由まで教えていただいて大変ありがたいです。 きっと、自分だけでは解決できなかったと思います。 始め駄目だったのですが、 格納ディレクトリも777にしていたのが駄目な原因でした。 ディレクトリも755にしないと駄目なんですね。

関連するQ&A