「Postfix+Dovecot/導入手順」の版間の差分
ナビゲーションに移動
検索に移動
(新しいページ: ' Category:導入手順 本ページでは、MTAソフトウェアである「Postfix」の導入手順を記述する。 == 環境 == * MTA : Postfix 2.5.6 * POP3 : Doveco...') |
|||
1行目: | 1行目: | ||
[[Category:導入手順]] | [[Category:導入手順]] | ||
本ページでは、MTAソフトウェアである「Postfix」の導入手順を記述します。 | |||
== 環境 == | == 環境 == | ||
7行目: | 6行目: | ||
* POP3 : Dovecot 1.1.10 | * POP3 : Dovecot 1.1.10 | ||
外部リレーの場合、SMTP認証を実施する。認証データはUNIXアカウントと分離します。 | |||
== インストール == | == インストール == | ||
35行目: | 34行目: | ||
=== Postfix === | === Postfix === | ||
以下、下記の条件を満たす設定を行います。 | |||
* 外部リレーの場合、SMTP認証を実施する | * 外部リレーの場合、SMTP認証を実施する | ||
* ドメイン「example.com」「example.org」を所持 | * ドメイン「example.com」「example.org」を所持 | ||
42行目: | 41行目: | ||
「/etc/postfix/main. | 「/etc/postfix/main.cf」に下記を追加します。 | ||
home_mailbox = Maildir/ | home_mailbox = Maildir/ | ||
64行目: | 63行目: | ||
「/etc/postfix/ | 「/etc/postfix/virtual」に下記を追加します。 | ||
user@example.org user@example.com | user@example.org user@example.com | ||
「/etc/postfix/virtual. | 「/etc/postfix/virtual.db」ファイルを生成するために下記コマンドを実行します。 | ||
# postmap /etc/postfix/virtual | # postmap /etc/postfix/virtual | ||
77行目: | 76行目: | ||
user@example.com example.com/user/ | user@example.com example.com/user/ | ||
ディレクトリの末尾に「/ | ディレクトリの末尾に「/」を入れない場合は、mbox形式で保存します。 | ||
「/etc/postfix/vmailbox. | 「/etc/postfix/vmailbox.db」ファイルを生成するために下記コマンドを実行します。 | ||
# postmap /etc/postfix/vmailbox | # postmap /etc/postfix/vmailbox | ||
バーチャルドメイン用ディレクトリを作成します。 | |||
# mkdir -p /var/spool/mail/vhosts | # mkdir -p /var/spool/mail/vhosts | ||
92行目: | 90行目: | ||
=== Dovecot === | === Dovecot === | ||
「/usr/local/etc」ディレクトリにある「dovecot-example.conf」を「dovecot. | 「/usr/local/etc」ディレクトリにある「dovecot-example.conf」を「dovecot.conf」にコピーする。コピー後、下記を追加・変更します。 | ||
protocols = pop3 | protocols = pop3 | ||
123行目: | 121行目: | ||
} | } | ||
パスワードファイル「/etc/dovecot/ | パスワードファイル「/etc/dovecot/passwd」を作成します。 | ||
<ユーザ名>:{PLAIN}<パスワード> | <ユーザ名>:{PLAIN}<パスワード> | ||
129行目: | 127行目: | ||
== その他 == | == その他 == | ||
Plain認証を試すには下記コマンドを使用します。 | |||
$ perl -MMIME::Base64 -e 'print encode_base64("\0username\0password");' | $ perl -MMIME::Base64 -e 'print encode_base64("\0username\0password");' | ||
145行目: | 143行目: | ||
== 付録 == | == 付録 == | ||
SMTP認証の際、Dovecotではなく[http://asg.web.cmu.edu/sasl/sasl-library.html 「cyrus-sasl」] | SMTP認証の際、Dovecotではなく[http://asg.web.cmu.edu/sasl/sasl-library.html 「cyrus-sasl」]を使用する場合の導入手順を示します。 | ||
[[導入手順:Postfix+Dovecot/cyrus-sasl]] | [[導入手順:Postfix+Dovecot/cyrus-sasl]] |
2009年2月28日 (土) 09:29時点における版
本ページでは、MTAソフトウェアである「Postfix」の導入手順を記述します。
環境
- MTA : Postfix 2.5.6
- POP3 : Dovecot 1.1.10
外部リレーの場合、SMTP認証を実施する。認証データはUNIXアカウントと分離します。
インストール
Postfix
$ tar zxvf postfix-2.5.6.tar.gz $ cd postfix-2.5.6 $ make tidy $ make makefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\"' $ make # adduser postfix # groupadd postdrop # make install # newaliases
Dovecot
$ tar zxvf dovecot-1.1.10.tar.gz $ cd dovecot-1.1.10 $ ./configure $ make # adduser dovecot # make install
設定
Postfix
以下、下記の条件を満たす設定を行います。
- 外部リレーの場合、SMTP認証を実施する
- ドメイン「example.com」「example.org」を所持
- 「example.org」宛のメールは「example.com」に転送
- 「example.com」のメールボックスはUNIXアカウントディレクトリではなく、バーチャルドメイン用のディレクトリに保存
「/etc/postfix/main.cf」に下記を追加します。
home_mailbox = Maildir/ mynetworks = 127.0.0.1 smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination smtpd_sasl_type = dovecot smtpd_sasl_path = /var/spool/postfix/private/auth-dovecot virtual_alias_domains = example.org virtual_alias_maps = hash:/etc/postfix/virtual virtual_mailbox_domains = example.com virtual_mailbox_base = /var/spool/mail/vhosts virtual_mailbox_maps = hash:/etc/postfix/vmailbox virtual_minimum_uid = 100 virtual_uid_maps = static:5000 virtual_gid_maps = static:5000
「/etc/postfix/virtual」に下記を追加します。
user@example.org user@example.com
「/etc/postfix/virtual.db」ファイルを生成するために下記コマンドを実行します。
# postmap /etc/postfix/virtual
「/etc/postfix/vmailbox」に下記を追加する。
user@example.com example.com/user/
ディレクトリの末尾に「/」を入れない場合は、mbox形式で保存します。
「/etc/postfix/vmailbox.db」ファイルを生成するために下記コマンドを実行します。
# postmap /etc/postfix/vmailbox
バーチャルドメイン用ディレクトリを作成します。
# mkdir -p /var/spool/mail/vhosts # chown 5000.5000 /var/spool/mail/vhosts
Dovecot
「/usr/local/etc」ディレクトリにある「dovecot-example.conf」を「dovecot.conf」にコピーする。コピー後、下記を追加・変更します。
protocols = pop3 disable_plaintext_auth = no ssl_disable = yes mail_location = maildir:/var/spool/mail/vhosts/%d/%n auth default { mechanisms = plain apop cram-md5 passdb passwd-file { # File contains a list of usernames, one per line #args = /etc/dovecot.deny #deny = yes args = /etc/dovecot/passwd } userdb static { args = uid=5000 gid=5000 home=/var/spool/mail/vhosts/%d/%n } (中略) socket listen { client { path = /var/spool/postfix/private/auth-dovecot mode = 0660 user = postfix group = postfix } } }
パスワードファイル「/etc/dovecot/passwd」を作成します。
<ユーザ名>:{PLAIN}<パスワード>
その他
Plain認証を試すには下記コマンドを使用します。
$ perl -MMIME::Base64 -e 'print encode_base64("\0username\0password");'
起動
# /usr/local/sbin/dovecot # /usr/sbin/postfix start
トラブルシューティング
- 「/var/log/maillog」関連
- 「warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: Permission denied」
- 対策 : 「/etc/sasldb2」の所有者をpostfixにする
- 「warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: Permission denied」
付録
SMTP認証の際、Dovecotではなく「cyrus-sasl」を使用する場合の導入手順を示します。
導入手順:Postfix+Dovecot/cyrus-sasl
参考
- http://www.postfix.org/SASL_README.html
- http://www.kozupon.com/mail/sasl3.html
- http://tech.ckme.co.jp/mailv.shtml
- http://www.sea-bird.org/pukiwiki/index.php?Postfix%A1%CA%A5%D0%A1%BC%A5%C1%A5%E3%A5%EB%A5%C9%A5%E1%A5%A4%A5%F3%A1%CB%A4%CE%C0%DF%C4%EA%A4%CE%B4%AC
- http://www.tmtm.org/postfix/tutorial/index.html
- http://sy2920.s151.xrea.com/mail/smtpauth-dovecot_sasl.html
- http://smdn.invisiblefulmoon.net/linux/tips/dovecot/
- http://nabe.blog.abk.nu/0304
更新履歴
- 2009/02/22
- ページ作成