このたび、j74th.comを取得したので、今までhttp://74street.ddo.jp/でやっていたものを、http://www.j74th.com/に移すことにした。
現在この2つのドメインは両方とも同じ自宅サーバを指している、というか、IPを2つも用意できない。だから、apache2の方で振り分けなければならない。いろいろやってみたのだが、以下のようになった。
- j74th.comのDNSを、www.j74th.comを問われたら74street.ddo.jpだよ!(CNAMEで)ってやる
- apache2でネームヴァーチャルホストで、www.j74th.comと74street.ddo.jpの2つを設定する
- 74street.ddo.jpをwww.j74th.comにリダイレクトさせる
DNSはwww.j74th.comから74street.ddo.jpをさして、Apacheでは74street.ddo.jpからwww.j74th.comを指すっていう変な設定になった。
1.j74th.comのDNSを、www.j74th.comを問われたら74street.ddo.jpだよ!(CNAMEで)ってやる
書いてあるそのまま。CNAMEは、実はこのドメインはこのドメインのことだったんです!って返す属性のこと。これで、ブラウザにはwww.j74th.comと表示されたまま、74street.ddo.jpに移動する(URLは書き換わらない)。
何故74street.ddo.jpを指す必要があるかというと、www.j74th.comは静的DNSサービスなので動的IPな自宅サーバでは使えないので、ダイナミックDNSサービスとして使わせてもらっている74street.ddo.jpを経由して、自宅サーバのIPに名前解決してもらうためである。
2.apache2でネームヴァーチャルホストで、www.j74th.comと74street.ddo.jpの2つを設定する
apache2では設定を以下のように書いて、常にヴァーチャルホストで動いている(っぽい)。
/etc/apache2/sites-avaival/default
webの設定
これに対し、ネームでヴァーチャルホストを分けてね、って設定してやることができる。
/etc/apache2/sites-avaival/default
NameVirtualHost *:80
ServerName www.j74th.com
www.j74th.comの設定
これだけで、分けることが出来る。ブラウザがヘッダにドメインを乗っけてくれている事が条件となるが、まぁ、AU携帯でも分けてくれたので、大丈夫だろう。
ちなみに、www.j74th.comでも74street.ddo.jpでもないものでアクセスした場合(IP直うちとか)、最初に記述した方にアクセスされた。