Debian 9 StretchでPostfix+Dovecot+Letsencryptでメールシステム構築

2017/07/19[公開] 2017/08/04[最終更新]

 Debian 9 Stretchを新規インストールして、Postfix+Dovecot+Letsencryptでメールシステムを設定した手順です。Jessieの時に設定した過去記事とだいたい同じ手順ですが、Letsencrypt証明書を使いSSL/TLS通信前提の内容にアップデートしています。

スポンサー リンク

前提

  • メールサーバーは mail.def-4.com で設定した内容です
  • DNSサーバーにMXレコードの設定済み
  • ファイアウォールでポート 25, 143, 465, 587, 993, 995の通信許可がされている
  • 下記記事の手順で設定したDebian 9 Stretchを元にしています。

Debian 9 Stretch サーバー最小構成インストール

letsencrypt利用 Debian 9 StretchのNginxをSSL(http2)サイト化

証明書用ダミーサイト作成

 certbot コマンドで Letsencrypt 証明書を発行します。ACME認証のためのダミー公開ディレクトリの設定が必要です。2018年にはワイルドカード対応のLet’s Encrypt 証明書がリリースされるようなので、それまでの対処方法です。

  /etc/nginx/conf.d/mail-server.conf ファイルを作成して、ダミーサイトを設定します。 mail-server.conf のファイルの中身は下記のようにします。ドキュメントルートはnginxの初期ディレクトリにしています。新たに空のディレクトリを作成しても良いです。

 記述間違いがないかテスト nginx -t してから、nginxを再起動します。

証明書発行

 メールサーバー名でLetsencrypt証明書を発行します。

 証明書の発行に成功すれば、以下のファイルが作成されているので利用します。

  • /etc/letsencrypt/live/mail.def-4.com/fullchain.pem …サーバ証明書と中間証明書が結合されたファイル
  • /etc/letsencrypt/live/mail.def-4.com/privkey.pem…秘密鍵

Dovecot + Postfix インストール

 DovecotとPostfixをインストールします。

postfix1
インターネットサイトを選択して<了解>
postfix2
メールアドレスの@以下を入力して<了解>

Dovecotの設定

 dovecotの設定は、 /etc/dovecot/conf.d  ディレクトリの中の3(+1)ファイルを編集します。

  • /etc/dovecot/conf.d/10-master.conf
  • /etc/dovecot/conf.d/10-mail.conf
  • /etc/dovecot/conf.d/10-ssl.conf
  • /etc/dovecot/conf.d/10-auth.conf (旧メールソフトに対応させる場合)

10-master.conf ファイルの編集

 22-23行目の  を外してIMAPsのポート993を待ち受け状態にします。19行目のIMAPポート143はデフォルトで有効になっているので  はそのままで大丈夫です。

  43-44行目の を外してPOP3sのポート995を待ち受け状態にします。

 96-98の  を外して、PostfixのSASL認証と連携させます。

10-mail.conf ファイルの設定

 Maildir形式に変更します。30行目を を付けてコメントアウトして31行目を追記します。

10-ssl.conf ファイルの編集

 POP3s、IMAPs、SMTPsを使うならTLS/SSL必須なので有効にします。先ほど発行した証明書パスを指定します。

 6行目を  を外して、yesに変えて有効にします。

 12-13行目で  を外して証明書ファイルの場所を指定します。

10-auth.conf ファイルの編集

 100行目に login を追加してWindows Liveメール、Windowsメール、Outlook Expressなどの旧メールソフトに対応させます。

Postfixの設定

 postfixの設定は /etc/postfix  の中の2つのファイルを編集します。

  • /etc/postfix/main.cf
  • /etc/postfix/master.cf

main.cf ファイルの編集

  ファイルの最後に下記を追加します。Maildir形式にするのと、Dovecot SASLを利用します。

master.cf ファイルの編集

 今回はポート465のSMTPsを利用するため、28-38行目の  を外します。ポート587のsubmissionポートも使う場合は、17-27行目も  を外します。

サービス再起動と動作確認

 設定が有効になるのはサービス再起動後からです。

動作確認

 メールクライアントにアカウント設定を入れる前に動作確認をしておきます。

待ち受けポート確認

  lsof -i コマンドで各ポートがLISTENになっているか確認します。

telnet 127.0.0.1 25

  telnetでポート25に接続してみます。Postfixの文字が出ていればOKです。 quit と入力して終了します。

 Postfixの表示が出ていない場合は何かが間違っています。この場合はCtrl+] (‘む’のキー)を押してqで戻ります。

telnet 127.0.0.1 110

  ポート110ではDovecot readyの表示が出ていればOKです。

Maildirディレクトリ作成

 メール保存をMaildir形式にしたので、Maildirディレクトリを作成します。

 既存ユーザーでログインした状態で

 既存の各ユーザーのホームディレクトリにMaildirフォルダを作ります。

 次は、suコマンドでroot権限になってから

 これで今後 adduser [user-name] で追加するユーザーはMaildirディレクトリが自動で作られます。

メールクライアントの設定

 メールソフトにアカウントを設定して、送受信ができれば設定完了です。

  • POP3サーバーの場合、ポート995、SSL/TLSあり、通常のパスワード認証
  • IMAPサーバーの場合、ポート993、SSL/TLSあり、通常のパスワード認証
  • SMTPサーバーは、ポート465、SSL/TLSあり、通常のパスワード認証
postfix3
Thunderbirdでのアカウント追加画面

 次の記事では、このメールシステムを元にWEBメールRoundcubeをインストールしました。 WEBメールRoundcubeをインストール(Nginx+Debian Stretch)

スポンサー リンク

 

こちらの記事もどうぞ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です