【xampp】LAN内の他のPCからページが見れない場合の対処法

新しいPCにxamppをインストールしたら、他のPCからページが見れなかった。
xamppをインストールしたlocalhostからなら問題なく閲覧できるが、LAN内の他のPCからIPアドレスを打っても、「見つかりません」的なタイムアウトで終わる。

【インストールした環境】
Windows7 64bit

1.問題の箇所がどこなのか探る

xamppのApacheの設定に問題があれば、Apacheのエラーログに何かしらの記述が残っているはず。
今回のケースでは、この段階ではエラーログなし。
xamppの設定以前に、ネットワークの問題である可能性が高い。

コントロールパネルから「Windowsファイアウォール」を開いてみると、「ホームネットワークまたは社内(プライベート)ネットワーク」が「未接続」になっている。

これを接続済みにするため、「コントロールパネル」→「ネットワークと共有センター」を開く。

「アクティブなネットワークの表示」を「パブリックネットワーク」から「ホームネットワーク」に切り替えた。(社内ネットワークでも可。パブリックネットワークだけが、セキュリティ上他のPCから閲覧できないようになっている)

再び、Windowsファイアウォールを開き、「ホームネットワークまたは社内(プライベート)ネットワーク」が「接続済み」となっていることを確認した。

また、「Windowsファイアウォール」→「Windowsファイアウォールを介したプログラムまたは機能を許可する」から「Apacheサーバー」の「プライベート」にチェックが入っていることも確認しておく。

2.XAMPPの設定を変更する

他のPCから改めてApacheサーバーにアクセス。
すると、公開フォルダは表示されるものの、XAMPPのトップページでは、ブラウザにエラーメッセージが表示された。

つまり
--------------------------------------------
○ 192.168.xxx.xxx/index.php ← 表示された
× 192.168.xxx.xxx/xampp/ ← エラーメッセージ
--------------------------------------------

エラーメッセージの内容
--------------------------------------------
アクセス禁止!

新しいXAMPPのセキュリティコンセプト:

は、要求のディレクトリへのアクセスは、ローカルネットワークから入手可能です。

この設定は、ファイル"で設定することができますのhttpd - xampp.conf " 。
--------------------------------------------

Apacheのエラーログはこれ
--------------------------------------------
[client 192.168.11.8:1253] AH01630: client denied by server configuration: C:/xampp/htdocs/xampp/
--------------------------------------------
192.168.11.8はアクセス元のIPアドレス。

エラーメッセージどおり、httpd - xampp.confを修正。
このとき、修正箇所はファイルの一番下の部分だった。

修正前
--------------------------------------------
#
# New XAMPP security concept
#

Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var

--------------------------------------------

↓↓↓

修正後
--------------------------------------------
#
# New XAMPP security concept
#

# Require local

Order deny,allow
Deny from all
Allow from 127.0.0.0/8
Allow from 192.168.11.0/24

ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var

--------------------------------------------
青字が追記箇所。

参考ページ:こちら

Apacheを再起動したら、ちゃんと見れるようになった。
(逆に、http://localhostと指定した場合に「アクセス禁止」が出るようになった)

他のPCからmysqlにつながらない場合は、こちら