※ ChatGPTを利用し、要約された質問です(原文:「localhostの応答を待っています・・・」の状態のまま、ローカルホストに接続できません)
ローカルホストへの接続ができない原因と対策
このQ&Aのポイント
初心者がローカルホストへの接続できない問題について調査中です。
XAMPPのインストール後、localhostにアクセスしても接続できません。
エラー表示やポートの状態、セキュリティソフトなどを確認しましたが、原因は特定できていません。
「localhostの応答を待っています・・・」の状態のまま、ローカルホストに接続できません
最近ホームページの作成を始めた(まだローカルで編集しているだけの)初心者です。
各ページの共通部分をテンプレート化して一括修正することができるようにPHPを使えたら便利だと思い、xampp 1.6.6aをインストールしました。
インストール後にXAMPPコントロールパネルを起動してApache, MySql, FileZillaをそれぞれ起動させることができます(なお、Apacheの項目には何故か「停止」ボタンではなく、「停止中」ボタンが横に出ます。この点が問題に関係あるかはよく分からないのですが・・・)。
しかし、起動後に http://localhost 又は http://127.0.0.1 にアクセスしようとしても、「localhostの応答を待っています・・・」の表示のまま、いつまでたっても接続することができません。エラー表示もありません。接続できない原因が何かをいろいろ調べてみたのですが、特定できずに困っています。
xampp-portcheck.exeを実行すると、80と443にapache.exeが記載されていますので、他のプログラムが占領しているというわけでもないようです。
Windowsのサービスツールを見ると、apacheとmysqlは「開始」となっていますが、xamppは開始しておらず、開始しようとすると、「ローカルコンピュータでxamppを開始できません」となってしまいます。イベントビューアでエラーのログを見ると、「イベント ID (0) (ソース XAMPP 内) に関する説明が見つかりませんでした。リモート コンピュータからメッセージを表示するために必要なレジストリ情報またはメッセージ DLL ファイルがローカル コンピュータにない可能性があります。この説明を取得するために /AUXSOURCE= フラグを使用することができる可能性があります。詳細については、ヘルプとサポートを参照してください。次の情報はイベントの一部です: XAMPP Service Error: 32, The XAMPP Service cannot start because the XAMPP Application is running..」と表示されます。これが関係あるのか良く分かりませんが・・・。
netstat -anを実行すると、ポート80については、「ESTABLISHED」と表示されています。少し前に「CLOSE_WAIT」や「FIN2_WAIT」(正確な表記は忘れてしまいましたが)という表示になっていたこともあり、「LISTENING」でないことが問題なような気もするのですが良く分かりません。
ping 127.0.0.1を実行すると、packet sent 4 received 4となり、特に問題なさそうに思えます。
OSはXP HomeEdition Servicepack 2です。ブラウザはFirefoxですがIE7でも試してみましたところ同じ症状です。セキュリティソフトは「ウィルスセキュリティ」ですが、終了してローカルホストにアクセスしようとしても同じ症状ですし、何がローカルホストへのアクセスを遮断するような設定となりうるのか、内容を見ても良く分かりませんでした。一見したところ直接関係ありそうなファイやウォールの設定は見当たりません。
hostsファイルには、「127.0.0.1 localhost」の記載がちゃんとありました(ただ、少し前にSpybotを入れていて大量のIPアドレスが追記されていたため、それらをすべて削除してSpybotをアンインストールしています)。
とりとめのない説明になってしまいましたが、上記の状況でlocalhostにアクセスできない原因について何か思い当たるところがありましたら、教えていただければ大変助かります。どうぞよろしくお願いします。
お礼
早速にご丁寧なご回答をいただきありがとうございます。早速試してみましたところ、かなり原因の特定に近づけたと思われますので、以下報告させていただきます。 1. netstat -abn を実行すると Proto Local Address Foreign Address State PID TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 872 [apache.exe] TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 872 [apache.exe] との記載がありましたので、Apacheは動いているようです。 同時に、 TCP 127.0.0.1:80 127.0.0.1:1072 CLOSE_WAIT 872 [apache.exe] TCP 127.0.0.1:80 127.0.0.1:1076 CLOSE_WAIT 872 [apache.exe] TCP 127.0.0.1:80 127.0.0.1:1071 CLOSE_WAIT 2812 [apache.exe] の記載もあり、この点は良く分かりませんでした(後述するセキュリティソフトによる問題かもしれません)。 2. apache -t を実行すると Syntax OK と記載されました。 3. apache -k stop を実行すると The Apache2.2 Service is stopping と記載されました。 4. apache -k start を実行すると 何もメッセージが出ませんでした。 そこで、ご指摘のとおりファイヤーウォールの問題の可能性が高いと思ってウィルスセキュリティZEROについて詳しく調べてみたところ、なんと製品の仕様の説明の中で、サーバー環境(Apache、IISなどサーバーソフトも含みます)では使えません、との説明がみつかりました。 今までセキュリティソフトの設定画面のみを見ていたため、まさか製品自体が仕様で「サーバ化ソフト」と併用できないとは思いもしませんでした(ウィルスソフト導入時はホームページ作成をしておらず、サーバ化ソフトが併用できないことが問題となりうるとは考えませんでしたので忘れていました。)。仕様であれば、残念ながらどのように工夫しても、このパソコンでlocalhostにアクセスできるようにはならないかもしれないですね。しかし、ウィルスセキュリティZEROは利用者が500万人を突破したそうですが、セキュリティソフトを導入するだけでlocalhostへのアクセスを含めたサーバ化の可能性が一切奪われてしまうとは、少し釈然としないものがあります・・・(完全に愚痴です)。 というわけで、原因を特定することができたように思います。的確なアドバイスをいただきどうもありがとうございました。