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

この記事について

環境Windows7 64bit、xampp(Apache)
目的LAN内の他のPCからxamppのページを見られるようにする
結果ネットワークをホームネットワークに切り替え、httpd-xampp.confのアクセス制限を修正して解決

つまずきポイント要約

  • パブリックネットワークだとセキュリティ上他のPCから閲覧できない
  • /xampp/以下はhttpd-xampp.confの「Require local」でローカル限定になっている
  • 修正後はlocalhost指定の方が「アクセス禁止」になった

事象

新しい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
#
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
        Require local
	ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

↓↓↓

修正後

#
# New XAMPP security concept
#
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
#        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
</LocationMatch>

青字が追記箇所。

参考ページ:こちら

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

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

関連記事

タイトルとURLをコピーしました