>お楽しみコーナー>Linux>バーチャルドメイン サイトマップ 最終更新日:2005/07/22

センリュウのホームページへ ようこそ!

 バーチャルドメイン   

ここでは同一ゾーンにドメインをもう1つ増やしたい場合の仮想ドメインについて取り上げてみました。
バーチャルには@ネーム型バーチャル(IPは1つ)とAIPベースのバーチャル(別のIPを割り当てる)の2種類がありますが、IPベースのものは最後に紹介することにします。

ネーム型バーチャル(IPは同居)

サブドメイン・ライクの場合
サブドメイン・ライクとは、eigyou.kaisha.co.jpとかいった具合に、kaisha.co.jpの下位に設けたもの。
この場合の設定は簡単で、
@kaisha.co.jpの正引きファイル/var/named/named.hostsの最後に「eigyou IN CNAME ns」を加える。

named.hosts @ IN SOA ns.kaisha.co.jp. root.kaisha.co.jp.(
20000401
36000
3600
360000
604800
)
    IN NS ns
    IN NS ns-tk011.ocn.ad.jp.
    IN MX 10 ns
localhost IN A 127.0.0.1
ns IN A 333.139.162.226
www IN CNAME ns
mail IN CNAME ns
eigyou IN CNAME ns

 

A/etc/httpd/conf/httpd.confの最後に以下の内容を付け加える。
    NameVirtualHost 333.139.162.226
    <VirtualHost 333.139.162.226>
      ServerAdmin root@localhost
      DocumentRoot /home/httpd/html_eigyou
      ServerName eigyou.kaisha.co.jp
      ErrorLog /var/log/httpd/eigyou_error_log
      TransferLog /var/log/httpd/eigyou_access_log
    </VirtualHost>
 これで、ブラウザ上でhttp://eigyou.kaisha.co.jp/とすると/home/httpd/html_eigyouに置いたホームページが開くようになる。

Bメールの配送も***@eigyou.kaisha.co.jpで行いたい場合は、
 sendmailなら/etc/mail/ local-host-namesにeigyou.kaisha.co.jpを付け加えておく。
 qmailなら同じように/var/qmail/control/rcpthostsやvirtualdomainsファイルを編集する。

新たに独自ドメインをとった場合
 new.co.jpを取得したとします。
 DNSのセカンダリはOCN側では2個以上は用意してもらえないので、自分たちの側で用意しなければなりません。つまり、DNS用パソコンがもう1台必要となります。ここでは、ns2.kaisha.co.jpというホストを、IPアドレス333.139.162.227で立ち上げることにします。
 また、新しく取得したnew.co.jpのプライマリ・ネームサーバーはns、ns2のどちらにおいてもよいのですが、ここではプライマリをns2(333.139.162.227)、セカンダリをns(333.139.162.226)で申請したとします。
 ついでなので、new.co.jpのホームもns2に置くことにします。

@DNS関係の整備
ns.kaisha.co.jpの設定
/etc/named.conf options {
directory "/var/named";
};

zone "." {
type hint;
file "named.ca";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};

zone "kaisha.co.jp" {
type master;
file "named.hosts";
};

zone "224.162.139.203.in-addr.arpa" {
type master;
file "named.rev";
};

zone "new.co.jp" {   ←これを追加
type slave;
file "named.hosts.new";
masters { 333.139.162.227; };
};
/var/named/named.hosts 状況に合わせて変更
@ IN SOA ns.kaisha.co.jp. root.kaisha.co.jp.(
20000401
36000
3600
360000
604800
)
    IN NS ns
    IN NS ns-tk011.ocn.ad.jp.
    IN MX 10 ns
localhost IN A 127.0.0.1
ns IN A 333.139.162.226
   IN MX 10 ns
ns2 IN A 333.139.162.227
   IN MX 10 ns2
www IN CNAME ns
mail IN CNAME ns
www2 IN CNAME ns2
mail2 IN CNAME ns2

ns2.kaisha.co.jpの設定
/etc/named.conf options {
directory "/var/named";
};

zone "." {
type hint;
file "named.ca";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};

zone "new.co.jp" {
type master;
file "named.hosts.new";
};
/etc/resolv.conf domain kaisha.co.jp
nameserver 127.0.0.1
nameserver 333.139.162.226
/var/named/named.hosts.new @ IN SOA ns2.kaisha.co.jp. root.ns2.kaisha.co.jp.(
20000401
36000
3600
360000
604800
)
    IN NS ns2.kaisha.co.jp.
    IN NS ns.kaisha.co.jp.
    IN MX 10 mail.new.co.jp.
    IN A 333.139.162.227
