• ベストアンサー

apacheによるCGIの使用について

極めて初歩的な質問かも知れませんが、ご回答頂けると幸いです。 現在、私は玄箱(非HG)を使用して、apache1によるホームページを開いています。OSはMontaVista LinuxとDEBIANの二種類を使用しているのですが、MontaVistaLinuxの方で稼動しているapacheでは、正常にCGIが使えるのに対し、DEBIANの方では、MontaVistaLinuxと全く同じバージョンのapacheを使用し、CGIの設定も全く同じ状態であるにも関わらず、何故かCGIが使用できません。必ずInternalServerErrorとなってしまいます。何度もCGIの設定を見直したのですが、どうしてもDEBIANにインストールしたapacheではCGIが使えませんでした。DEBIANでapacheは使用できないのでしょうか? 現在のCGIに関する設定は以下のようになっています。 <IfModule mod_alias.c> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ # # "/usr/lib/cgi-bin" could be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # <Directory /usr/lib/cgi-bin/> AllowOverride None Options None Order allow,deny Allow from all </Directory> </IfModule> また、AddHandler cgi-script .cgiの行はコメントアウトしています。 参考サイト:http://www5.plala.or.jp/vaio0630/apache/apache_cgi.htm DEBIANでapacheが使用できないとは思えないのですが、現実に使用できず、とても悔しいです。 もしDEBIANにインストールしたapacheでCGIを使える方がいましたら、どのような設定をすればCGIが動くのかを教えていただけると幸いです。 どうぞ宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • kalze
  • ベストアンサー率47% (522/1092)
回答No.1

mod_aliasモジュールはちゃんとロードされてますか? ブラウザにはInternalServerErrorとでるようですが、ログにはなんと出力されていますか? ただしく設定されていれば、もちろんDebianでCGI(Perlかな?)が使えないということはありません。 ディストリビューションによって、若干作法がことなることもありますので、たぶん設定がまずいのだとおもいます

KATTSUN2154
質問者

お礼

質問投稿後、すぐにご連絡を頂いたので、とても助かりました。ありがとうございます。 mod_aliasモジュールとあったので、早速インターネットを使って検索してみたところ、こちらのモジュールがロードされておりませんでした。 モジュールをインストールし、apacheを再起動したところ、正常にCGIが動作いたしました。 とても的確で、親切なアドバイスを頂き、真にありがとうございました。

その他の回答 (1)

回答No.2

CGIで使っているのはperlでしょうか? perlのモジュールが足りないとかperlのパスが違うとか、モジュールやperlのバージョンが違うということはありませんか? とりあえず該当cgiスクリプトをデバッグしてみてはいかがでしょうか? shで、 # perl -wc hogehoge.cgi とやってみて、「syntax OK」が返ってくるか確認してみてください。

KATTSUN2154
質問者

お礼

とても丁寧なアドバイスを頂き、ありがとうございます。 動かなかった原因として、mod_aliasというperlのモジュールが足りなかったようです。このモジュールをインストールしたところ、正常にCGIが動きました。 ありがとうございます。

関連するQ&A