2013年 2月 23

スマートフォンでpush通知出来るようにIMAP-IDLE対応のdovecot2をインストールする。

基本的には メールサーバ構築のまとめ(複数のバーチャルドメイン+Postfix+MySQL+Dovecot+procmail+Clam AntiVirus+spamassassin+postfixadmin) のdovecotの部分をdovecot2にするための記事。

ATrpmsリポジトリを追加

yumでインストールできるようにするため、ATrpmsリポジトリを追加する。

# vi /etc/yum.repos.d/atrpms.repo

[atrpms]
name=Redhat Enterprise Linux $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
enabled=0
gpgcheck=1
gpgkey=http://atrpms.net/RPM-GPG-KEY.atrpms

dovecot 2のインストール(アップデート)

# yum install dovecot --enablerepo=atrpms

Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * centosplus: www.ftp.ne.jp
 * epel: ftp.kddilabs.jp
 * extras: www.ftp.ne.jp
 * rpmforge: ftp.riken.jp
 * updates: www.ftp.ne.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package dovecot.i386 1:2.1.1-2_132.el5 set to be updated
--> Processing Dependency: libpq.so.5 for package: dovecot
--> Running transaction check
---> Package postgresql84-libs.i386 0:8.4.13-1.el5_8 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                 Arch       Version                  Repository    Size
================================================================================
Updating:
 dovecot                 i386       1:2.1.1-2_132.el5        atrpms       2.5 M
Installing for dependencies:
 postgresql84-libs       i386       8.4.13-1.el5_8           base         213 k

Transaction Summary
================================================================================
Install       1 Package(s)
Upgrade       1 Package(s)

Total download size: 2.7 M
Is this ok [y/N]: y

... 

Running Transaction
  Installing     : postgresql84-libs                                        1/3 
  Updating       : dovecot                                                  2/3 
  Cleanup        : dovecot                                                  3/3 
warning: /etc/dovecot.conf saved as /etc/dovecot.conf.rpmsave

Dependency Installed:
  postgresql84-libs.i386 0:8.4.13-1.el5_8                                       

Updated:
  dovecot.i386 1:2.1.1-2_132.el5                                                

Complete!

設定ファイルの編集

アップデートした場合、設定ファイルはに変更があるのでスクリプトがあるみたいだけど最初から設定することにする。
http://wiki2.dovecot.org/Upgrading

dovecot2では設定ファイルの書式が変わり、諸々の設定は conf.d/以下に置かれている。

dovecot.confを編集
・ オリジナルをコピーしておく
# cd /etc/dovecot
# cp -a dovecot.conf dovecot.conf.org

・ dovecot.confを編集
# vi /etc/dovecot/dovecot.conf

# Protocols we want to be serving.
#protocols = imap pop3 lmtp
protocols = imap pop3 ←追記

master.conf
# cd /etc/dovecot/conf.d/

# vi /etc/dovecot/conf.d/10-master.conf

