まとメモ

29才でエンジニアに転職したエンジニアのメモ

【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台のサーバーでも複数のドメインを運用することができる。