Apache HTTP Server/Tips/Name Based VirtualHost
バーチャルホストとは、異なるドメイン名を持つ複数のサイトを 1 つの Apache で公開したり、異なる IP を持つ複数のサイトを 1 つの Apache で公開したりする仕組みです。前者を名前ベースのバーチャルホスト、後者をIP ベースのバーチャルホストと言います。
ここでは名前ベースのバーチャルホストの設定の仕方を説明します。
もうちょっと詳しく書きます。
例えば www.foo.com というドメインを持つサイトと www.bar.com というドメインを持つサイトを公開したいとします。もちろん、両方ともポート 80 で公開したいです。コストを抑えたいので使用する PC は 1 台にし、ネットワークカードも 1 枚だけです。
別々のサイトを構築したいからと言って Apache を 2 つインストールしても、ポート 80 を使用できるのは片方だけです。片方のポートをずらすと、どちらかをポート 80 以外で公開しなければならなくなり、嫌です。両方のサイトを 1 つの Apache で別々に公開したい、そういう場合に使用するのがバーチャルホストです。
NameVirtualHost ディレクティブで、アクセスを受け付ける IP アドレス (とポート) を指定します。 * は全ての IP アドレスへのアクセスを受け付ける指定です。通常はこれで良いです。ポートは明示的に指定する必要があります。
<VirtualHost> ディレクティブでドメイン毎 (ServerName 毎) に設定を行います。 <VirtualHost> ディレクティブで囲んだ範囲内にホスト毎の設定を記述します。 <Location> や <Directory> ディレクティブなども <VirtualHost> ディレクティブの中に記述します。
これで、 http://www.foo.com/ に対するアクセスは C:\public-html\www.foo.com ディレクトリ以下が公開され、 http://www.bar.com/ に対するアクセスは C:\public-html\www.bar.com ディレクトリ以下が公開されます。
ここでは名前ベースのバーチャルホストの設定の仕方を説明します。
名前ベースのバーチャルホスト
もうちょっと詳しく書きます。
例えば www.foo.com というドメインを持つサイトと www.bar.com というドメインを持つサイトを公開したいとします。もちろん、両方ともポート 80 で公開したいです。コストを抑えたいので使用する PC は 1 台にし、ネットワークカードも 1 枚だけです。
別々のサイトを構築したいからと言って Apache を 2 つインストールしても、ポート 80 を使用できるのは片方だけです。片方のポートをずらすと、どちらかをポート 80 以外で公開しなければならなくなり、嫌です。両方のサイトを 1 つの Apache で別々に公開したい、そういう場合に使用するのがバーチャルホストです。
設定
NameVirtualHost *:80 <VirtualHost *:80> ServerName www.foo.com ServerAdmin admin@foo.com DocumentRoot "C:\public-html\www.foo.com" ErrorLog logs/foo-error.log CustomLog logs/foo-access.log common </VirtualHost> <VirtualHost *:80> ServerName www.bar.com ServerAdmin admin@bar.com DocumentRoot "C:\public-html\www.bar.com" ErrorLog logs/bar-error.log CustomLog logs/bar-access.log common </VirtualHost>
NameVirtualHost ディレクティブで、アクセスを受け付ける IP アドレス (とポート) を指定します。 * は全ての IP アドレスへのアクセスを受け付ける指定です。通常はこれで良いです。ポートは明示的に指定する必要があります。
<VirtualHost> ディレクティブでドメイン毎 (ServerName 毎) に設定を行います。 <VirtualHost> ディレクティブで囲んだ範囲内にホスト毎の設定を記述します。 <Location> や <Directory> ディレクティブなども <VirtualHost> ディレクティブの中に記述します。
これで、 http://www.foo.com/ に対するアクセスは C:\public-html\www.foo.com ディレクトリ以下が公開され、 http://www.bar.com/ に対するアクセスは C:\public-html\www.bar.com ディレクトリ以下が公開されます。
2005年11月17日(木) 18:37:41 Modified by uguuxp