cgiにアクセスしたときなどに、表示されることがあるこのError500「Internal Server Error」
いまさら、私のブログで書く必要もないほど、解決方法はネットのいたるサイトで紹介されていますが、本日かなりつまったのでメモ。
- perlでパスは間違ってない。
- パーミッションは755にしている(705や700、701、777も試した)。
- プログラムミスが起こりえないほどの単純なプログラムにアクセス(別のサーバでは正常に動作している)。
にもかかわらず、Error500が出たまま。
かなり悩みましたが、解決してみれば単純明快。
httpd.confをのぞいてみたら「SuexecUserGroup」でユーザとグループが縛られてました。
それ以外のユーザでアップロードしたcgiは当然実行されないってことで。
su権限で各ファイルとフォルダのユーザとグループを変更することも考えましたが、そうすると上書きアップロードができなくなってしまうので(グループとか調整すればいいんだけど)、FTP使ってcgi-binフォルダにアクセスするのは自分だけだし、「SuexecUserGroup」の方を自分のユーザとグループに修正し、アパッチを再起動しました。