まずはLAN内だけで掲示板などのCGIを実行できるようにしてみよう、ということでApacheを使ってCGIの設定をしているんですが、ブラウザからCGIファイルを起動してもInternal Server Errorと出てしまいます。よってそれ以前ということで・・・

 コマンドラインから「perl test.cgi」のようにCGIファイルを実行してみるとちゃんと動作するんですが、「type -a perl」で検索したフルパスをそのままCGIファイルに「#!/usr/bin/perl」などのように書いても、ファイルがコマンド化されてくれません。でも、perlの実行ファイルは存在していました。

 これは、どうすれば解決できるのでしょうか?

A 回答 (4件)

パスの設定は使っているシェルによるので、


参考URL等を参考にしてください。

簡単に書くとsh系(bash等)は.bachrcのPATHの行に「:」で区切って
「./」を付け足します。

参考URL:http://x68000.startshop.co.jp/~68user/unix/envir …
    • good
    • 0
この回答へのお礼

 ちょっとパッと見では分かんないですね(汗)。
でも、そんな難しいことじゃないと思うので参考URL頼りでやってみます。

 一旦スレッドを終えます。
 続きのような質問をしたときには、またぜひよろしくお願いします。
 どうもありがとう御座いました。

お礼日時:2001/11/05 17:05

> 直後に「text.cgi」と入力しても、コマンドが見つかりませんと


> 言われました。どうやら違ってたみたいです。残念。

たいていの初期設定ではカレントディレクトリでにパスがとおってません。
カレントディレクトリのコマンドを実行することを明示して、

./test.cgi

と打ってみてください。

あとCGIソースが間違っていても Internal Server Error がでます。

この回答への補足

 仰るとおりCDを明示して「./text.cgi」としたら、ちゃんと実行してくれました。
この時点で、CGIファイルのコマンド化が成功したわけなんですが、どうやったらCDを明示する「./」を入れない、つまりパスを通せるようになるんでしょうか?

 ちなみに、まだブラウザでは完全にISErrorで、コマンドラインからの段階でした。

 長い話ですが、よろしくお願いします。

補足日時:2001/11/02 15:57
    • good
    • 0

Apacheで、そのCGIが置かれている場所は、Perl等のCGIの実行が許可されている場所なのでしょうか?



 ためしに、ApacheのCGIを実行してみて下さい。

 または、Apacheをセットアップしたディレクトリをみて下さい。ね。

この回答への補足

CGIファイルが置いてあるところは「/home/httpd/cgi-bin/」です。
 httpd.confとかいうファイルの中身を色々といじってはみました。
そこで「ScriptAlias」というものを「ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/」に設定しました。
同時に「AddHandler cgi-script .cgi」というのも設定しましたが、これではダメでしょうか?ダメなんですが(汗)。

「ApacheのCGI」というのがよく分からないんですが、それはなんですか?
また、セットアップしたディレクトリを見たとして、そこに何があるんでしょうか?

補足日時:2001/11/01 13:58
    • good
    • 0

そのCGIに実行ビットが立っていないのかもしてません。



chmod +x test.cgi

として、実行ビットを立てて試してみてください。

この回答への補足

 うーん、やってみたけれど、直前で「perl text.cgi」を行ったら実行されまして、
その後に「chmod +x text.cgi」をしたら一見無反応(プロンプトが次の行に出た)だったので恐らくできたと思われます。
直後に「text.cgi」と入力しても、コマンドが見つかりませんと言われました。
 どうやら違ってたみたいです。残念。

補足日時:2001/11/01 13:54
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング

おすすめ情報