VirtualHost で沢山ホスト立ち上げ に関するインストールメモ(2002/07/15) 
 

バーチャルホストの考え方

Apache によるバーチャルホストを行うメリットは、複数のWebサーバを起動することなく、1つの Apache(Webサーバ)のみで対応することが可能と言う点にあります。このメリットは、マシンのシステムリソースを無駄に食いつぶしたり、複数のWebサーバが起動している点でのメンテナンス等々を考えれば、お分かりになると思います。(デメリットもあります)。また、DNS情報を自由に設定できる環境でないとバーチャルホストの実現は、難しいです。

バーチャルホストは、'IPア ドレスベ−ス' と 'ネームベース' の指定ができます。ここでは、 'ネームベース' による指定の説明を行います。'ネームベース' での表現の実例は、「www.sea-bird.org」と「www2.sea-bird.org」の様な指定ができ、同一ドメインであるにも関わらず、異なったWebサイトを構築することが可能です。

  大橋のページ

  い子のお部屋へ

  Qube2でネームバーチャルホスティング

 

DNSの設定変更

通常、個人で使用する際には、グローバルIPアドレスが1つ割り当てられた状態になりますので、それを使用して、WWWサーバや、smtpサーバを運用することになります。この際のDNSの割り当ては、下記の用になり上記 www2 部分(サブアクセス名とします)の定義は、書れていません。(/etc/named/db.sea-bird.org)

www.sea-bird.org.  in cname ns.sea-bird.org.
mx.sea-bird.org.   in a     xxx.xxx.xxx.xxx
sea-bird.org.      in mx 20 mx.sea-bird.org.
ns.sea-bird.org.   in a     xxx.xxx.xxx.xxx

このままwww2.sea-bird.org」のアクセスをした場合、アドレスが見つからないと怒られてしまいます。という事は、「www2.sea-bird.org」の振り向け先を何処にすれば良いの?という事になりますが、「www.sea-bird.org」の振り向け先と同じアドレスを指定してください。

www2.sea-bird.org. in cname ns.sea-bird.org.
www.sea-bird.org.  in cname ns.sea-bird.org.
mx.sea-bird.org.   in a     xxx.xxx.xxx.xxx
sea-bird.org.      in mx 20 mx.sea-bird.org.
ns.sea-bird.org.   in a     xxx.xxx.xxx.xxx

DNSを再起動し、「www2.sea-bird.org」にアクセスできれば問題ありません。

なにをするのか?そして問題点・・・・

やっと本題です(書いてて飽きた)、まず 'ネームベース' でのバーチャルホストを実現するには、DNSの設定と、httpd.conf または srm.conf による VirtualHostディレクティブの指定を行えば実現可能です。

1) バチャルホスト化するサブアクセス名を決め、/etc/named/db.ドメイン名 に サブアクセス名を定義します。

2) httpd.conf または srm.conf に、バーチャルホストの情報を記述します。

BindAddress *

<VirtualHost ns>
   serverAdmin webmaster@sea-bird.org
   DocumentRoot /home/groups/home/web
   ServerName www.sea-bird.org
</VirtualHost>

<VirtualHost ns>
   serverAdmin webmaster@sea-bird.org
   DocumentRoot /home/Virtual/test
   ServerName test.sea-bird.org
   ErrorLog logs/test.sea-bird.org-error.log
   TransferLog logs/test.sea-bird.org-access.log
</VirtualHost>

★問題点:サブユーザ(~ユーザ名)の情報をうまく引っ張る事ができないのです・・・・。勉強中!