- ベストアンサー
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が動くのかを教えていただけると幸いです。 どうぞ宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
mod_aliasモジュールはちゃんとロードされてますか? ブラウザにはInternalServerErrorとでるようですが、ログにはなんと出力されていますか? ただしく設定されていれば、もちろんDebianでCGI(Perlかな?)が使えないということはありません。 ディストリビューションによって、若干作法がことなることもありますので、たぶん設定がまずいのだとおもいます
その他の回答 (1)
- lowrider_2005
- ベストアンサー率40% (1520/3748)
CGIで使っているのはperlでしょうか? perlのモジュールが足りないとかperlのパスが違うとか、モジュールやperlのバージョンが違うということはありませんか? とりあえず該当cgiスクリプトをデバッグしてみてはいかがでしょうか? shで、 # perl -wc hogehoge.cgi とやってみて、「syntax OK」が返ってくるか確認してみてください。
お礼
とても丁寧なアドバイスを頂き、ありがとうございます。 動かなかった原因として、mod_aliasというperlのモジュールが足りなかったようです。このモジュールをインストールしたところ、正常にCGIが動きました。 ありがとうございます。
お礼
質問投稿後、すぐにご連絡を頂いたので、とても助かりました。ありがとうございます。 mod_aliasモジュールとあったので、早速インターネットを使って検索してみたところ、こちらのモジュールがロードされておりませんでした。 モジュールをインストールし、apacheを再起動したところ、正常にCGIが動作いたしました。 とても的確で、親切なアドバイスを頂き、真にありがとうございました。