カメノドットコム

Dvecotのダウンロードとインストール

Dovecot もソースからインストールします。
最終目標は Postfix に Dovecot SASL で SMTP認証 させて、バーチャルメールユーザでバーチャルメールボックスを使用することとします。

---- [PR] ----
現在契約中 : GMOクラウドのVPS : お名前.com
今後契約するかも : お名前.com VPS
--------------

必要なユーザを作成する

Dovecot は「dovecot」と「dovenull」というふたつのユーザを必要とします。
gid と uid は重複してなければ何でもいいです。

$ sudo groupadd -g 143 dovecot
$ sudo groupadd -g 144 dovenull
$ sudo useradd -g 143 -u 143 -d /nonexistent -s /usr/sbin/nologin dovecot
$ sudo useradd -g 144 -u 144 -d /nonexistent -s /usr/sbin/nologin dovenull

Dovecotをダウンロードしてインストールする

Dovecot - Download から Stable releases をダウンロードします。
適当な場所にディレクトリを掘って、そこで作業しています。

$ wget https://www.dovecot.org/releases/2.3/dovecot-2.3.1.tar.gz
$ tar zxfv dovecot-2.3.1.tar.gz
$ cd dovecot-2.3.1

公式の Dovecot Wiki に色々と情報がありますので、こちらを参考に進めていきます。英語ですがなー。

$ ./configure --prefix=/usr/local/dovecot \
--with-notify=inotify \
--with-zlib \
--with-bzlib \
--with-ssl=openssl

(略)

Install prefix . : /usr/local/dovecot
File offsets ... : 64bit
I/O polling .... : epoll
I/O notifys .... : inotify
SSL ............ : yes (OpenSSL)
GSSAPI ......... : no
passdbs ........ : static passwd passwd-file shadow checkpassword
CFLAGS ......... : -std=gnu99 -g -O2 -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2  
                 : -pam -bsdauth -sia -ldap -vpopmail -sql
userdbs ........ : static prefetch passwd passwd-file checkpassword
                 : -ldap -vpopmail -sql
SQL drivers .... :
                 : -pgsql -mysql -sqlite -cassandra
Full text search : squat
                 : -lucene -solr

ここで使いたいオプションが有効になっているか確認します。
インストール先をデフォルトから変更したので「Install prefix」を見ます。
SSL/TLS を有効にするので「SSL」が「yes (OpenSSL)」になってるか確認します。
バーチャルユーザを使用しますので「passwd-file」があるかもチェックしておきます。
OKだったら、インストールします。

$ make
$ sudo make install

以上で、インストール作業は完了です。
続いて、最低限の設定を行います。

最低限の設定をする

「/usr/local/dovecot/etc/dovecot」以下に設定ファイルを配置しますが、インストール直後は「README」というファイルがあるだけです。
このファイルを見てみると「/usr/local/dovecot/share/doc/dovecot/example-config/」から設定ファイルをコピーして編集するように、といったことが書かれています。
素直に従いましょう。

$ sudo cp /usr/local/dovecot/share/doc/dovecot/example-config/dovecot.conf /usr/local/dovecot/etc/dovecot/
$ sudo mkdir /usr/local/dovecot/etc/dovecot/conf.d

初期状態での最低限の設定を行います。
「dovecot.conf」と「conf.d/*」のファイルを少し修正します。

$ sudo vi /usr/local/dovecot/etc/dovecot/dovecot.conf
# 使用するプロトコルを指定する
protocols = imap ipmaps pop3 pop3s
# IPv4のみ受け付ける
listen = *
# 接続メッセージからdovecotを隠す
login_greeting = pop3 and imap ready.

Dovecot のロギングを設定します。

$ sudo cp /usr/local/dovecot/share/doc/dovecot/example-config/conf.d/10-logging.conf /usr/local/dovecot/etc/dovecot/conf.d/
$ sudo vi /usr/local/dovecot/etc/dovecot/conf.d/10-logging.conf
# ログファイルの場所を明記
log_path = /var/log/dovecot.log
# rsyslogで使用する
syslog_facility = local5

「/etc/rsyslog.conf」に「/var/log/dovecot.log」を登録します。
そして rsyslog に新しい設定を読み込ませます。

$ sudo vi /etc/rsyslog.conf
# 追記する
local5.*      -/var/log/dovecot.log
local5.info   -/var/log/dovecot.info
local5.warn   -/var/log/dovecot.warn
local5.err    -/var/log/dovecot.err
$ sudo /etc/init.d/rsyslog restart

POP3やIMAPの設定を行います。

$ sudo cp /usr/local/dovecot/share/doc/dovecot/example-config/conf.d/10-master.conf /usr/local/dovecot/etc/dovecot/conf.d/
$ sudo vi /usr/local/dovecot/etc/dovecot/conf.d/10-master.conf
# 最低限の設定
service imap-login {
  inet_listener imap {
    port = 143
  }
}

service pop3-login {
  inet_listener pop3 {
    port = 110
  }
}

Dovecot の認証方法を設定します。

$ sudo cp /usr/local/dovecot/share/doc/dovecot/example-config/conf.d/10-auth.conf /usr/local/dovecot/etc/dovecot/conf.d/
$ sudo vi /usr/local/dovecot/etc/dovecot/conf.d/10-auth.conf
# 最低限の設定
disable_plaintext_auth = no
auth_mechanisms = cram-md5 login plain

メールの保管方法を「Maildir」形式にします。

$ sudo cp /usr/local/dovecot/share/doc/dovecot/example-config/conf.d/10-mail.conf /usr/local/dovecot/etc/dovecot/conf.d/
$ sudo vi /usr/local/dovecot/etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir

namespace inbox {
  prefix = 
  location =
  inbox = yes
}
$ sudo cp /usr/local/dovecot/share/doc/dovecot/example-config/conf.d/15-mailboxes.conf /usr/local/dovecot/etc/dovecot/conf.d/
$ sudo vi /usr/local/dovecot/etc/dovecot/conf.d/15-mailboxes
namespace inbox {
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Trash {
    special_use = \Trash
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
}

以上で Dovecot のインストールと最低限の設定は終了となります。

Sponsored Link