FreeBSD&Apache上でバイナリCGIを実行する為の設定について説明しているページをさがしてください。

よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/03/24 15:23:19
  • 終了:--

回答(2件)

id:Iwa No.1

Iwa回答回数120ベストアンサー獲得回数62005/03/24 15:39:41

ポイント25pt

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の設定において違いはありません。

id:Sprint

AddHandler cgi-script .cgi

は加えてあります。

テキストのCGIは動作を確認しています。

で、バイナリだとInternal Server Errorになります。

色々調べたのですが

AddHandler cgi-script .cgiをコメントアウトすると動くとか(動いた人もいるようで・・・)

バイナリの実行許可が必要だとか。

設定自体は間違っていないかと・・・。

2005/03/24 15:56:15
id:Iwa No.2

Iwa回答回数120ベストアンサー獲得回数62005/03/25 13:20:28

ポイント25pt

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として指定するときに便利です。

id:Sprint

ありがとうございます。

原因はライブラリの不足だったようです・・・。

とりあえず解決しました。

ありがとうございました〜

2005/03/27 03:34:45

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません