CentOSにDovecotをインストールしてから起動までに必要な最初の設定


掲載日:2021年1月4日



INFOMARTION > CentOSにDovecotをインストールしてから起動までに必要な最初の設定

概要

CentOSにDovecotをインストールしてから起動までに必要な最初の設定の手順です。CentOS7を前提に記載しています。受信プロトコルはimaps(IMAP over SSL)とpop3s(POP3 over SSL)で設定します。

Postfixと連動する形で設定しているので こちら からPostfixの設定も事前にお願いします。

バージョンは以下となります。

CentOSのバージョン7.6 (1810)
Postfixのバージョン2.10.1
Dovecotのバージョン2.2.36

目次

  1. インストール
  2. 設定内容
  3. Outlookと連携
  4. まとめ

1. インストール

Dovecotをインストールするところから起動までの設定について記載します。

1-1. Dovecotのインストール

yumコマンドによりDovecotのインストールを実行します。rootユーザで作業を実施してください。

[username@hostname ~]$ su -
[root@hostname ~]# yum -y install dovecot

1-2. 起動確認

無事にインストール出来ているか確認するため、起動確認します。Dovecotは起動する時に引数にstartが不要なので注意しましょう。

[root@hostname ~]# /usr/sbin/dovecot
[root@hostname ~]# ps aux | grep dovecot
root      1470  0.0  0.1  16092  1156 ?        Ss   18:38   0:00 /usr/sbin/dovecot
dovecot   1471  0.0  0.1   9752  1120 ?        S    18:38   0:00 dovecot/anvil
root      1472  0.0  0.1   9884  1320 ?        S    18:38   0:00 dovecot/log
root      1474  0.0  0.2  12916  2384 ?        S    18:38   0:00 dovecot/config
root      1476  0.0  0.0 112824   968 pts/0    R+   18:38   0:00 grep --color=auto dovecot

上記の通りdovecotユーザで起動しているプロセスがあればOKです。停止しましょう。

[root@hostname ~]# /usr/sbin/dovecot stop

2. 設定内容

2-1. 初期設定

Dovecotの初期設定をしていきます。

[root@hostname ~]# vi /etc/dovecot/dovecot.conf

以下の通り修正します。

dovecot.conf【変更前】


#protocols = imap pop3 lmtp
~省略~
#listen =  *, ::
~省略~
#login_greeting = Dovecot ready.

dovecot.conf【変更後】


protocols = imap pop3
~省略~
listen = *
~省略~
login_greeting = pop3 and imap ready.

「protocols」はDovecotに接続するプロトコルを指定します。

「listen」は接続を許可するIPとなります。「*」なので接続するIPに制限が無い設定となります。接続するIPが決まっている場合はセキュリティのためにも具体的なIPを指定しましょう。 「::」はIPv6の設定ですが、IPv6は今回使用しないので削除します。削除することにより、IPv4のみ受け付けるようになります。

「login_greeting」接続した時のメッセージです。変更は必須ではありませんが、セキュリティのためにも接続した時にdovecotだと分からない様にメッセージを変更します。

2-2. POP3とIMAPの設定

POP3のウェルノウンポートである110ポートとIMAPのウェルノウンポートである143ポートの設定をしていきます。認証方法はPostfixと連携して認証を行いたいと思います。

[root@hostname ~]# vi /etc/dovecot/conf.d/10-master.conf

以下の通り修正します。

10-master.conf【変更前】


