○ dovecotのインストール

・Maildir形式のimapサーバを利用します
・dovecot-2.0.14をソースからインストールし、設定します
・postfixのsmtp-authで"DOVECOT_SASL"を利用します
・make はメンテナンスマシンで行っています

・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:dovecot-2.0.14.tar.gz (http://www.dovecot.org/)

○参照ファイル

パッケージの追加
最初の設定 (Xen)
opensslのインストール

○インストール環境

:OS CentOS 5.6
:selinux disabled or permissive
:インストール先  /etc /usr/local/
:作業 /usr/src
:言語 LANG=en_US.UTF-8
:ユーザー root

・メンテナンスの場合は一般ユーザから行います

○メール専用ユーザ仮設定

:root代行ユーザ luna
:一般ユーザ star,starlight
:web管理者用ユーザ  moon,moonlight



○dovecot-2.0.14

○dovecot専用ユーザとディレクトリの作製

・デフォルトで2つの専用ユーザを必要とします
uid/gid情報を参照

[root@jupiter:~]
# useradd -u 97 -d /dev/null -s /sbin/nologin dovecot
# useradd -d /dev/null -s /sbin/nologin dovenull
# mkdir -p /var/run/dovecot/{login,empty}
# chown root:dovecot /var/run/dovecot
# chown root:dovenull /var/run/dovecot/login
# chmod 750 -R /var/run/dovecot/login

○ソースの展開・インストール

・openssl-devel,tcp_wrappersを必要とします
・libwrapを組み込んでおきます

# cd /usr/src
[root@jupiter:/usr/src]
# tar zxvf dovecot-2.0.14.tar.gz
# chown -R root:root dovecot-2.0.14
# cd dovecot-2.0.14
[root@jupiter:/usr/src/dovecot-2.0.14]
# make distclean
# ./configure CFLAGS="-O2 -march=pentium3" \
CXXFLAGS="-O2 -march=pentium3" \
--prefix=/usr/local \
--sysconfdir=/etc \
--localstatedir=/var \
--with-ssl=openssl \
--with-ssldir=/etc/pki/tls \
--with-notify=inotify \
--with-libcap \
--with-libwrap

・CFLAGS="-O2 -march=pentium3" (CPU最適化オプション)
・CXXFLAGS="-O2 -march=pentium3" (CPU最適化オプション)
・該当しない場合は指定しない
・オプションは半角を入れて続けて記入した方が良い

# make
# make uninstall
# make install
# cd ..
[root@jupiter:/usr/src]
# tar jcvf dovecot-2.0.14-110830.tar.bz2 dovecot-2.0.14/

・設定ファイルをコピーします

# cd /usr/local/share/doc/dovecot/example-config
[root@jupiter:/usr/local/share/doc/dovecot/example-config]
# cp -a conf.d /etc/dovecot
# cp -a dovecot.conf /etc/dovecot
# cp -a dovecot-*.ext /etc/dovecot

○pamファイルの作成

:/etc/pam.d/dovecot (root root 600)

auth       required     pam_nologin.so
auth       include      system-auth
account    include      system-auth
session    include      system-auth

○設定ファイルの修正

・ヴァージョン2.xでは分割ファイル形式になっています
・ヴァージョン1.xの設定を引き継ぐ場合は、dovconfで確認します

# cd /etc/dovecot
[root@jupiter:/etc/dovecot]
# doveconf -n -c dovecot1.conf > dovecot2.conf

:/etc/dovecot/dovecot.conf

・Listen = *
・ipv4のみ有効にします
・!include conf.d/*.conf(!マークに注意)
・conf.dディレクトリの全てのconfファイルを読み込みます

・省略

protocols = imap
Listen = *
!include conf.d/*.conf

・省略

:/etc/dovecot/conf.d/10-auth.conf

・省略

auth_mechanisms = plain login

・省略

:/etc/dovecot/conf.d/10-logging.conf

・syslog_facility = local1
・syslogでlocal1にログを出力します

・省略

syslog_facility = local1

・省略

:/etc/dovecot/conf.d/10-mail.conf

・imap Maildir形式でメールを保存します

・省略

mail_location = maildir:~/Maildir

・省略

maildir_copy_with_hardlinks = yes

・省略

:/etc/dovecot/conf.d/10-master.conf

・service_count = 1
・dovcot-1.xのlogin_process_per_connection = yesに該当
・unix_listener /var/spool/postfix/private/auth{}
・postfixでDOVECOT_SASLを使う場合
・外部からの接続を限定する場合、iptablesで制御します

・省略

service imap-login {
  inet_listener imap {
    #port = 143
  }
  inet_listener imaps {
    #port = 993
    #ssl = yes
  }
  service_count = 1

・省略

}

・省略

service auth {

・省略

  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }

・省略

}

・省略

:/etc/dovecot/conf.d/10-ssl.conf

・接続にSSL認証を使います
・ssl_cert ssl_key (1.2.xと書式が異なる、<マークに注意)
・証明書の作成は 認証局と証明書の発行 を参照してください

・省略

ssl = yes
ssl_cert = </etc/pki/tls/certs/mail-server.crt
ssl_key = </etc/pki/tls/private/mail-server.key

・省略

:/etc/dovecot/conf.d/20-imap.conf

protocol imap {

・省略

  imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
}

・省略


○dovecotパラメータの確認

・全てのパラメータを表示

[root@jupiter:/etc/dovecot]
# dovecot -a

・修正したパラメータの表示

# dovecot -n

○起動ファイルの作成

/étc/rc.d/init.d/dovecot (詳細別記)

○selinuxヘの対応 (selinuxが有効の場合)

・新規インストールファイルのselinuxラベルを修正

# cd ~
[root@jupiter:~]
# restorecon -Rv /etc
# restorecon -Rv /usr/local
# restorecon -Rv /var/run

○dovecotの起動

[root@jupiter:~]
# service dovecot start
# chkconfig --add dovecot



○dovecotログファイル

○syslog.confの修正

・local1に出力されたログを/var/log/dovecot.logに書き込みます
・スペースの入力には"Tabキー"を使う

:/etc/syslog.conf (変更追加分)

*.info;mail.none;authpriv.none;cron.none;local1.none /var/log/messages
local1.*   /var/log/dovecot.log

○syslogの再起動

[root@jupiter:~]
# service syslog restart

○dovecotログのローテーション

:/ete/logrotate.d/syslog

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler \
/var/log/boot.log /var/log/cron /var/log/dovecot.log {
    sharedscripts
    postrotate
    /bin/kill -HUP `cat /var/run/syslogd.pid 2>/dev/null` 2>/dev/null || true
    endscript
}



○Maildirディレクトリ形式

・postfix、dovecot起動時にMaildirは作成されません
・新規のメッセージをpostfixが受信した時、Maildirが存在しない場合に作成されます
・新しいユーザに対して、mailコマンド等でWelcomeメッセージを送信するか、
・前もって、Maildirディレクトリを作成します

Maildirの作製を参照

○ Copyright(c) 528p.com All Rights Reserved.