postfix9

【簡易版】Postfix_Dovecot_SASL2でメールサーバー構築

2015/03/08[公開]

 自宅PCサーバーをリプレースしたので、メールサーバーの設定をやり直した備忘録です。Debianの最大の利点である初心者にやさしい部分を利用して、デフォルトでいける所は端折っていく方針ですので、Debian(もしくはUbuntu)じゃないと通用しない部分多数と思われます。(ホントは細かい所は理解出来ないのです。)といっても相当ややこしい設定です。簡易版と題名に付けましたが、かなり長い記事になりました。

 利用OS:Debian GNU/Linux Wheezy 7.8

【2015/05/17追記】

 この記事はDebian7.8 Wheezyでのみ設定できた内容です。Debian8.0 Jessieでは別の設定方法で利用しています。

Debian8.0 JessieでPostfix + DovecotSASLメールサーバー構築

基本方針

 Debianには電子メールを利用するためのシステムとしてExim4が標準でインストールされていますが、情報が少ないうえに2年近くバージョンが更新されていないようです。お察ししろということでしょうか。ネットでググると情報豊富で更新も頻繁なpostfixとdovecotを利用するのがよさそうです。さらに外部とメールを送受信するために必須のsmtp-authにはsasl2を利用します。

考慮した項目

  1. mail-box形式ではなく、Maildir形式にする
  2. OSのユーザー名とパスワードでsmtp-authをする
  3. TLS/SSLで自分のとこだけでもセキュア通信にする

考慮してない項目

  1. ルーターのポート解放設定(ウチの環境はルーターを使ってないので)
  2. ちゃんとした証明書を使う(今回は仮の証明書を使います。)
  3. 内部ネットワーク環境(ウチはサーバーと自宅LANのルーターを分離しているので)
  4. 上位ISPメールサーバーへのリレー設定(ウチでは不要だったので。)

事前準備的なもの

DNSサーバー設定

 MXレコード設定など設定済みの前提です。私はお名前.comのDNS設定サービスを利用しているのでログインして設定するだけです。今回はメールサーバー名としてmail.ikt-s.comを使用するとしています。

 ファイアウォールiptables

 ファイアウォールのiptablesにメールサーバー関係のポートの通信許可を設定しておきます。今回はポート25 (smtp)、110 (pop3)、465 (ssmpt)、993 (imaps)、995(pop3s) を許可しました。必要であれば143 (imap2) と587 (submission) も許可します。

インストール

 aptitudeでまとめてインストールします。まずはroot権限になってからアップデートをかけます。

  今回利用するものを、まとめてインストールします。

  標準でインストールされているexim4を削除するか聞いてくるので「y」で進みます。

  Debianは親切です。

postfix1

 固定グローバルIPで外部にメール送受信するなら、ここで「インターネットサイト」を選択すると、ある程度適切な設定にしてくれます。

postfix2

 説明の通り、ドメイン名を入れます。

 以上でインストールは完了です。

SASL設定

 ここはDebian独自の作法があるようで、debian wiki をまるまる参考にします。

  /etc/postfix/sasl/smtpd.confファイルを新規作成します。

  ファイルの中身をこのようにコピペして保存します。

 saslauthdファイルを別名で複製して、複製したsaslauthd-postfixファイルの方を編集します。

  上記のように4行それぞれ、このように編集して保存します。

 Debianではchrootで動いているpostfixにsaslのファイルを対応させるのにひと手間必要みたいなので、上記の通りコマンドを入れていきます。

  SASLを再起動して

 既存のDebianのユーザー名とパスワードでテストして”Success”と出たら、SASLの設定は完了です。

Postfix設定

  postfixの設定は2つのファイル/etc/postfix/main.cf と/etc/postfix/master.cfを編集します。

/etc/postfix/main.cfの編集

 30行目以降をいろいろ編集します。

 mailboxの設定2行をコメントアウト、Maildirの設定を一行追加します。

 smtp-authの設定を追加します。ドメイン名の部分は適時変更してください。

 古いOutlookに対応させます。(任意で追加)

 postfixを使っていることを隠します。(任意で追加)

メール一通のサイズ上限を設定します。(任意で追加)

注意:

myhostname =  はDebianが自動で設定したこのマシンのホスト名のまま変更しません。Postfixのインストール時に作成されたsnakeoil証明書のホスト名にマシンのホスト名が使われているので合わせておいた方が良さそうです。ちゃんとした証明書をmail.ドメイン名で取得した場合は、mail.ドメイン名にしたほうがいいかもしれません。もしくは別に気にする必要も無いかもしれません。

今回変更したのは以上です、保存してmain.cfの設定は完了です。

/etc/postfix/master.cfの編集

 ここでsubmissionポートや、smtpsを使う設定ができます。今回はsmtpsに対応する設定をします。#コメントを外すだけです。

 #を外していくだけで設定ができます。

 smtps(ポート465)を利用する場合は上記の6行分の#コメントを外します。

 submission(ポート587)を利用するなら、その上あたりを外します。ポート465はtls/ssl必須ですが、ポート587の場合はオプション部分の#を残すとtls/ssl無しの設定もできるようです。

 これでpostfixの設定が完了です。postfixを再起動します。

Dovecot設定

 dovecotの設定ですが、今回は設定変更なしで済みました。ほっとしますね。

 念のため確認しておくのが一箇所/etc/dovecot/conf.d/10-mail.confの30行目

MailboxではなくMaildirになっていればOKです。

念のため再起動しておきます。

ユーザーディレクトリ作成

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

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

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

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

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

 メール用ユーザーを追加するときは

 テストが通ればOKです。

クライアント側でのメールソフトの設定

 windows Liveメールでの設定例です。

postfix10

 IMAPsの設定

postfix11

 POP3sの設定です。

最後にひとこと

postfix5

 証明書が仮のなんちゃって証明書なのでメーラーを開くたび毎回このメッセージが出ます。私ひとりしか使わないのでこれでもいいのですが、そうでない場合はちゃんとした証明書を用意しましょう。

 このブログで使っているRapid証明書は一番安いヤツなのでメールサーバー兼用として使用できません。ワイルドカード対応かメールサーバー用にもう一枚購入する必要ありです。

「【簡易版】Postfix_Dovecot_SASL2でメールサーバー構築」への2件のフィードバック

コメントを残す

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