「Postfix+Dovecot/導入手順」の版間の差分

提供:Software Development Memo
ナビゲーションに移動 検索に移動
(新しいページ: ' Category:導入手順 本ページでは、MTAソフトウェアである「Postfix」の導入手順を記述する。 == 環境 == * MTA : Postfix 2.5.6 * POP3 : Doveco...')
 
1行目: 1行目:
[[Category:導入手順]]
[[Category:導入手順]]
本ページでは、MTAソフトウェアである「Postfix」の導入手順を記述する。
本ページでは、MTAソフトウェアである「Postfix」の導入手順を記述します。


== 環境 ==
== 環境 ==
7行目: 6行目:
* POP3 : Dovecot 1.1.10
* POP3 : Dovecot 1.1.10


外部リレーの場合、SMTP認証を実施する。認証データはUNIXアカウントと分離する。
外部リレーの場合、SMTP認証を実施する。認証データはUNIXアカウントと分離します。


== インストール ==
== インストール ==
35行目: 34行目:


=== Postfix ===
=== Postfix ===
以下、下記の条件を満たす設定を行う。
以下、下記の条件を満たす設定を行います。
* 外部リレーの場合、SMTP認証を実施する
* 外部リレーの場合、SMTP認証を実施する
* ドメイン「example.com」「example.org」を所持
* ドメイン「example.com」「example.org」を所持
42行目: 41行目:




「/etc/postfix/main.cf」に下記を追加する。
「/etc/postfix/main.cf」に下記を追加します。


  home_mailbox = Maildir/
  home_mailbox = Maildir/
64行目: 63行目:




「/etc/postfix/virtual」に下記を追加する。
「/etc/postfix/virtual」に下記を追加します。


  user@example.org user@example.com
  user@example.org user@example.com




「/etc/postfix/virtual.db」ファイルを生成するために下記コマンドを実行する。
「/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形式で保存される。
ディレクトリの末尾に「/」を入れない場合は、mbox形式で保存します。




「/etc/postfix/vmailbox.db」ファイルを生成するために下記コマンドを実行する。
「/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.conf」にコピーする。コピー後、下記を追加・変更する。
「/usr/local/etc」ディレクトリにある「dovecot-example.conf」を「dovecot.conf」にコピーする。コピー後、下記を追加・変更します。


  protocols = pop3
  protocols = pop3
123行目: 121行目:
  }
  }


パスワードファイル「/etc/dovecot/passwd」を作成する。
パスワードファイル「/etc/dovecot/passwd」を作成します。


  <ユーザ名>:{PLAIN}<パスワード>
  <ユーザ名>:{PLAIN}<パスワード>
129行目: 127行目:
== その他 ==
== その他 ==


Plain認証を試すには下記コマンドを使用する。
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にする

付録

SMTP認証の際、Dovecotではなく「cyrus-sasl」を使用する場合の導入手順を示します。

導入手順:Postfix+Dovecot/cyrus-sasl

参考

更新履歴

  • 2009/02/22
    • ページ作成