先週末に、ロリポップサーバに CGI をセットアップしたのだが、下らんことでハマってしまったので、一応メモっとくか。
簡単なメールフォームの CGI なのだが、「サーバエラー 500」が発生する。
うちのサーバ上でテストをしてから持っていったので、エラーが出るとしたら sendmail とかのパス間違いとかかなあ・・・と思って、エラー画面からリンクされている「よくある質問集」を見に行くと、
・ファイルやディレクトリのパーミッションが「777」になっていませんか?
セキュリティ上、パーミッション「777」は動作しないようになっています。
設定いただいているパーミッションをご確認ください。
・・・だって。
ああ、そういえばログを出力するディレクトリのパーミッションを 777 にしてたなあっと思って 755 に修正して、CGI は元々 755 だったし大丈夫かってもう一度実行してみたけど、やっぱり 500 エラー。
ええ?パーミッションの問題じゃないの?ってしばしハマってしまった。
結局、ロリポップサーバって suEXEC を導入してるので、CGI のパーミッションは 700 でないとダメなのを、マニュアルページを読んで確認した。
なんだよ、もう!(^^;
「777 はダメ」とかじゃなく、「パーミッションのエラーの可能性があるので、マニュアルページを確認!」みたいな FAQ にしとけよ!・・・と思ったという話。
コメントする