PerlをCGIで実行した際に、下記が出る事があるかと思います。
CGI 実行エラーです
500 : Internal Server Error
これは、「エラーがでたよ」と教えてくれてるだけで、具体的な話はなーんも言ってません。
具体的な内容は、基本エラーログに出力されます。
共用サーバの場合は。。。見れない場合もありますが。。。
設定を変更していなければ下記ファイル名で、どっかに出力されてます。
error_log
パスは下記あたりですかね?
/var/log/httpd/error_log
エラーが発生する原因は以下多いようです。
・実行権限が付与されていない(755 とか 700 とかを設定)
・そもそも文法に間違えあり
・改行コードがLFになっていない
・cgi-binディレクトリ以下でしか実行できない
等ですかね。
あと特殊なケースとして、suExecによる制限に引っ掛かる時ですかね。
これはCGIを実行するユーザを指定するApacheのモジュールです。
これが設定されていると、ファイル、及び設置してあるディレクトリのユーザとグループが一致していないと、実行ができないというものです。
/etc/httpd/conf/httpd.conf や /etc/httpd/conf/ssl.conf 等のVirtualHostディレクティブに下記が、記載されています。
SuexecUserGroup apache apache
一つ目の引数apacheはユーザ名
二つ目の引数apacheはグループ名
を指定してます。
なので、下記のように変更すれば
SuexecUserGroup admin root
rootグループのadminユーザでCGIを実行する事になります。
ちなみに無効にしたい場合もあるかと思います。その時は
#SuexecUserGroup apache apache
とコメントしてしまえばOKです。
エラー解消されず、まだ試して無い方は試してみてわ。