よろしくお願いします。
http://www.hatena.ne.jp/1111645399#
人力検索はてな - FreeBSD&Apache上でバイナリCGIを実行する為の設定について説明しているページをさがしてください。 よろしくお願いします。..
説明してるページの紹介でなくて申し訳ないですが・・・
C言語のようにコンパイルしたバイナリCGIであろうとPerlのようなインタプリタなCGIでもApacheでの設定は同じです。
オプション(Options)でExecCGIが有効であればバイナリCGIはそのまま動いてくれます。
もちろん、CGIとして動かす拡張子を
AddHandler cgi-script .cgi
で指定してあるものでなければいけないですが。
(デフォルトではcgiがCGIとして動かす拡張子として既に指定されているはずです)
つまり、Perlのようなインタプリタ言語製のCGIは呼び出されるとスクリプトの一行目に書かれたコンパイラのパスにスクリプトが引き渡され実行されますが、バイナリの場合はそのまま自身で実行されます。
よって、Apacheの設定において違いはありません。
http://www.hatena.ne.jp/1111645399
人力検索はてな - FreeBSD&Apache上でバイナリCGIを実行する為の設定について説明しているページをさがしてください。 よろしくお願いします。..
もういちど失礼します。
> バイナリだとInternal Server Errorになります
まずApacheのエラーログを確認してみるのがいいです。
それと、そのバイナリCGIがFreeBSD用にコンパイルされたものなのか、またパーミッションが間違っていないかも確認してみてください。
ちなみに、たまに拡張子なしのファイルをCGIとして動かしているのを見かけますが、そんなときは以下のようにしています。
<Files ”hoge”>
SetHandler cgi-script
</Files>
こうすると、hogeというファイルをCGIとして実行してくれます。
これは、特定のファイルや拡張子のないファイルををピンポイントでCGIとして指定するときに便利です。
ありがとうございます。
原因はライブラリの不足だったようです・・・。
とりあえず解決しました。
ありがとうございました〜
AddHandler cgi-script .cgi
は加えてあります。
テキストのCGIは動作を確認しています。
で、バイナリだとInternal Server Errorになります。
色々調べたのですが
AddHandler cgi-script .cgiをコメントアウトすると動くとか(動いた人もいるようで・・・)
バイナリの実行許可が必要だとか。
設定自体は間違っていないかと・・・。