CloudCore VPS:メールサーバの構築

PostfixとDovecotでメールサーバを構築します。

以下のような設定にします。
・個人ごとにUNIXアカウントを作らない
・メール送信はサブミッションポート経由(SMTP Auth)
・パスワードはDovecotで一元管理

初期設定

■パッケージのインストール
# yum -y install postfix dovecot cyrus-sasl-md5 make

■起動
# /etc/rc.d/init.d/postfix start

OS起動時に自動起動する設定
# chkconfig postfix on

■aliasesデータベース構築
# newaliases

※mailコマンドがない場合、mailxパッケージもインストール。

※うまくいかない場合、"postalias /etc/aliases" を実行した後にnewaliasesしてみる。

※sendmailが入っている場合は以下の作業も。

■sendmail停止
# /etc/rc.d/init.d/sendmail stop

# chkconfig --del sendmail

■"sendmail"コマンドを"sendmail.postfix"にリンク
# alternatives --config mta


■ローカルユーザ宛に送信テスト
# mail root

※届かない場合、/var/log/maillog でエラーを確認して設定。

Dovecotの設定


■メールボックス管理アカウントの作成
個人ごとのUNIXアカウントは作らないので、メールを読み書きする共通UNIXアカウントが必要となります。

# groupadd -g 10000 vmail

# useradd -u 10000 -g 10000 -d /var/spool/vmail -r -s /sbin/nologin vmail

# mkdir /var/spool/vmail

# chown vmail:vmail /var/spool/vmail

# chmod 700 /var/spool/vmail

■Dovecotの設定
# vi /etc/dovecot.conf
auth_default {
  mechanism = cram-md5 digest-md5 login plain
  passdb passwd-file {
    args = /etc/dovecot-passwd
  }
  socket-listen {
    client {
      path = /var/spool/postfix/private/auth
      mode = 0600
      user = postfix
      group = postfix
    }
  }
  userdb static {
    args = uid=10000 gid=10000 home=/var/spool/vmail/%d/%n
  }
}

コメントアウトしている個所を有効にするときには、対応する "}" なども忘れずに有効にします。

■パスワードファイルの作成
dovecotpwコマンドでパスワードを生成し、/etc/dovecot-passwdに記述します。

# dovecotpw
Enter new password:
Retype new password:
{HMAC-MD5}fe25e946c9a10a6a72f51a49eb9ceda913daadfdcebc390e7dd9ac38cf0d96cd

# vi /etc/dovecot-passwd
test@example.com:{HMAC-MD5}fe25e946c9a10a6a72f51a49eb9ceda913daadfdcebc390e7dd9ac38cf0d96cd

■起動
# /etc/rc.d/init.d/dovecot start

# chkconfig dovecot on

Postfixの設定

■設定
# vi /etc/postfix/main.cf
# 以下を編集
mydestination = $myhostname, localhost.$mydomain, localhost
inet_interfaces = all

# 以下を追加
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
virtual_mailbox_domains = example.com
virtual_mailbox_base = /var/spool/vmail
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 100
virtual_uid_maps = static:10000
virtual_gid_maps = static:10000
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_maps = hash:/etc/postfix/virtual

# vi /etc/postfix/master.cf
# 以下を編集
submission inet n       -       n       -       -       smtpd


■メールアドレスの追加
# vi /etc/postfix/vmailbox
test@example.com    example.com/test/Maildir/

# postmap /etc/postfix/vmailbox
# postmap /etc/postfix/virtual

■再起動
# /etc/rc.d/init.d/postfix restart

■iptablesに追加
他サーバからの中継用に25も開けます。

# vi ~root/firewall
/sbin/iptables -A INPUT -p tcp --dport 587 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT

正しく送受信されるかテストし、不正リレーチェックをして、問題なければ完了です。
不正なリレーをしていないかどうかは、以下のサイトなどで確認できます。
第三者中継チェック RBL.JP

ドメイン追加の処理

/etc/postfix/main.cf の "virtual_mailbox_domains =" の個所に追加します。

メールアドレス追加の処理

dovecotpwコマンドで、暗号化パスワードを取得します。
/etc/dovecot-passwdに追加します。
/etc/postfix/vmailboxに追加します。
postmap /etc/postfix/vmailboxを実行します。

参考:
PostfixとDovecotでさくらVPS上にバーチャルメールボックスが利用できるメールサーバを作る
メールサーバー間通信内容暗号化(OpenSSL+Postfix+Dovecot)
サーバ構築/Postfix/バーチャルドメイン設定

  • Spread The Love
  • Digg This Post
  • Tweet This Post
  • Stumble This Post
  • Submit This Post To Delicious
  • Submit This Post To Reddit
  • Submit This Post To Mixx

0 Response to “CloudCore VPS:メールサーバの構築”

Leave a Reply