CGI-BBS > CGI > Perl > ブラウザで動作しないのは?


カレッヂ
カレッヂ


質問者 UMA  投稿日 3/2(金) 11:41:45
初めて書き込みます。初心者すぎて質問するのも迷ったのですが、
あまり時間もかけられない状況なので教えていただけると幸いです。

HTMLを単純に吐くだけのスクリプトを作成しました。
perl -wcで構文チェックはOKと出て、
コマンドライン上ではHTMLは吐きました。

しかし、NetScapeで動作させて見るとスクリプトの
内容がベタで表示されてしまいました。
(#!/usr/local/bin/perlすらベタで表示)

何が問題なのでしょうか。
環境はTurbo Linux Server 6.1(日本語版)
パスは/home/~username/public_html/cgi-bin/、
追加したのは.htaccessだけです。

よろしくお願いいたします。
回答者 しあわせのツボ  [削除]  投稿日 3/2(金) 13:08:51
ソースがそのまま表示されるのであれば、httpdがCGIだと認識していません。
CGIの動作を許可した上で、.cgiはCGIプログラムだよと教えてあげる必要があります。
.htaccessの内容と、httpd(Apacheかな?)の設定を確認してみて下さい。
質問者 UMA  [削除]  投稿日 3/2(金) 13:37:45

早速のご回答ありがとうございます。
Apacheは1.3.12が動作しています。

.htaccessは
------
Options ExecCGI Includes
Addtype text/x-server-parsed-html .html
Addtype text/x-server-parsed-html .htm
Addtype application/x-httpd-cgi .cgi
------
だけ記述しています。

TurboLinuxのサイトでhttp://localhost/cgi-bin/???.cgiが
デフォルトになっているので/home/httpd/cgi-binにcgiを置けば
表示されるというQ&Aを見つけました。

httpd.confで
------
<Directory /home/*/www>
AllowOverride None
Options ExecCGI
</Directory>
------
を追記し、AddHandler cgi-script .cgiの
コメントを外しhttpdを再起動したところ、
ブラウザはFor Hidden You don't have Permission to access
/~username/cgi-bin/***.cgiと
表示されるようになりました。

パーミッションは/username以下のディレクトリ及びcgiは
すべて755にしてあります。

設定ミスだろうと想定されるのはどこでしょうか?
質問者 UMA  [削除]  投稿日 3/5(月) 08:43:09

httpd.confで
------
<Directory /home/*/public_html>
AllowOverride None
Options ExecCGI
</Directory>
------
を追加し、Apacheの設定ファイルaccess.confとsrm.confを
違う名前のファイルにしたら動作するようになりました。

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

このページは終了したので返信(回答)は書きこめません

Web裏技