CentOS7にPostfix+Dovecot+Let's Enclypt環境をitamaeで構築する[0]

会社でメールサーバーをVPS上に構築する必要があったので、今後の自分のために勉強した事や調べた事、そしてitamaeでプロビジョニングコードを書いたので、それを残しておく。

まず前知識(勉強したこと)

とりあえずメールサーバーに関しては古い情報が結構あって混乱したのだけど、大雑把に

Sendmail -> qmail -> Postfix

という歴史があって、今現在はpostfixを使うのが主流らしい。PostfixはMTAソフトなので、サーバー間のメールのやりとりに使われる(SMTPプロトコル)。

で、肝心なメールサーバーからメールクライアントへ通信(POP/IMAP)は別に用意する必要があり、こちらは大雑把に

Courier-IMAP -> Dovecot

みたいな歴史があるっぽい。調べた感じDovecotが主流みたい。

で、Postfixで送信ユーザーとか追加しようとすると、userを作って、echo "password" | saslpasswd2 -p -u foobar.example.com -c foobarしてーみたいな事をしないといけない。

これを簡単に管理するためにPostfixAdminというPHPで動くメールアドレス管理をするソフトが便利と。

で、PostfixAdmin使うとバーチャルドメイン管理(つまりメアド毎にユーザー作ったりとかせず、管理ユーザーのみ)になり、それを含むaさまざまな設定の保存をもMySQLでする。Dovecotもそれ仕様に合わせる。

メールサーバーを建てる上でセキュリティ的な心配は不正リレーと不正受信など。そのためにクライアント認証とSMTP-Authをしっかりと設定する。

こんな具合か。だいぶ頭に入ったけど、頻繁にやらないから記事とitamaeのプロビジョニングコードに書かなきゃダメなやつ。

というわけでこれからレシピと覚え書きを記事に書いていこうかなと思います。

※全体的なレシピもGitHubにpushしてあります。

t4traw/mailserver-itamae-recipe

参考にさせていただきました🙇