Windows 7にApache 2.2.14をインストールし、http://localhost
とhttp://127.0.0.1
の両方を使用してWebページを表示できますが、同じルーター上の別のコンピューターからサーバーにアクセスしようとすると失敗します。また、マップしたDynDNSアドレスを使用すると失敗します。
これは、Windows 7にアップグレードする前のWindows XP=で問題なく動作しました。
問題は、コンピュータへの外部アクセスのためにポート80が開かれていないようなものだと思います。
誰かがWindowsファイアウォールでそのポートを開く方法を知っていますか、それとも何か他のものがロックダウンされている場合、それをロック解除する方法を知っていますか?
Windowsファイアウォールにポート80のルールを追加するには、次の手順を実行します。
それでうまくいくはずです。
Windows 7ファイアウォールは80ポートを恐れているようです。
このように構成すると、これらのポートが開きます。
Apacheサーバー→UDP→すべてのポート。
Apacheサーバー→TCP→すべてのポート。
Apacheは通常、特定のポート(つまり、80、一部は8080、443を使用)で動作するため、これは悪いことですが、Apacheファイアウォールルールを機能させる他の方法が見つかりませんでした。
windowsファイアウォールに例外(ポート80)を追加する必要があるようです。
これは、ファイアウォールのコントロールパネルを開いて少しクリックすることで実現できると確信しています。 XPでは、少なくともかなり簡単でした。
また、Apacheがループバックインターフェイスでリッスンするようにのみ設定されていることが問題である可能性もあります。これをテストするには、netstatを実行するか、 http://192.168.1.101/ のように、マシンの他のアドレスにアクセスしてみます。
私はただ働いています。 Windowsファイアウォールのポート80の例外ルールを作成しました。ラップトップではWindows 7を、MacではOSX Leopardを実行しています。例外だけでは問題は解決しませんでした。次にファイアウォールをオフにしたところ、Macからラップトップ上のApacheに接続できました。問題を本当に解決したのは、コントロールパネルの[ネットワークと共有センター]でした。アクティブなネットワークの設定を変更し、ホームネットワークとして設定しました。 Winファイアウォールを確認すると、ホームネットワーク(プライベート)が接続されていることがわかります。
ルーターのポートをマシンに開くことと、Windows独自のファイアウォールを調べることの両方を試してください。
Windowsを再インストールしたときに、別のDHCPリースと別のIPアドレスを持っている可能性があるため、ルーターがそれを正しく転送していない可能性があることに注意してください。
これに加えて、ルーターは「Nat Loopback」をサポートする必要があります。そうしないと、接続に失敗しますが、以前は機能していたので、サポートしていると思います。これを確認するには、 Hide My Ass または Proxify を使用することを強くお勧めします。
ファイアウォールを確認し、Apacheがlocalhostアドレスのみをリッスンしているかどうかを確認することに加えて、.htaccess
ファイルを確認することもできます。インストールした新しいバージョンでは、より制限の厳しいセキュリティポリシーが実装されている可能性があります。
.htaccess
に関するチュートリアル
Apache 1.3- http://httpd.Apache.org/docs/1.3/howto/htaccess.html
Apache 2.2- http://httpd.Apache.org/docs/2.2/howto/htaccess.html
おそらくもっとフレンドリーなチュートリアル- http://wiki.uniformserver.com/index.php/HT
Windows 7ファイアウォールの問題のようです。ファイアウォールをオフにすると、正常に動作します。次に、ファイアウォールをアクティブにしてポート80接続を許可する方法を理解する必要があります。