2005/03/06
Postfix Courier-Imap バーチャルドメインの設定
1台のマシンで複数のドメインを扱う方法を解説します。
ここでは、tma@gside.org と言うアドレスと、tma@example.com というドメインの
異なる2つのアドレスを,1台のPostfixで扱う方法を例にとります。
前提としては,gside.orgの設定は完了しており,追加する
ドメインをexample.comとします。
Postfixの基本的な設定については、
Postfixのインストールと基本設定
をご覧ください。
ドメインを共有
異なるドメインを共有する形で扱います。
この場合,異なるドメインでもユーザー名が同じメールは,同一のユーザーのメールボックスに配送されます。
例として,tma@gside.orgと,tma@example.com宛てへのメールが送られてきた場合,
これらのメールは同じユーザー tma のメールボックスに配送されます。
設定方法は /etc/postfix/main.cfを編集します。
mydestination = $myhostname,localhost.$mydomain,example.com
設定の変更を反映させるため、postfixを再起動します。
# /etc/init.d/postfix restart
ドメインを別々で設定する
tma@gside.orgと,tma@example.com宛てへのメールを別々のユーザーに配送するには
バーチャルエイリアスを用います。
/etc/postfix/main.cf の設定を行います。
virtual_alias_domains = example.com
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_domains で指定したドメインは mydestination には指定しないよう注意してください。
次に virtual_alias_maps で指定したエイリアスファイルを作成します。
このファイルにはメールアドレスと配送先のユーザー名の対応をリストします。
tma@gside.org tma
tma@example.com hoge
上記例では tma@gside.org に送られたメールは tma ユーザーのメールボックスへ、
tma@example.com に送られたメールは hoge ユーザーのメールボックスへ配送されます。
設定の変更を反映させるため、以下のコマンドを実行します。
# postmap /etc/postfix/virtual
# /etc/init.d/postfix restart
バーチャルMailboxでドメインを別々に設定する
メールを使用するユーザーが増えると、そのユーザーのためにOSのアカウントを作成する
のは,セキュリティ上あまり良くありません。
バーチャルMailBox機能を使うと,OSのアカウントを増やすことなく,メールのみを使用するユーザーを
増やす事ができます。
例として,tma@gside.orgとhoge@example.comの二つのアドレスをバーチャルMailBoxで管理
する方法を示します。
Postfixの設定
/etc/postfix/main.cfを編集します。
mydestination =
virtual_mailbox_domains = $myhostname,example.com
virtual_transport = virtual
virtual_mailbox_base = /home/takeshi/mail
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 100
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_mailbox_domainsに指定したドメインはmydestination,virtual_alias_domains には指定しないよう注意してください。
/etc/postfix/vmailboxを編集します。
tma@gside.org tma_gside/.maildir/
hoge@example.com hoge_example/.maildir/
配送先の指定では、最後 / で終わっている点に注意してください。
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
で指定したuid gid で書き込みができるように /home/mail/tma_gside/.maildir と /home/mail/tma_gside/.maildirを設定します。
# mkdir -p /home/mail/tma_gside
# mkdir -p /home/mail/hoge_example
# maildirmake /home/mail/tma_gside/.maildir
# maildirmake /home/mail/hoge_example/.maildir
# chown -R 5000:5000 /home/mail/tma_gside/.maildir
# chown -R 5000:5000 /home/mail/hoge_example/.maildir
設定の変更を反映させるため、以下のコマンドを実行します。
# postmap /etc/postfix/vmailbox
# /etc/init.d/postfix restart
Courier-Imapの設定
Postfixの設定が終われば、次はメールクライアントでメールを閲覧できるように、Courier-Imapを
設定する必要があります。
例ではバーチャルメールボックスで設定したtma@gside.orgとhoge@example.comの二つのアドレスについて、
Courier-Imapの設定を行います。
各メールアドレス毎に、メールボックスのパスを指定するために、userdbコマンドを実行します。
# userdb tma@gside.org set mail= /home/mail/tma_gside/.maildir home=/home/mail uid=5000 gid=5000
# userdb hoge@example.com set mail= /home/mail/hoge_example/.maildir home=/home/mail uid=5000 gid=5000
各メールアドレス毎にパスワードを設定します。CRAM-MD5で認証を行う場合は、以下の様にします。
コマンド実行後にパスワードの入力を2回求められるので、入力してください。
# userdbpw -hmac-md5 | userdb tma@gside.org set hmac-md5pw
# userdbpw -hmac-md5 | userdb hoge@example.com set hmac-md5pw
CRAM-MD5で認証を行わない場合は、以下の様にします。
# userdbpw | userdb tma@gside.org set imappw
# userdbpw | userdb hoge@example.com set imappw
データベースを作成します。
# makeuserdb
メールクライアントとしてThunderbirdを例に取ると、以下のような設定で接続を確認できます。
当サイトは Gentoo 非公式サイトです。
© Tma 2004-2008