2004年10月17日
バーチャルドメイン
今日はせっかくの日曜なのに朝からマンションの理事会
明日は名古屋へ出張、あさっては早朝からお堅い団体の親睦ゴルフ。
ゴルフはうれしいけど、コースはタフで有名な名門「戸塚カントリー」。
うーっ! ぜんぜん練習してなーい 迷惑かけそう・・・
先週mysqlが暴走してから放置してあった2つのバーチャルドメインサイトを
やっとさっき修復しました。 サーバーの設定をしたりシステムの構築をするのは
好きだけど、不思議とwebサイトの構築にはまったく興味が起きない。
このセンスのないblogのレイアウトを見れば一目瞭然だけど、
webサイトはフラッシュ好きの社員と親しいweb制作会社に完全におまかせ状態です。
下は今回バーチャルドメインで設定に関してググってみても意外と分かりやすくて参考になるところが
少ないので今更ですがあえて記載しました。
1.hpptd.conf NAMEベース設定ノート
※IPは自分がサーバーに割り当てたIPアドレスを使う(グローバルIPを使わない)
#NameVirtualHost *
NameVirtualHost 192.168.0.4 コメントを解除
適当にダミーを作りVirtualHostの最上位に記述し、該当ディレクトリーにdumyホルダー設置し、
ダミーを作ることでIPでの直接のアクセスを不能にし、メインとサブのアクセスの優先順位をなくす。
個人的にはdumyホルダーにはFedoraの/var/www/htmlにあったerrorホルダーを入れて
no-indexの時のFedoraとAPACHEのテストページ表示させてます。
※ ダミードメインの設定
<VirtualHost 192.168.0.4>
ServerAdmin admin@dumy.jp
DocumentRoot /home/www/dumy
ServerName www.dumy.jp
ErrorLog logs/dumy-error_log
CustomLog logs/dumy-access_log common
</VirtualHost>
※ メインのドメインを設定
<VirtualHost 192.168.0.4>
ServerAdmin admini@hogehoge.com
DocumentRoot /home/www/web1
ServerName www.hogehoge.com
ServerAlias www.hogehoge.com
ServerAlias hogehoge.com
ErrorLog logs/hogehoge.com-error_log
CustomLog logs/hogehoge.com-access_log common
</VirtualHost>
※ サブドメインの設定
<VirtualHost 192.168.0.4>
ServerAdmin admin@hoge.org
DocumentRoot /home/www/web2
ServerName www.hoge.org
ServerAlias www.hoge.org
ServerAlias hoge.org
ErrorLog logs/hoge.org-error_log
CustomLog logs/hoge.org-access_log common
</VirtualHost>
2.sendmail バーチャルドメイン設定ノート
cd /etc/mail
vi virtusertable
例:
postmaster@yyyy.org tvk
kato@yyyy.org kato
@yyyy.org taro
@zzzzz.com %1@yadayada.co.jp
空白部分は<タブ>
上から優先でpostmaster@yyyy.org、kato@yyyy.org以外はtaroへ
4行目の@zzzzz.com宛ては@yada-yada.co.jpに転送される
但し、taro@zzzzz.comならtaro@yada-yada.co.jpへ転送。
このファイルをdbに変換
makemap hash virtusertable.db < virtusertable
sendmail.mcへ追加
define(`confCR_FILE', `/etc/mail/local-host-names')dnl
FEATURE(virtusertable, `hash /etc/mail/virtusertable')dnl
local-host-namesに使用するドメインを追加
vi /etc/mail/local-host-names
yyyy.org
@zzzzz.com
# cd /etc/mail/
# m4 sendmail.mc > sendmail.cf
# /etc/rc.d/init.d/sendmail restart

