VirtualHost
で沢山ホスト立ち上げ に関するインストールメモ(2002/07/15)
Apache によるバーチャルホストを行うメリットは、複数のWebサーバを起動することなく、1つの Apache(Webサーバ)のみで対応することが可能と言う点にあります。このメリットは、マシンのシステムリソースを無駄に食いつぶしたり、複数のWebサーバが起動している点でのメンテナンス等々を考えれば、お分かりになると思います。(デメリットもあります)。また、DNS情報を自由に設定できる環境でないとバーチャルホストの実現は、難しいです。
バーチャルホストは、'IPア ドレスベ−ス' と 'ネームベース' の指定ができます。ここでは、 'ネームベース' による指定の説明を行います。'ネームベース' での表現の実例は、「www.sea-bird.org」と「www2.sea-bird.org」の様な指定ができ、同一ドメインであるにも関わらず、異なったWebサイトを構築することが可能です。
通常、個人で使用する際には、グローバル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.xxxDNSを再起動し、「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>★問題点:サブユーザ(~ユーザ名)の情報をうまく引っ張る事ができないのです・・・・。勉強中!