DNS and Apache VirtualHost settings on Linode

DNS関連

"add a new domain zone"

ドメイン名を入力. Master で "Continue"

ドメイン名, メールアドレス, IPなどを入力し "Save"

さらっと設定が完了
ちなみに設定ファイルは15分置きのバッチで反映される

LinodeDNS Manager で Aレコードを設定する
(面倒なら *(アスタリスク) 指定でも良い)

# なお、CNAMEよりAレコードに記述したほうがDNSへの問い合わせが減るため、Aレコードでの運用が良いと思う.

レジストラ側で、ネームサーバをLinodeに変更する

急ぎで使いたければ自ホストの/etc/hosts を書き換える
(whois, nslookupで参照できる情報の変更は数分で済むようだが、ドメインが別ホストを向いていた場合には時間がかかることもある. 実際半日くらいかかるところもあった模様.)

LinodeのノードIPがaa.bbb.ccc.dddの場合.
$ vim /etc/hosts
+aa.bbb.ccc.ddd www.hoge.com
+aa.bbb.ccc.ddd test.hoge.com

ApacheのVirtualHost設定

無指定(www)はApacheのデフォルト、それ以外は任意のドキュメントルート
(ex. www.hoge.com, test.hoge.com を分ける場合)

# vim /usr/local/apache2/conf/httpd.conf
// 以下を追加.

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

<VirtualHost *:80>
    ServerName www.hoge.com
    DocumentRoot /usr/local/apache2/htdocs/
    <Directory />
        allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName test.hoge.com
    DocumentRoot /path/to/rails/redmine/public
    <Directory />
        allow from all
    </Directory>
</VirtualHost>

# /usr/local/apache2/bin/apachectl restart
=> 設定を反映する.

Apacheをいじる場合は下記を一読のこと.

via : バーチャルホストの例
http://httpd.apache.org/docs/2.2/ja/vhosts/examples.html