ロボット機能 サーバについて目次 Proxyサーバについて

マルチホームサーバの作り方

NCSA httpd 1.5以降およびApacheでは、複数ドメインのホームページが1つのWWWサーバで提供できるマルチホームサーバを構築できます。この技術はインターネットのサービスプロバイダや、ホームページレンタル会社などで使われており、たとえばwww.service.comというレンタル会社があるとすれば、従来なら、
	
	
	http://www.service.com/client1/
	
	http://www.service.com/client2/
	
	
このようなURLのホームページしか提供できませんでした。しかし、現在はマルチホーム(仮想ホスト)機能を使うことで、以下のようなURLのホームページ・レンタルも可能です。

	
	
	http://www.client1.com/
	
	http://www.client2.com/
	
	
こうしたアクセス方法を提供する場合、HTTP/1.0プロトコルの制限により異なるIPアドレスを必要とします。したがって、マルチホーム用サーバを提供するホストは複数ドメインを1つのホスト計算機へ、つまり1つのインタフェースに複数のIPアドレスを割り当てることができなければなりません。

ドメイン名とIPアドレスの割り振り

仮に1つのクラスCアドレス「192.168.1.0/255.255.255.0」、ここでは便宜上プライベートアドレスと呼びますが、それを所有している場合、ホストのprimaryアドレスへ「192.168.1.1」を割り振り、残りのIPアドレスは以下のように異なるドメイン・ホスト名を割り振るとします。

202.218.1.1www.main.comホームページ提供会社
202.218.1.2www.aaaaaa.comお客様:AAAAAA会社
202.218.1.3www.bbbbbb.comお客様:BBBBBB会社
202.218.1.4www.cccccc.comお客様:CCCCCC会社
202.218.1.5www.dddddd.comお客様:DDDDDD会社


そして、サーバ側でBSD/OSやLinuxのようにifconfig-aliasコマンドが使用できるものは、

	
	
	ifconfig ef0 inet 202.218.1.1 link1
	ifconfig ef0 202.218.1.2 alias
	ifconfig ef0 202.218.1.3 alias
	ifconfig ef0 202.218.1.4 alias
	ifconfig ef0 202.218.1.5 alias
	
	
このように設定し、SunOS 4.xのようなvifが使用できる場合の設定は次のようになります。ただし、パッチが必要です。

	
	
	ifconfig vif0 202.218.1.2 up
	arp -s 202.218.1.2  pub
	ifconfig vif1 202.218.1.3 up
	arp -s 202.218.1.3  pub
	
	

DNSへの登録

ドメインをNIC(日本の場合JPNIC)に申請し、以下のとおりDNSを設定します。

named.bootファイルの設定

	
	
	cache       .                        root.cache
	
	primary     0.0.127.in-addr.arpa     rev/local.rev
	primary     localhost                zone/localhost
	;
	primary     aaaaaa.com              zone/aaaaaa
	primary     bbbbbb.com              zone/bbbbbb
	primary     cccccc.com              zone/cccccc
	primary     dddddd.com              zone/dddddd
	primary     1.168.192.in-addr.arpa   rev/192.168.1
	
	
zone/aaaaaaの設定
	
	
	@           SOA         (......)
	            NS          ns.main.com.
	            MX  100     mail1.main.com.
	            MX  100     mail2.main.com.
	www         A           202.218.1.2
	
	
以下、同じように残りのドメインを設定します。

rev/202.218.1ファイルの設定

	
	
	@           SOA         (......)
	            NS          ns.main.com.
	2           PTR         www.aaaaaa.com.
	3           PTR         www.bbbbbb.com.
	4           PTR         www.cccccc.com.
	5           PTR         www.dddddd.com.
	
	

サーバソフトの設定

httpd.confファイルでホームページ提供ドメインに関する情報を記述します。

	
	
	<VirtualHost www.aaaaaa.com>
	ServerAdmin webadmin@aaaaaa.com
	DocumentRoot /var/www/docs/www.aaaaaa.com/
	ServerName www.aaaaaa.com
	ErrorLog logs/www.aaaaaa.com-error_log
	TransferLog logs/www.aaaaaa.com-access_log
	</VirtualHost>
	
		:
		:
	
	<VirtualHost www.dddddd.com>
	ServerAdmin webadmin@dddddd.com
	DocumentRoot /var/www/docs/www.dddddd.com/
	ServerName www.dddddd.com
	ErrorLog logs/www.dddddd.com-error_log
	TransferLog logs/www.dddddd.com-access_log
	</VirtualHost>
	
	

そして、「/var/www/docs/www.aaaaaa.com/」〜「/var/www/docs/www.dddddd.com/」へ、各お客様のホームページ文書を置きます。



Copyright (C) 1996-2003 by Yasukazu Yokoi. All Rights Reserved.