釣りブログ作りました

http://fishing.isamike.net/

バーチャルホストってなにさ

同一サーバ上で複数のドメインを運用することです。

バーチャルドメイン、マルチドメイン、マルチホスト、いろいろあるけど全部同じ意味です(たぶん)。

追加IPを設定して各ドメインに別々のIPを設定したり、ドメインを全部独自ドメインにすることも可能だけど、お金も掛かるし、個人で趣味程度ならそんな気合入れなくてもいいね。

今回は、1つのIP(xxx.xxx.xxx.xxx)に既に設定済の独自ドメイン(isamike.net)+そのサブドメイン(fishing.isamike.net)で設定してみました。

サブドメインのDNS情報の設定

うちが使ってるさくらVPSの場合は、管理画面からのみDNS設定が可能です。

サーバ内でDNSは動いてないです。

isamike.net のzone情報に、fishing とその振り向け先をAレコードで記述します。

ゾーン情報への記述は、末尾にピリオドが無い場合、後ろにSOAレコードが保管されるので、ホスト名のfishingだけで大丈夫です。

振り向け先は isamike.net と同じIPです。

↓みたいな感じです。

fishing IN A xxx.xxx.xxx.xxx

サーバ内でのバーチャルホスト設定

/etc/httpd/conf/httpd.conf 最下部に以下追加。

ファイルを弄るときはちゃんとバックアップファイルを取りましょう。

今回の場合、もし記述ミスってweb表示できなくなった場合、戻す用のファイルが無いとすんごく困ると思います。

NameVirtualHost xxx.xxx.xxx.xxx:80 ←★バーチャルホスト設定の明示。xxxにはサーバのIPを記述。

<VirtualHost xxx.xxx.xxx.xxx:80> ←★isamike.net用バーチャルホスト設定。↑と同じIP
    ServerAdmin root@isamike.net
    DocumentRoot /xxx/xxx/xxx ←★isamike.netのドキュメントルート
    ServerName isamike.net
    ErrorLog logs/isamike.net-error_log ←★fishingとログ分けます
    CustomLog logs/isamike.net-access_log common ←★fishingとログ分けます
    <Directory "/xxx/xxx/xxx"> ←★DocumentRootと同じ
    AllowOverride ALL
    </Directory>
</VirtualHost>

<VirtualHost xxx.xxx.xxx.xxx:80> ←★fishing用の設定。↑と同じIP。
    ServerAdmin root@fishing.isamike.net
    DocumentRoot /xxx/xxx/fishing ←★fishingドキュメントルートを記述
    ServerName fishing.isamike.net
    ErrorLog logs/fishing.isamike.net-error_log ←★isamike.netとログ分けます
    CustomLog logs/fishing.isamike.net-access_log common ←★isamike.netとログ分けます
    <Directory "/xxx/xxx/fishing"> ←★fishingのDocumentRootと同じ
    AllowOverride ALL
    </Directory>
</VirtualHost>

後は、設定ファイルの記述に問題が無いか確認。

[root@isamike conf]# apachectl configtest
Syntax OK
[root@isamike conf]#

OKならhttpd再起動。

[root@isamike conf]# /etc/init.d/httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
[root@isamike conf]#

後はwebブラウザのURL欄に各ドメイン打ち込んで表示確認。

isamike.net はこのブログがちゃんと表示されるか確認して、fishing の方は何も無いのでドキュメントルート配下に適当な文字を記述した index.html を置いて確認。

# vi index.html
# cat index.html
test
#

確認できたら index.html は消す。

これでバーチャルホスト設定は終わり

作ってから気づいたんだけど、このブログだけでさえ、月に何個か記事を書けば上出来な方なのに、2つのブログを両立して書いていくなんて無理だよね。

どうしよう。