最近CGIを勉強し始めたものです。
apache2.2.9をいれ、ActivePerl(Ver5.005_03)を入れて
下記のような簡単なコードを書いて実行してみましたが起動ができません。
=====================
#!/usr/bin/perl
print "abc";
=====================
なにか設定が必要でしょうか?
httpd.confあたりで設定が必要な部分がありますでしょうか?
調べてみたところ、推奨する設定だったのでそのままにして
テストしています。
No.6ベストアンサー
- 回答日時:
No.2です。
私の質問にお答えいただいてないので再確認です。
o Perl.exe は /usr/bin/ (Windowsなら C:\usr\bin)にありますか。
そうでないなら、スクリプトの1行目に書く #!/usr/bin/perl を perl.exe のパスに合わせて書換えないといけません。
もし、C:\perl\bin\perl.exe なら、#!/perl/bin/perl です。
o cgiファイルは cgi-binフォルダに置いてありますか。
apacheの初期設定は cgi-binフォルダ以外では cgiファイルは実行できないと思います。
o httpd.confで .cgiファイルが実行できるようにしましたか。
httpd.cnf の中に、
#AddHandler cgi-script .cgi という行があります。頭に付いている # を取ってください。
そうしたらいったん、apacheを止めて再起動した後、ブラウザから目的のcgiファイルをリクエストしてください。
No.9
- 回答日時:
まず、Perlが正常に動いているか否かは次のように確認します。
コマンドプロンプトを開き
> perl -v [Enter]
これでPerlのバージョン等が表示されれば、perl.exeへのパスが通っていると判断できます。
さて、PerlのCGIをブラウザから呼び出すとコードが表示されてしまう件ですが、
初期設定のcgi-binディレクトリ内で実行するのであれば、#6さんが回答されているとおり、
httpd.conf内の「#AddHandler cgi-script .cgi」の先頭の#を取ればOKです。
cgi-binではなくhtdocs内で実行したいのであればhttpd.confのhtdocsにあたる
ディレクティブ設定内(例:<Directory "C:/Apache22/htdocs">)のoptionsに
ExecCGIを追加する必要があります。
※ここまでは Apache1.3系(正確には1.3.9以降)、2.0系共通です。
※以下はApache2.2系に限った説明になります。
初期設定のcgi-binでもhtdocsでもない、httpd.conf内にてディレクティブ設定を
行っていない場所で実行させたい場合は、extraディレクトリ内にある userdir.conf で
設定を行い、この設定ファイルをhttpd.conf側で読み込んでやる必要がありますが、
失礼ながら質問者さんにはまだ敷居が高いと思いますので割愛します。
※どうしてもこの設定を行いたいのであれば、引き続き質問してください。
※1.3系、2.0系であれば、上記の説明すべてをhttpd.confで行います。
No.7
- 回答日時:
No.3 です。
> >デフォルトでは、CGI禁止だったかも。
> これはどこを見たら禁止になっているのかわかるのでしょうか?
さくっと答えられる単純なものではありません。 前回の参考URLの内容で、判らない部分があるのでしょうか?
No.5
- 回答日時:
何度もすいません
print "content-type:text/html\n\n";
を入れてみるとどうですか?
No.4
- 回答日時:
まずapacheが正常かみるために
apacheのルートディレクトリに適当なhtmlファイルを置いて
http//localhost/○○.htmlもしくはhttp://127.0.0.1/○○.html
でアクセスできるか確認します。
これで正常に見れるようだとapache自体は動いてることになるので
次はapacheから.plもしくは.cgiファイルを開いたとき
正常にperl.exeが呼び出せているか確認します。
apacheの設定ファイルを見て確認しましょう。
以上の二点が正常なら基本的には動くはずです。
フリーソフトの「Perlをはじめよう!」等でperl.exeが正常か確認してもよいでしょう。
http://www.vector.co.jp/soft/win95/util/se169799 …
これで駄目なら一度アンインストールしてみて
ネットの指南サイト等をみながらやったほうが良いと思われます。
この回答への補足
はい。apacheは正常に動いています。
>正常にperl.exeが呼び出せているか確認します。
>apacheの設定ファイルを見て確認しましょう。
この部分が気になったんですが正常に呼び出せているかの
確認はどうするのでしょうか?
No.3
- 回答日時:
No.2
- 回答日時:
「実行してみた」 というのはどういうふうにしたのですか。
ブラウザから、たとえば(1) http://localhost/apache/cgi-bin/xxx.cgi とリクエストしたのですか。
(2) file:///C:/apache/cgi-bin/xxx.cgi とリクエストしたのですか。
もし、(2)ならば実行されず、ファイルの中身がそのまま表示されます。
(1)でリクエストしたのにファイルの中身がそのまま表示されたのなら、
o Perl は /usr/bin/ (Windowsなら C:\usr\bin)にありますか。
o apacheを起動しましたか。
o cgiファイルは cgi-binフォルダに置いてありますか。(設定によりますが)
o httpd.confで .cgiファイルが実行できるようにしましたか。
もし、上記のことが正しいのなら、このスクリプトにはヘッダ出力行がありませんから、500 InternalServerError になるはずです。
ブラウザ表示行に先だって print "content-type: text/html\n\n"; を記述しないといけません。
=====================
#!/usr/bin/perl
print "content-type: text/html\n\n";
print "abc";
=====================
※No.1さんは何か勘違いされたようです。
ありがとうございます。
はい。(1)とリクエストしました。
apacheも起動しています。
http://localhost も正常に表示されます。
気になりましたけどこれはどう設定したらよいでしょうか?
o Perl は /usr/bin/ (Windowsなら C:\usr\bin)にありますか。
o cgiファイルは cgi-binフォルダに置いてありますか。(設定によりますが)
もしかしたらこれらが関与しているかもしれません。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/04/21 13:46
- Windows 10 windowsの起動パスワードについて 1 2022/08/15 10:19
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- CGI -T(汚染モード)でメールが送れません 1 2022/06/12 14:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
web制作用のPCでおすすめあり...
-
FTPコマンドの戻り値について
-
GNOME端末の起動 及び コマンド...
-
Viで書き込もうとすると、保...
-
/ が何時の間にか「Read-only f...
-
scpコマンドでリモートサーバの...
-
書き込み権限が無いためコピー...
-
複数の処理を順番にログアウト...
-
cshの標準出力を制御したい
-
コマンドの連続実行とコマンド...
-
csh(Cシェル)のevalに関して
-
rcpコマンドについて、教えて!
-
【ターミナル】MacBookにディー...
-
Red Hat Linux 9でcd-romをマウ...
-
cactiでグラフが表示されない
-
BATファイル実行にフォーカ...
-
環境変数の設定変更について
-
1回のssh命令でサーバファイル...
-
システムまるごとコピーする方法
-
IBM漢字コードのSJIS変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseでC言語がコンパイルで...
-
CGIでの環境変数PERL5LIBの設定
-
perlなんですが、403エラーにつ...
-
CGIをSSL対応に?
-
500エラーorダウンロードになる...
-
bashシェルスクリプトで空白が...
-
scpコマンドでリモートサーバの...
-
Viで書き込もうとすると、保...
-
書き込み権限が無いためコピー...
-
/ が何時の間にか「Read-only f...
-
コマンド終了ステータス
-
FTPコマンドの戻り値について
-
DOSコマンドでのワイルドカ...
-
rcpコマンドについて、教えて!
-
Illustratorのデータをまとめて...
-
telnet,rlogin,rshの違いってな...
-
IBM漢字コードのSJIS変...
-
GNOME端末の起動 及び コマンド...
-
/etc/passwd と /etc/shadowを...
-
FTP接続中のコマンド実行結果を...
おすすめ情報