こんにちは。今CGIの勉強をしています。perlを使っているのですが、サーバーにアップする前にローカルで動作チェックをしようと思い、ApacheとActivePerlをインストールしました。
その後、Apacheを起動して、ローカルのCGIファイルにアクセスしたのですが、ページを表示できませんと出てしまいます。
ping localhostはちゃんと通ります。
環境
OS:WindowsXP HomeEdition SP2
セキュリティーソフト:無し
ファイヤーウォール:解除済み
Apache設定
Network Domain 127.0.0.1
Server Name 127.0.0.1
Version2.0.58
ブラウザ:IE6.0
プログラム保存先:C:\Program Files\Apache Group\Apache2\htdocs
ファイル名:hello.cgi(拡張子表示有にしている。.txtなどは無い)
ActivePerl:Version5.6
保存先:C:\Perl\bin(C直下)
コード
#!C:/Perl/bin/perl
print "Content-Type: text/html\n\n";
print "<html>\n";
print "<body>\n";
print "<h1>Hello World!</h1>\n";
print "</body>\n";
print "</html>\n";
exit;
参考にしたサイト
http://perl.misty.ne.jp/01.html
以上よろしくお願いします。
No.4ベストアンサー
- 回答日時:
#1です。
「サーバが見つかりません」ということは、サーバが動作していないことが考えられます。
Apacheの設定は関係ないと思います。
まず、http://127.0.0.1/で、「It worked!」のページは表示されますか?
私の予想では、それすら表示されない(サーバが見つかりません)になると思いますが?
となると、原因は
・Apache(httpd)が動作していない
・ApacheのListenポートが80になっていない
位しか考えられません。
なるほど・・・
http://127.0.0.1/
でもやはりページが表示されませんでした。
今回はあきらめます^^;
色々ありがとうございました。
No.3
- 回答日時:
自分でサーバー環境を構築したりでなく、動作確認のみならば、個別にインストールするよりも、XAMPPで一括インストールした方が、起動・停止をウィンドウから操作出来るので、CGIの勉強に専念できるのでは?
PHPがセットアップされるのは、記憶にあるが、perlがどうだったかは覚えてないけど、既にインストールしてるみたいだし・・・
http://phpspot.net/php/pgXAMPP.html
あ、そういえばXAMPPでApache使えましたね・・
すっかり忘れてました。
XAMPPもう入ってるのに 笑
XAMPPでやったら無事表示できました♪
でも、なぜApache単体で駄目なのか気になります。。
No.2
- 回答日時:
#1です。
httpdのリスタートはしましたか?
【リスタートの手順】
[スタート]→[Apache HTTP Server X.XX]→[Control Apache Server]→[Restart]
リスタートする前にhttpd.confをテストしてください。
【テストの手順】
[スタート]→[Apache HTTP Server X.XX]→[Configure Apache Server]→[Test Configuration]
あと気になる点としては、スクリプトの1行目が
#!C:/Perl/bin/perl
となっていることです。正しくは
#!C:\Perl\bin\Perl.exe
です。
ブラウザのプロキシの設定はどうなっていますか?
localhost; 127.0.0.1; 192.168.X.X(自分のIPアドレス)を例外設定にしておかないと、プロキシでエラーになります。
ちなみに、httpd.confは[スタート]→[Apache HTTP Server X.XX]→[Configure Apache Server]→[Edit the Apache httpd.conf Configuration File]より編集できます。
正確なエラー表記を補足してください。
この回答への補足
ありがとうございます。
まず、リスタートですが、
[Apache HTTP Server X.XX]→[Control Apache Server]→※[Restart]
※部分が存在しませんでした。
リスタートは、一度コマンドプロンプトを閉じて、再度start Apache in consoleをクリックし、スタートさせました。
#!C:\Perl\bin\Perl.exeについては、書き換えてみましたが・・だめです。
ブラウザのプロキシですが、プロキシを使用しない状況にしてあるので、設定などはグレーアウトしています。
正確なエラー表記とのことですが、
「サーバーが見つかりません」というメッセージです。
ブラウザのタイトルがこれで、中身はページを表示できませんと出ています。オフライン状態のときに出るやつです。
もしかして、何かとても初歩的なことをミスってるのでしょうか・・?
質問の「参考にしたサイト」に出ている手順どおりにやったつもりなのですが・・。
よろしくお願いします。
#!C:\Perl\bin\Perl.exeですが、最後のperl.exeは本体が小文字だったので、小文字にしてあります。CGIファイルを書き換え大文字でも試しましたが、結果は同じでした。
また、アクセス先ですが、
「http://127.0.0.1/hello.cgi」にしています。
よろしくおねがいします。
No.1
- 回答日時:
Apacheは、デフォルトの設定ではDocumentRootに配置したファイルはCGIと認識されません。
httpd.confを開いて、DocumentRootの設定におけるOptionsの行を見てみてください。
Options Indexes FollowSymLinks
となっていると思いますが、最後に"ExecCGI"を追加しないといけません。
Options Indexes FollowSymLinks ExecCGI
あと、こちらはデフォルトで設定されていますが、*.cgiをCGIと認識してもらうために
AddHandler cgi-script .cgi
の表記が必要です。
デフォルトの設定に入っていると思いますが、もしかしたらコメントアウトされているかもしれません。その場合は、#を消してください。
httpd.confを書き換えたら、Restart httpdを行えば、実行できるようになると思います。
この回答への補足
ありがとうございます。
書き換えるファイルは
C:\Program Files\Apache Group\Apache2\conf\httpd.confでいいですよね?httpd.default.confのほうではないですよね?
Options Indexes FollowSymLinks ExecCGIをそのままコピペし、コメントアウトしていたAddHandler cgi-script .cgiの#も削除してみました。
しかし、動きません^^;
他に何かありましたご教授くださいm(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
apacheで403を404のように見せる
-
CGIで出力するhtmlの<!DOCTYPE ...
-
apacheでPerl CGIが作動せず、5...
-
月の第一週とは
-
よくある 『 第○(1・2・3・4・...
-
日本語問題 昨日は何曜日ですか...
-
毎○曜日って、使いますか?
-
西暦・月からカレンダーを表示
-
perlのrequireの動き方について...
-
c言語の質問です。 ある月のカ...
-
htmlからテキストを返すperlを...
-
C言語始めたてで先生にこれ進め...
-
時計の曜日がいつのまにか違う
-
日付から曜日を求めたい
-
cgiからcgiをコールする。
-
Perl の外部モジュールの利用方法
-
6月の第2 第4火曜日は何日...
-
Consolidateメソッドの引数のSo...
-
エクセルで毎月第2週日の水曜日...
-
Webページを作るには、HTMLとCS...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
apacheでPerl CGIが作動せず、5...
-
CGIの中で出力するテキスト内容...
-
CGIで出力するhtmlの<!DOCTYPE ...
-
apacheで403を404のように見せる
-
SSI で #exec 以外で Perl-CGI ...
-
サクラのレンタルサーバーです...
-
.cgiをhtmlに乗せる方法を教え...
-
jQueryのpostからのリクエスト...
-
ホームページビルダーV9で作成...
-
ローカルサーバーでの動作確認
-
月の第一週とは
-
よくある 『 第○(1・2・3・4・...
-
エクセルで毎月第2週日の水曜日...
-
毎○曜日って、使いますか?
-
燃えるゴミの日は何曜日ですか?
-
週2回のペースって だいたい何...
-
エクセルで相対パスの書き方を...
-
VBAでExcelのヘッダーに文字列+...
-
土曜日の26時って何曜日の何時...
-
[Excel] ある日の曜日が当月の"...
おすすめ情報