人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: Sprint
●カテゴリ:コンピュータ
✍キーワード:Apache CGI FreeBSD バイナリ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Iwa
●25ポイント

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

◎質問者からの返答

AddHandler cgi-script .cgi

は加えてあります。

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

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

色々調べたのですが

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

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

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


2 ● Iwa
●25ポイント

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

◎質問者からの返答

ありがとうございます。

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