service imap-login {
  inet_listener imap {
    port = 143 ←コメント削除
  }
  inet_listener imaps {
    port = 993 ←コメント削除
    ssl = yes ←コメント削除
  }

...

service pop3-login {
  inet_listener pop3 {
    port = 110  ←コメント削除
  }
  inet_listener pop3s {
    port = 995  ←コメント削除
    ssl = yes  ←コメント削除
  }
}

....

service auth {

  unix_listener auth-userdb {
    #mode = 0666
    #user = 
    #group = 
  }

  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {  ←コメント削除
    # mode = 0666
    mode = 0660      ←追記
    user = postfix   ←追記
    group = postfix  ←追記
  }                  ←コメント削除

  # Auth process is run as this user.
  #user = $default_internal_user
}
10-mail.conf
# vi /etc/dovecot/conf.d/10-mail.conf

# See doc/wiki/Variables.txt for full list. Some examples:
#
#   mail_location = maildir:~/Maildir
#   mail_location = mbox:~/mail:INBOX=/var/mail/%u
#   mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
#mail_location = 
mail_location = maildir:/mail/%d/%u  ← 追記

...


# Valid UID range for users, defaults to 500 and above. This is mostly
# to make sure that users can't log in as daemons or other system users.
# Note that denying root logins is hardcoded to dovecot binary and can't
# be done even if first_valid_uid is set to 0.
#first_valid_uid = 500
#last_valid_uid = 0
first_valid_uid = 10000  ← 追記

# Valid GID range for users, defaults to non-root/wheel. Users having
# non-valid GID as primary group ID aren't allowed to log in. If user
# belongs to supplementary groups with non-valid GIDs, those groups are
# not set.
#first_valid_gid = 1
#last_valid_gid = 0
first_valid_gid = 10000  ← 追記

10-auth.conf
# vi /etc/dovecot/conf.d/10-auth.conf

# Space separated list of wanted authentication mechanisms:
#   plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey
#   gss-spnego
# NOTE: See also disable_plaintext_auth setting.
auth_mechanisms = plain login digest-md5 cram-md5  ←追加

....

#!include auth-deny.conf.ext
#!include auth-master.conf.ext

!include auth-system.conf.ext
!include auth-sql.conf.ext         ←コメント削除
#!include auth-ldap.conf.ext
#!include auth-passwdfile.conf.ext
#!include auth-checkpassword.conf.ext
#!include auth-vpopmail.conf.ext
#!include auth-static.conf.ext
10-ssl.conf
# vi /etc/dovecot/conf.d/10-ssl.conf

#ssl_cert = 

MySQLを使うための設定

※自分はunixユーザでメールを使わないので下記設定で問題ないが、以前頂いたコメントによると問題がある模様。参考まで。

auth-mysql.conf.ext を新規作成
# vi /etc/dovecot/conf.d/auth-mysql.conf.ext 

driver = mysql
default_pass_scheme = PLAIN
connect = dbname=postfix host=localhost user=postfix password=passwd
password_query = SELECT password FROM mailbox WHERE username = '%u' AND active = '1'
user_query = SELECT concat('/mail/', maildir) as home, 10000 as uid, 10000 as gid FROM mailbox WHERE username = '%u' AND active = '1'
auth-sql.conf.extを修正
# vi /etc/dovecot/conf.d/auth-sql.conf.ext

passdb {
  driver = sql

  # Path for SQL configuration file, see example-config/dovecot-sql.conf.ext
  #args = /etc/dovecot/dovecot-sql.conf.ext
  args = /etc/dovecot/conf.d/auth-mysql.conf.ext  ←追記
}

...

userdb {
  driver = sql
  #args = /etc/dovecot/dovecot-sql.conf.ext
  args = /etc/dovecot/conf.d/auth-mysql.conf.ext  ←追記
}

参考

  • CentOS で EPEL や ATrpms のパッケージを yum で利用できるようにする
  • Dovecot2.x/設定
  • Postfix + Dovecot 2 + PostfixAdmin + MySQL [がらくたネット]
  • More from my site

    • SpamAssassin[Postfix+MySQL][CentOS] yumでSpamAssassinを導入 SpamAssasinのみをインストールしたくなったのでメールサーバ再構築のついでに試してみる。メールサーバ構築のまとめ […]
    • メールサーバ構築のまとめ(複数のバーチャルドメイン+Postfix+MySQL+Dovecot+procmail+Clam AntiVirus+spamassassin+postfixadmin)メールサーバ構築のまとめ(複数のバーチャルドメイン+Postfix+MySQL+Dovecot+procmail+Clam AntiVirus+spamassassin+postfixadmin) 2013/02/23追記 dovecot2にアップグレードしたエントリーはこちら 2013/02/22追記 TLS対応。エントリーはこちら 2013/01/15追記 wpの設定を変えたこともあり見難いので随時記事を添削します。 2013/01/13追記 PostfixのMySQL対応はyumで出来るようです。詳しくは該当箇所で 2012/08/31追記 […]
    • CentOS5.3 PostfixをMySQL対応にするCentOS5.3 PostfixをMySQL対応にする 2013-01-13追記 MySQL対応のPostfixはCentOS Plusリポジトリを使えばyumでupdate出来るみたい。こっちの方がいいね。 CentOS Plusリポジトリを有効にする # vi /etc/yum.repos.d/CentOS-Base.repo [centosplus] name=CentOS-$releasever […]
    • PostfixのTLS対応PostfixのTLS対応 サーバー証明書を作成 メールサーバー間通信内容暗号化(OpenSSL+Postfix+Dovecot) - CentOSで自宅サーバー構築 を参考にサーバー証明書を作成 # cd /etc/pki/tls/certs/ # make mail.pem umask 77 ; \ PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; […]
    • CentOS5.3 メールサーバ構築(Postfix +qmail +vpopmail +Dovecot) CentOS5.3 メールサーバ構築(Postfix +qmail +vpopmail +Dovecot) CentOSで自宅サーバー構築を参考に構築したが、途中でエラーが出たのでメモ。 19.独自のメールアドレスをつくる(Postfix編)メールサーバー構築(Postfix+Dovecot)CentOS4/CentOS5http://centossrv.com/postfix.shtmlバーチャルドメイン設定(Postfix&Dovecot+qmail&vpop […]
    • Postfixでのバーチャルドメインの設定Postfixでのバーチャルドメインの設定 バーチャルドメインをPostfixで使う場合 /etc/postfix/virtual の編集が必要となる 参考文献http://vine-linux.ddo.jp/linux/mail/virtual.php

    Filed under: インストールメモ,メールサーバ

    Trackback Uri



    コメントする