![見出し画像](https://assets.st-note.com/production/uploads/images/67136034/rectangle_large_type_2_c754e6399bf164f0237330b1aa901428.png?width=1200)
#04 CentOS Stream 8 メールサーバー構築 備忘録
前回は……
前回は、Tera Term、ウェブサーバーの導入を行いました。今回はメールサーバーソフトウェアを設定していきます。よろしくお願いします!
Postfix + Dovecot
Postfix(送信ソフト)と Dovecot(受信ソフト)の2つを組み合わせてメールサーバーを構築します。下記ページの一番上の概要をご覧ください。
Postfix の導入
さあ Postfix をインストールしましょう!
[root@v000-000-000-000 ~]# dnf -y install postfix
残りの設定は下記ページを参考にしてください。
お名前.com の VPS は、IPv6 をサポートしていませんので main.cf の 138 行目は ipv4 にしておきましょう。
ここで追加設定を。先ほど概要を確認したページ
の (4) 存在しないユーザー宛メールの破棄 を設定しておきましょう。
迷惑メール対策になります。
SMTP の認証に Dovecot が必要になるため、まだこの段階ではメールの送信テストができません。先に Dovecot をインストールしましょう。
Dovecot の導入
続けて Dovecot をインストールしましょう!
[root@v000-000-000-000 ~]# dnf -y install dovecot
残りの設定は下記ページを参考にしてください。Postfix と同様、IPv4 だけの対応としますので 30 行目の [::] は削除しました。
サーバー内でテスト実行
さて、ではメールクライアントをインストールしてテストしてみましょう。下記ページではアカウント登録となっていますが、テスト実行の説明になっています。
自分から自分宛て、もしくは別アカウントを作成して自分宛て等、ちゃんと動きましたか?私のときは動きました。メールの送受信をするだけなら楽勝ですね!
あとこのメールクライアント、なぜか昔の Nethack を思い出して懐かしくなりました。
暗号化通信したい!
さて、今のままだと通信が平文で駄々洩れです。パスワードまでプレーンテキストなので、覗き見&悪いことし放題ですね。セキュリティレベルを上げましょう!
下記ページを参考に、SSL/TLS の設定をします。すでに Let’s Encrypt で必要な証明書は取得してありますので、設定するだけで大丈夫です。
説明文をそのままコピー&ペーストするんじゃなく、自分の設定にちゃんと直して設定しましょう。例えば jawsplayers.com だと
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.jawsplayers.com/fullchain.pem
となっています。おっと、[5] 以降のメールクライアントの設定はしばらくお待ちください。宣伝の後でゆっくりと……
宣伝
先ほどの「jawsplayers.com」って何だ?ってなった方はこちらをご覧ください。https://www.twitch.tv/jaws_players まで遊びに来てね!
![JAWS PLAYERS スケジュール](https://assets.st-note.com/img/1638729551629-F1yYA74mfM.png?width=1200)
メールクライアントソフトの設定
さて、ここまでできたらあとはメールクライアントソフト(Mozilla Thunderbird)を設定して、外部から IMAP でメールサーバー内の構成を取得したりメールを受信したり送信したり好き放題ができる!ってことで行ってみましょう!
SSL/TLS を使用するので、IMAP のポートは 993、SMTP のポートは 465 となります。接続の保護は「SSL/TLS」、認証方式は「通常のパスワード認証」で設定して、さあ OK !
……あれ?ログインできない?
ハマりポイント!
さてお楽しみのハマりポイントがやってまいりました!これはヤバい!
まったくログインできません!
接続の保護を STARTTLS に変えても、IMAP じゃなく POP3 に変更しても、アカウントを変更しても何をしてもログインできません……
とりあえず解決
/etc/dovecot/conf.d/10-auth.conf の中で login を追加し
auth_mechanisms = plain login
と変更したのを覚えてますか?これでログイン認証を利用してメール送受信時の認証も行えるはずですが、なぜか正しいパスワードを入力しても怒られます。困った!
ログイン認証を使わなければいいんじゃないか?ということで、
auth_mechanisms = plain login cram-md5
と、cram-md5認証を追加してみました。それに合わせて、パスワードファイルを作成します。
パスワードファイル /etc/dovecot/passwdの作成
doveadm コマンドで cram-md5認証を指定し、パスワードを入力して変換します。
[root@v160-251-123-51 ~]# doveadm pw -s CRAM-MD5
Enter new password:
Retype new password:
{CRAM-MD5}d935451695853cafcc034082fcd1840c38d5fc640482c24bb6208319f52503a5
こんな感じの出力がされますので、 {CRAM-MD5} 以降をコピーしておいてください。
/etc/dovecot/passwd を作成しましょう。そちらに以下の形式で記入します。ユーザーの数だけ追加していきます。
test@jawsplayers.com:{CRAM-MD5}d935451695853cafcc034082fcd1840c38d5fc640482c24bb6208319f52503a5:1001:1001:Maildir:/home/test
メールアドレス(フル):{CRAM-MD5}:(uid):(gid):Maildir:/home/<ユーザー名>
明日説明しますが、こちらは正しい書き方です。間違った書き方をしますとハマりますのでご注意を……
次回予告
明日は最終回!これからやってくる最大のハマりポイントはどんな内容なのか!?あとはセキュリティのレベルを最大まで上げます。お楽しみに!