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

WEBサーバでCGIが動作出来る方法を教えて下さい。
Internal Server Error
とのエラーが出ます。

<環境>
OS:Linux debian Sarge 2.4.27-2-386
WEB Server:Apache/2.0.54

debian Sarge 2.4.27-2-386をインストールする際に、WEBサーバ有りで
インストールしました。その後は下記に記す変更以外は設定は変更していません。
(デフォルトのままです。)


現在、/etc/apache2/apache2.confに以下の修正・追加を加えました。

AddHandler cgi-script .cgi .pl

<Directory "/var/www/apache2-default/web_data/">
Options Includes FollowSymLinks ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>



/var/www/apache2-default/web_data/は、Webページの置いてある
ディレクトリで、この中にcgiスクリプトが入っています。

/var/www/apache2-default/web_data/に配置したHTMLファイルに、

<A HREF="CGGI.cgi">CGI</A>

と記述しています。CGGI.cgiのパーミッション設定は、755としています。


WEBで情報を探していますが、OS,Apacheのバージョンが異なるためか、
複数の解決策があり、どれが適当かわかりません。(幾つか試したのですが。)
これだけに3日間ぐらいはまっています。

以上、
よろしくお願いします。

●質問者: futurista
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:2.0 AddHandler ALL Apache CGI
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● wnagata
●35ポイント

CGIでInternal Server Errorがでたときは、Apacheのエラーログを確認してください。

エラーログの場所は、apache2.confでErrorLogディレクティブで指定されています。ServerRootからの相対パスで記述されています。

CGIがPerlで書かれているときは、DOS(CR+LF)からUnix(LF)に改行コードを変換したり、先頭の#!で指定されているperlコマンドの場所を変更したりする必要があります。

http://www.aconus.com/~oyaji/faq/apache_cgi3.htm

◎質問者からの返答

ログ確認は基本ですね。すいません。

肝心のCGIスクリプトは、

CGIは他のサーバで動作しているものを、持ってきていたので、疑っていませんでした。


2 ● peppon
●35ポイント

http://q.hatena.ne.jp/answer

Apacheが生成するエラーログに原因が書いてあります。

SUEXECを利用している場合には、ファイル、ディレクトリのパーミッション、権限を確認する。 またperl -wc ファイル名でエラーが無いか確認してみてください。

◎質問者からの返答

ログ確認は基本ですね。すいません。

肝心のCGIスクリプトは、

CGIは他のサーバで動作しているものを、持ってきていたので、疑っていませんでした。


3 ● Yota
●49ポイント ベストアンサー

cgi-binというディレクトリに最初から入っているtest.cgiとかは動かしてみましたか。デフォルト設定では多分http://domain/cgi-bin/test.cgiで動くと思います。

それとseinuxが効いているとだめな場合がありますのでもし動いていたらいったんenabledにしたほうがいいです。

http://httpd.apache.org/docs/2.0/howto/cgi.html

◎質問者からの返答

>>cgi-binというディレクトリに最初から入っているtest.cgiとかは動かしてみましたか。

これは見当たりませんでしたが???

>>デフォルト設定では多分http://domain/cgi-bin/test.cgiで動くと思います。


http://domain/cgi-bin/test.cgiでパスを切ったうえで、

エラーログを確認したところ、どこにcgiスクリプトを配置すればよいかがわかりました。

/var/www/apache2-default/にcgi-binというディレクトリを作ったうえで、

/var/www/apache2-default/cgi-binにcgiスクリプトを配置したら、

実行出来ました。

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

関連質問


●質問をもっと探す●



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