複数ドメインの管理
いま自宅サーバとして管理している 5-55.jpとは別に min10.comを同じサーバで管理(バーチャルドメイン)しようと思います。なるべくコスト(主として時間と手間)をかけないでやる方法を追求してみました。
ドメインの取得
いつもの 更新料も安い!ドメイン取得はFC2ドメイン で min10.comを取りました。3n10.jpとか、min10.jpも候補にあったのですが、.com=798円、.jp=3675円という3千円の価格差に負けました。
ま、それに加えて、.jpだと独自のDNSサーバを用意しないといけないというところに引っかかって、.comでいいかとなったんですが、調べてみると、すでに動いている 5-55.jpと同じ構成(プライマリ ns1.5-55.jp、セカンダリ ns.maihama-net.com)を指定しておけば、たぶんなんの問題もなかったと思われます。
DNSレコードの設定
.comはFC2ドメインの代行DNSが使えるので、こちらのDNSレコードを設定します。
HTTPアクセスは 5-55.jpと同じで自宅サーバのグローバルIPアドレス(219.117.201.174)へ飛ばします。
メールは、MXEという簡易指定があるので、これを指定します。(MXEは、Aレコードと MXレコードが一緒になったようなものという説明ですが、詳細についてはちっともわかっていません。ただ、こうしておけばいいらしいというだけです)
DNS設定の確認
nslookupで min10.comがどこに飛ぶか確認します。
PS C:\> nslookup min10.com Server: ns1.5-55.jp.1.168.192.in-addr.arpa Address: 192.168.1.250 Non-authoritative answer: Name: min10.com Address: 219.117.201.174
自前のDNSサーバ(ns1.5-55.jp)はまだなにもいじっていないので、min10.comのアドレス解決ができず、上位のDNSサーバへ聞きにいって、ちゃんと 219.117.201.174を返してきました。
バーチャルホスト(Apache)の設定
とりあえず、Apacheのルートまでは来たので、これを正しい場所へ振り分けます。
$ e /etc/apache2/sites-available/my_site
RailsRuby /opt/ruby-enterprise-1.8.6-20080624/bin/ruby RailsMaxPoolSize 50 RailsPoolIdleTime 300 ServerName min10.com DocumentRoot /home/www/3n10/public ServerAdmin mam@5-55.jp ServerSignature On LogLevel warn ErrorLog /home/www/3n10/log/error.log CustomLog /home/www/3n10/log/access.log combined ScriptAlias /cgi-bin/ /home/www/3n10/cgi-bin/ Alias /doc/ "/usr/share/doc/" $ s /etc/init.d/apache2 restart
<VirtualHost *:80>ブロックを「/etc/apache2/sites-available/my_site」ファイルに追加します。修正が終わったら Apacheのリスタートを忘れずに。
DNSサーバの設定
以上で外部から、http://min10.comでアクセスすると、自宅サーバの /home/www/3n10/public にアクセスされるはずですが、自宅内環境から 219.117.201.174にアクセスするとルーターへのアクセス(192.168.1.1)とみなされて、ルーター設定画面が立ち上がってしまいます。
これを防ぐために、自前のDNSサーバ(ns1.5-55.jp)の設定を変えて、min10.comのアドレス解決をしてやります。$ e /etc/bind/named.conf
zone "min10.com" IN { // min10.comの正引きゾーン情報(内部) type master; file "/etc/bind/db.min10"; };min10.comの正引きゾーン情報を追加します。実際の設定は、/etc/bind/db.min10に書きます。
$ e /etc/bind/db.min10
$TTL 86400 @ IN SOA min10.com. root.min10.com.( 2008092991 ; Serial = today 28800 ; Refresh = 8 hours 14400 ; Retry = 4 hours 3600000 ; Expire = 1000 hours 86400 ) ; Minimum = 1 day IN NS ns1.5-55.jp. IN MX 10 mail.5-55.jp. @ IN A 192.168.1.251 ; min10.com * IN A 192.168.1.251 ; *.min10.com$ s /etc/init.d/bind9 restart
DNS(NSレコード)とメール(MXレコード)は自前で持たないので、5-55.jpあてにしてあります。(この設定で有効なのかどうかはよくわかりませんが)
設定が終わったら、bindをリスタートさせておきます。DNS設定の確認
nslookupで min10.comがどこに飛ぶかもう一度確認します。
PS C:\> nslookup min10.com Server: ns1.5-55.jp.1.168.192.in-addr.arpa Address: 192.168.1.250 Name: min10.com Address: 192.168.1.251今度は自前のDNSサーバ(ns1.5-55.jp)で min10.comのアドレス解決をしてローカルIPを返してきました。
バーチャルホスト(Apache)の設定確認
さて、これでやっと準備が整ったので、http://min10.com にアクセスしてみます。大丈夫なようです。メール設定については、また明日。