【Apache】バーチャル ホストとは?
自称webエンジニアだが、最近インフラを触る事が多い。 もちろんインフラに関しては素人なので、基本的なことをメモする。
バーチャルホスト(Virtual Host)とは1つのサーバで複数のドメインを運用する技術のことで、Webサーバ、メールサーバなどで利用される。
バーチャルホスト - Wikipedia
最初はなんのこっちゃだったので、自分なりに噛み砕いてみる。
1つのサーバで複数のドメインを運用する
キーワードはドメインですね。
ドメインとは、数字とドットで表されるIPアドレスを、人間が理解しやすい文字に置き換えた名前の事。だと思っている。 (詳しくは各自ググってください!)
で、そのドメインを複数使用する場合がある、と。
たとえばこんな時。
- foo.com
- music.foo.com
- book.foo.com
こんな感じの3つのドメインを使って、別のサービスを運用したいとする。 (しれっとサブドメインを登場させたが、?な方は各自ググってくださいー)
この時に3台サーバーを使用し、1台1ドメインとすれば何も問題がないのだが、お金がかかるので1台でなんとかならないか。。。
という時に使うのがバーチャル ホストである!
少し具体的に書くと、/etc/httpd/conf.d/フォルダの下に、vhost-foo.conf という名前で設定ファイルを作り、以下のように記述する。
<VirtualHost *:80> ServerName foo.com DocumentRoot /var/www/sites/foo.com </VirtualHost> <VirtualHost *:80> ServerName music.foo.com DocumentRoot /var/www/sites/music.foo.com </VirtualHost> <VirtualHost *:80> ServerName book.foo.com DocumentRoot /var/www/sites/book.foo.com </VirtualHost>
こうすることにより、ドメイン毎にDocumentRootが異なり1台のサーバーでも複数のドメインを運用することができる。