service imap-login {
  inet_listener imap {
    #port = 143
  }
~省略~
service pop3-login {
  inet_listener pop3 {
    #port = 110
  }

10-master.conf【変更後】


service imap-login {
  inet_listener imap {
    port = 143
  }
~省略~
service pop3-login {
  inet_listener pop3 {
    port = 110
  }

2-3. Dovecotの認証方法設定

Dovecotの認証方法にloginを追加します。

[root@hostname ~]# vi /etc/dovecot/conf.d/10-auth.conf

以下の通り修正します。

10-auth.conf【変更前】


#disable_plaintext_auth = yes
~省略~
auth_mechanisms = plain

10-auth.conf【変更後】


disable_plaintext_auth = no
~省略~
auth_mechanisms = login plain

2-4. メールの保管方法を「Maildir」形式に変更

メールの保管場所がユーザごとのホームディレクトリ(「/home/xxx/」配下)になるように設定します。

[root@hostname ~]# vi /etc/dovecot/conf.d/10-mail.conf

以下の通り修正します。

10-mail.conf【変更前】


#mail_location =
~省略~
namespace inbox {
  # Namespace type: private, shared or public
  #type = private

  # Hierarchy separator to use. You should use the same separator for all
  # namespaces or some clients get confused. '/' is usually a good one.
  # The default however depends on the underlying mail storage format.
  #separator =

  # Prefix required to access this namespace. This needs to be different for
  # all namespaces. For example "Public/".
  #prefix =

  # Physical location of the mailbox. This is in same format as
  # mail_location, which is also the default for it.
  #location =

10-mail.conf【変更後】


mail_location = maildir:~/Maildir
~省略~
namespace inbox {
  # Namespace type: private, shared or public
  #type = private

  # Hierarchy separator to use. You should use the same separator for all
  # namespaces or some clients get confused. '/' is usually a good one.
  # The default however depends on the underlying mail storage format.
  #separator =

  # Prefix required to access this namespace. This needs to be different for
  # all namespaces. For example "Public/".
  #prefix =

  # Physical location of the mailbox. This is in same format as
  # mail_location, which is also the default for it.
  location = maildir:~/Maildir

2-5. 認証設定

ssl設定を有効にします。

[root@hostname ~]# vi /etc/dovecot/conf.d/10-ssl.conf

以下の通り修正します。

10-ssl.conf【変更前】


ssl = required
~省略~
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

10-ssl.conf【変更後】


ssl = required
~省略~
ssl_cert = </etc/pki/tls/certs/localhost.crt
ssl_key = </etc/pki/tls/private/localhost.key

「ssl_cert」「ssl_key」は環境に合わせて設定してください。サーバ証明書が格納してあるパスを設定してください。

SSL設定が事前に必要なので、SSL設定をしていない人はSSL設定を先に実施してください。以下を参考にしてみてください。

CentOSにApacheをインストールしてから起動までに必要な最初の設定


続いてパスワードに関する設定を行います。「auth-system.conf.ext」を使用します。

[root@hostname ~]# vi /etc/dovecot/conf.d/auth-system.conf.ext

以下の通り修正します。

auth-system.conf.ext【変更前】


passdb {
  driver = pam
  # [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
  # [cache_key=<key>] [<service name>]
  #args = dovecot
}
~省略~
#passdb {
  #driver = shadow
  # [blocking=no]
  #args =
#}

auth-system.conf.ext【変更後】


#passdb {
#driver = pam
  # [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
  # [cache_key=<key>] [<service name>]
  #args = dovecot
#}
~省略~
passdb {
  driver = shadow
  # [blocking=no]
  #args =
}

2-6. 起動確認

以上で設定は完了なので、設定完了後の状態でDovecotが起動するか確認します。startは引数に不要なので注意してください。

[root@hostname ~]# /usr/sbin/dovecot
[root@hostname ~]# ps aux | grep dovecot
root      1716  0.0  0.1  16092  1184 ?        Ss   22:09   0:00 /usr/sbin/dovecot
dovecot   1717  0.0  0.1   9752  1120 ?        S    22:09   0:00 dovecot/anvil
root      1718  0.0  0.1   9884  1312 ?        S    22:09   0:00 dovecot/log
root      1720  0.5  0.2  12916  2396 ?        S    22:09   0:00 dovecot/config
root      1722  0.0  0.0 112824   972 pts/0    S+   22:09   0:00 grep --color=auto dovecot

上記の通りdovecotユーザで起動しているプロセスがあれば無事設定が完了していて起動してる状態となります。起動の確認が取れたので一旦、停止しましょう。

[root@hostname ~]# /usr/sbin/dovecot stop

2-7. 自動起動設定

最後に必須ではありませんが、毎回サーバ再起動の度に起動するのは大変なので、サーバ起動時にDovecotが自動起動するように設定を入れます。systemctlコマンドへの登録も行います。CentOS7の場合の手順なので、CentOS7以外を使用している方はServiceコマンドにより対応する必要があるので、ご注意ください。

「/usr/lib/systemd/system/dovecot.service」が存在するか確認します。無い場合は、以下の手順で「dovecot.service」を作成します。rootユーザで実行します。

[root@hostname ~]# touch /etc/systemd/system/dovecot.service
[root@hostname ~]# vi /etc/systemd/system/dovecot.service

以下の内容を記載します。

[Unit]
#説明
Description=Dovecot
#実行前、実行後を制御
#Before=xxx.service
After = network.target

[Service]
#ユーザ、グループ指定
User=root
Group=root
#起動したらステータスを起動中にする
Type=oneshot
RemainAfterExit=yes
#起動、停止、リロード
ExecStart=/usr/sbin/dovecot
ExecStop=/usr/sbin/dovecot stop
ExecReload=/usr/sbin/dovecot reload

[Install]
#runlevel3相当の設定
WantedBy=multi-user.target

次にsystemctlコマンドに登録します。

[root@hostname ~]# systemctl enable dovecot
[root@hostname ~]# systemctl is-enabled dovecot
enabled
[root@hostname ~]# systemctl list-unit-files --type=service | grep dovecot
dovecot.service                                enabled
[root@hostname ~]# systemctl daemon-reload

3. Outlookと連携

以上で設定は完了ですが、Outlookを使って連携ができるか最後に確認したいと思います。

3-1. firewall設定

CentOS7のデフォルト値ではfirewall(CentOS6以前の場合はiptables) がsshしかアクセスを許可していないのでDovecotのポート(imapsとpop3s)をアクセス許可します。Postfixのポート(smtp)もアクセス許可します。設定を永続的にするために「permanent」オプションも追加します。

ポート番号はimapsは「993」、pop3sは「995」、smtp-auth「587」となります。

[root@hostname ~]# firewall-cmd --permanent --zone=public --add-port=993/tcp
[root@hostname ~]# firewall-cmd --permanent --zone=public --add-port=995/tcp
[root@hostname ~]# firewall-cmd --permanent --zone=public --add-port=587/tcp
[root@hostname ~]# firewall-cmd --reload
[root@hostname ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client http https ssh
  ports: 8080/tcp 5432/tcp 993/tcp 995/tcp 587/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

「ports: 993/tcp 995/tcp 587/tcp」となったらOKです。

3-2. ユーザ作成

メールアドレス用のユーザを作成します。名前は何でも大丈夫です。送受信したいので2ユーザ作成します。

[root@hostname ~]# useradd senduser1
[root@hostname ~]# passwd senduser1
[root@hostname ~]# useradd receiveuser1
[root@hostname ~]# passwd receiveuser1

3-3. Outlookの設定

Outlookの設定をしていきます。「アカウントの追加」を選択します。

「自分で電子メールやその他のサービスを使うための設定をする(手動設定)」を選択します。

「インターネット電子メール」を選択します。

先ほど作成した「senduser1」で設定を行います。(receiveuser1も同様に設定を行います。)

デフォルト値だとimapsやsmtp-authのポート番号になっていので、詳細設定を行います。SSLの設定もします。

3-4. 送信受信テスト

アウトルックを使って「senduser1」から「receiveuser1」にメールを送信すると無事、送受信ができました。

4. まとめ

Dovecotをインストールした時に必要な最初の設定について記載させていただきました。

結構設定に苦戦したので、Dovecotを構築する方は参考にしてみてください。

最後までご覧いただきありがとうございました。



■INFORMATION

INFORMATIONのトップページはこちらよりお願いいたします。


■PROFILE

プロフィールはこちらよりお願いいたします。


■お問い合わせ先

記事に関するお問い合わせはこちらよりお願いいたします。