www IN A 333.139.162.227
mail IN A 333.139.162.227
/var/named/named.local @ IN SOA ns2.kaisha.co.jp. root.ns2.kaisha.co.jp.(
20000401
36000
3600
360000
604800
)
    IN NS ns2.kaisha.co.jp.
1 IN PTR localhost.

AWWWの整備
 ホームをns2.kaisha.co.jpに置くことにしたので、ns2の/etc/httpd/conf/httpd.confファイルの編集
………………
DirectoryIndex index.html index.htm index.shtml index.cgi
………………
<IfModule mod_mime.c>
  AddType text/html .shtml
  AddHandler server-parsed .shtml
</IfModule>
………………

最後の部分に以下を付け加える
<Directory /home/new/public_html>
    Options Includes
</Directory>

ScriptAlias /cgi-bin/ /home/new/cgi-bin/

NameVirtualHost 333.139.162.227

<VirtualHost 333.139.162.227>
ServerAdmin root@localhost
DocumentRoot /home/new/public_html
ServerName www.new.co.jp
ErrorLog /var/log/httpd/new_error_log
TransferLog /var/log/httpd/new_access_log
</VirtualHost>

Bメールの整備
 ns2のメールサーバーを起動してこれを使ってみよう。
 sendmailなら/etc/mail/local-host-namesを以下のように編集する。
     ns2.kaisha.co.jp
     new.co.jp
 qmailの場合は、/var/qmail/control/rcpthostsやvirtualdomainsファイルを編集する。

 また、popサーバーに外部からのアクセスを許可する場合は、xinetd(/etc/xinetd.d)のpop3の項目を編集しておく。
 さらに、sendmailあるいはqmailでのリレーの許可設定も行っておく。

CFTPの整備
 new.co.jpのホームを外部の人に管理してもらうとすれば、FTPの整備も必要になってきます。とりわけこの場合、ディレクトリのアクセス制限をおこなっておくことが好ましいでしょう。


IPベース型バーチャル
 仮想ドメインに個別のIPアドレスを与える方法です。基本的に上の「新しくドメインを取得した場合」に準じてやってみることにします。
 ここでは、333.139.162.228を割り当てることにします。

@1枚のNICに複数のIPを割り当てる。
 ここではns2のNICにすでに割り当てられている333.139.162.227の他に333.139.162.228を割り当ててみることにする。
   # /sbin/ifconfig eth0:0 333.139.162.228 broadcast 333.139.162.239 netmask 255.255.255.240 up
   # route add -host 333.139.162.228 dev eth0:0  ルーティングの設定
 これらを起動時に自動実行にするには、/etc/rc.d/rc.localファイルに書き加えておけばよい。

ADNS関係の整備
 ほとんどの設定は上の「新しくドメインを取得した場合」のまま。 
 ただし、ns2.kaisha.co.jpの以下を若干、変更する。
/var/named/named.hosts.new @ IN SOA ns2.kaisha.co.jp. root.ns2.kaisha.co.jp.(
20000401
36000
3600
360000
604800
)
    IN NS ns2.kaisha.co.jp.
    IN NS ns.kaisha.co.jp.
    IN MX 10 mail.new.co.jp.
    IN A 333.139.162.228
www IN A 333.139.162.228
mail IN A 333.139.162.228

BWWWの整備
 ns2の/etc/httpd/conf/httpd.confファイルの編集
………………
BindAddress *  ←これをONにしておく
………………
DirectoryIndex index.html index.htm index.shtml index.cgi
………………
<IfModule mod_mime.c>
  AddType text/html .shtml
  AddHandler server-parsed .shtml
</IfModule>
………………
最後の部分に以下を付け加える
<Directory /home/new/public_html>
    Options Includes
</Directory>

ScriptAlias /cgi-bin/ /home/new/cgi-bin/

<VirtualHost 333.139.162.228>
ServerAdmin root@localhost
DocumentRoot /home/new/public_html
ServerName www.new.co.jp
ErrorLog /var/log/httpd/new_error_log
TransferLog /var/log/httpd/new_access_log
</VirtualHost>

Cメールの整備、FTPの整備は、上の「新しくドメインを取得した場合」に準じて下さい。