Apache で「Virtual Host」(バーチャルホスト)を試してみよう!

2009年1月31日

Apache で「Virtual Host」(バーチャルホスト)を試してみよう!

Virtual Hostとは、1つのサーバコンピュータで複数のドメインを運用する技術のことです。

これはどういうことか?

http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%83%9B%E3%82%B9%E3%83%88

通常はWebサーバやメールサーバを運用するのにドメインの数以上のサーバコンピュータが必要となる。バーチャルホストを利用すると1つのサーバコンピュータで複数のドメインを運用することができ、サーバコンピュータの数を減らし運用のコストを下げることができる。また、後述する名前ベースバーチャルホストの場合はIPアドレスも節約することができる。 また、ドメインの追加も容易で、小規模Webサイトの運営や安価なレンタルサーバサービスなどでの利用が盛んである。

引用のみで恐縮ですが、とまぁ、そういうもので、便利なものなんです。

本例は、とりあえずローカルでテスト作業するときなど、手間を省くために個人的に設定したものであり、
詳細や厳密なことについては、その他のサイトにゆだねます。予めご了承ください。

本例では、名前ベースバーチャルホスト、という技術を試して見ます。
とりあえず、さっそく説明していきたいと思います。

* * *

まず、本例のテスト環境をざっと説明します。

テスト環境は、ローカルマシン(Windows XP Pro)にapacheがインストールされた状態です。
本例では、xamppを使っています。
インストールディレクトリはC直下です(C:\xampp)。
これと同じ環境にしていただけると、あまり知識の無い方でも
かなりスムースに読み進められると思います。
ある程度、知識をお持ちの方であれば、適当に読み替えて設定いただけると思います。

次に、本例の目的を説明します。

xamppを使ってapacheがインストールされapacheの起動状態であれば、
ブラウザからhttp://localhost/にアクセスすると、ページが表示できるかと思います。
すぐにhttp://localhost/xampp/へリダイレクトされ、ページが表示されているものと思います。
これは、実際には C:\xampp\htdocs\xampp\index.php を見ています。

http://localhost/
は、つまり
C:\xampp\htdocs\
です。

ですので、C:\xampp\htdocs以下にファイルをおけば、
ブラウザからアクセスできます。

たとえば、C:\xampp\htdocs直下に
test.htmlを置くと
http://localhost/test.html
でアクセスできます。

また、扱うファイルが多くなってくれば
ディレクトリで区切ってファイルを置くことになるでしょう。

C:\xampp\htdocs\apple\index.html
などの場合は
http://localhost/apple/
で、アクセスできるわけです。

。。。

この
http://localhost/
という部分ですが、ここは常に変わりません。

これは、ドメイン名と言われる部分で、
通常、1つのサーバソフトウェア(つまり、Apache)に対して
扱えるドメインは1つです。

そこで先ほどの
C:\xampp\htdocs\apple\index.html
http://localhost/apple/
ですが、もちろん、このままでも問題ないのですが、
これが、もしかして

C:\work\apple\index.html
http://apple/

などとできるようになれば、もっと便利で実用的だと思いませんか?

本記事ではこれを実現します。
それでは、実際の説明をはじめます。

* * *

まず、C:\xampp\apache\conf\httpd.confにある、
httpd.confをエディタ開いてください。

このファイルの最後尾に

NameVirtualHost *:80

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.localhost
DocumentRoot “C:\work"
ServerName work
ErrorLog “logs/make-error.log"
CustomLog “logs/make-access.log" common
<Directory “C:/work">
Options FollowSymLinks IncludesNoExec Indexes
AllowOverride All
Deny from none
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.localhost
DocumentRoot “C:\work\apple"
ServerName apple
ErrorLog “logs/make-error.log"
CustomLog “logs/make-access.log" common
<Directory “C:/work/apple">
Options FollowSymLinks IncludesNoExec Indexes
AllowOverride All
Deny from none
</Directory>
</VirtualHost>

を追記して保存します。

次に、
C:\WINDOWS\system32\drivers\etc
にある、hostsをエディタ開いてください。

127.0.0.1 localhost
のあとに、
127.0.0.1 work
127.0.0.1 apple
を追記して保存します。

そして、apacheを再起動してください。

これでOKです!

C:\work\apple\
に何かファイルを置いてアクセスしてみてください。

以上です。

* * *

●参考サイト
Apache バーチャルホスト説明書 – Apache HTTP サーバ
http://httpd.apache.org/docs/2.2/vhosts/
Webサーバ Apache2.2におけるバーチャルホストの使用方法

バーチャルホストによる複数サイトの同時運用(1/2)
http://www.atmarkit.co.jp/flinux/rensai/apache08/apache08a.html

●当サイト関連記事
私なりにまとめた、インターネットにおける、ドメイン名とホスト名の意味を知ることに限った説明。
http://tech.kimihiko.jp/article/26123790.html
apache2.2 + php5.2.1 + VISTA インストールメモをざっくばらんに。
http://tech.kimihiko.jp/article/4536555.html
xampp1.7.0からPHP5しか入っていないので、1.6.8の利用がおすすめ。
http://tech.kimihiko.jp/article/26107230.html

tag:apache アパッチ バーチャルホスト

この記事は役に立ちましたか? 役立った 役立たなかった
0 人中 0 人がこの記事は役に立ったと言っています。

★新記事下ハイブリッドads