まず、例のダミーを削除する必要があります vhost-httpd.confファイルからの定義。それらは例としてのみあります 構文を使い始めるためだけのものであり、アクティブなconf/extra/httpd-vhosts.conf
にとどまらないでください。 存在しないフォルダを指しているためです。
したがって、ファイルから次の2つの定義を削除します。
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "g:/Apache24/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "g:/Apache24/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
2番目のApache2.4.xはIPV4(127.0.0.1)およびIPV6(::1)に対応しているため、hosts
ファイルは、各サイトのIPV4バージョンとIPV6バージョンの両方の定義を含む次のようになります。ブラウザはどちらかを任意に使用できるため、両方が必要ですが、両方が実際にPCでアクティブになっている場合は、IPV4よりもIPV6ネットワークを使用する可能性があります。
127.0.0.1 localhost
::1 localhost
127.0.0.1 mysite.dev
::1 mysite.dev
システムに実際に存在する2つの仮想ホストで、これを仮想ホスト定義として試してください:
<VirtualHost *:80>
DocumentRoot "g:/wamp/www"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
<Directory "G:/wamp/www">
AllowOverride All
Options Indexes FollowSymLinks
Require local
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "g:\wamp\www\mysite\public"
ServerName mysite.dev
ServerAlias www.mysite.dev
ErrorLog "logs/mysite-error.log"
CustomLog "logs/mysite-access.log" common
<Directory "G:/wamp/www/mysite/public">
AllowOverride All
Options Indexes FollowSymLinks
Require local
</Directory>
</VirtualHost>
<Directory>....</Directory>
<VirtualHost>....</VirtualHost>
内のセクション セクションは、接続を受け入れることができるIPアドレスをApacheに指示するため、Apache2.4構文を使用してRequire local
アクセスを制限して、WAMPServerを実行しているPC、つまりApacheのみがこれらのサイトのいずれかに接続できるようにします。
同じ定義でApache2.2構文とApache2.4構文を混在させないでください。したがって、使用しないでください
Order Allow,Deny
Allow from all
および
Require all granted
同じ定義で。 Apache 2.4を使用しているので、Apache2.4構文を使用してください。
ローカルネットワーク内の他のPCに自分のサイトを表示させたい場合、つまり、仕事仲間や子供などがいる場合は、この構文を1つ以上の仮想ホスト定義に追加できます。
他の1台のPCだけをサイトに許可します
Require local
Require ip 192.168.1.100
または他の2台のPC
Require local
Require ip 192.168.1.100, 192.168.1.101
または、ローカルネットワーク上の誰にとっても、IPアドレスの4つの四分位数のうち最初の3つを使用するだけです。
Require ip 192.168.1
また、どこからでもアクセスできる構文の使用は避けてください。つまり、
Require all granted <--Apache 2.4 syntax
or
Order Allow,Deny <-- Apache 2.2 syntax
Allow from all
それは短期的にはあなたの問題を解決するかもしれませんが、あなたがあなたのサイトを友人/クライアント/上司に見せたいと決心したとき、いつかあなたを捕まえるのを待っています。ポートフォワーディングの段階に達した場合は、ルーターを使用して、ネットワークへの世界の侵入を許可します。これにより、すべてのサイトが発生します。 世界で利用できるようになります。
テスト/自慢のために人々に見てもらいたいONEサイトのONE仮想ホスト定義をRequire local
から変更することをお勧めします Require all granted
その単一のサイトにのみインターネットからのアクセスを許可します。
これらすべての変更を行ったら、Apacheを再起動することを忘れないでください。
また、hostsファイルを変更して変更をアクティブにする場合は、再起動するか、Runs as Administrator
を起動したコマンドウィンドウのコマンドラインからこれらのコマンドを実行する必要があります。 オプション。
net stop dnscache
net start dnscache
ipconfig /flushdns