バーチャルSMTPサーバの導入
WWWサーバ、FTPサーバとバーチャルホスト対応したので、残ったメールサーバをバーチャルドメイン対応にしました。
Postfixでバーチャルドメイン対応にするには、UNIXアカウントを使う方法と別途ユーザデータベースを作成して行う方法がありますが、ユーザ数も少ないので、設定が簡単なUNIXアカウントを使う方法にしました。
■Postfixの設定
Postfixが動いているなら設定はいたって簡単で、以下のとおりやるだけです。
- まずは、/etc/postfix/main.cf に以下の1行を追加します。
virtual_alias_maps = hash:/etc/postfix/virtual |
- 次に、/etc/postfix/virtualにバーチャルドメイン名とバーチャルドメインのアカウントとUNIXアカウントの対応を必要数設定します。このセットをバーチャルドメイン毎に複数書くこともできます。
[/etc/postfix/virtualの内容]
example.com anything
oyaji@example.com oyaji
user1@example.com address |
- example.com anything
左側にバーチャルドメイン名を記述する。右側の内容には意味がないのでmanのまま。このドメイン名を
main.cfのmydestination やrelay_domains 設定パラメータに指定すると拒否されてしまうので設定しないこと。
- oyaji@example.com oyaji
user1@example.com address
バーチャルドメインのアカウントと対応するUNIXアカウントを対で必要数記述する。これによりバーチャルドメイン宛てのメールは対応するUNIXアカウントの/Maildirに配送されるので、既存アカウントにマッピングしても良いし、管理を分けたければ新たにアカウントを作成すればよい。
メーラの方は、当然、このUNIXアカウントで設定することになる。SMTP-AUTH用のsasldbの設定も忘れずに。
- 変更後に DB ファイルを構築するために、以下のコマンドを実行し、postfixを再起動します。
# postmap /etc/postfix/virtual
# /etc/rc.d/init.d/postfix reload |