メールサーバを立ち上げる(1)
MyDNS.JPのサービスで、DDNSのサブドメインを取得し、そのドメイン名を使用したホストのアドレスをDNSサーバで管理するところまで記載しました。
次に試してみたかったのが、メールサーバの構築です。
※以降の記載は、あくまでも仕組みを理解するための試験的な運用です。セキュリティ面に関しては、責任を負いかねます。
メールサーバを設置する
ESXi7.0上に立てた仮想マシン CentOS 7 へのインストールになります。WEBサーバとして、Let’s Encryptの証明書を発行したサーバへの導入です。今回、使用するのは SMTPサーバとしての Postfix と IMAPサーバとしての Devecot です。これらは、同じ仮想マシンに設置します。
Postfix
CentOS 7では、標準でインストールされていますが、使用するにあたっての設定は必要です。
/etc/postfix/main.cf (変更箇所のみ)
myhostname = mail.●●●.live-on.net
mydomain = ●●●.live-on.net
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
mynetworks = 192.168.0.0/24
relay_domains = $mydestination
relayhost =
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP
smtpd_tls_cert_file = /etc/letsencrypt/live/www.●●●.live-on.net/cert.pem
smtpd_tls_key_file = /etc/letsencrypt/live/www.●●●.live-on.net/privkey.pem
smtpd_tls_security_level = may
最後の3行は、追加となる行で、TLS/SSL証明書に関する記述です。
当初、自己証明書での設定を考えていたんですが、WebサーバでLet’s Encryptの証明書を設定しましたので、「サーバの証明書」なら、使えるんじゃないか、と、実験です。
これが、 mail.●●●.live-on.net を合わせて申請した理由です。メールサーバのサーバ名は、この名前で設定しています。
設定に問題がないかは、
# postfix check
で可能です。なにも表示されなければ、問題なし、です。
設定ファイルの変更の次に、ファイアウォールの設定変更が必要です。後で必要になるので、送受共に変更しておきましょう。
# firewall-cmd --add-service=smtp
success
# firewall-cmd --add-service=pop3
success
# firewall-cmd --add-service=imaps
success
# firewall-cmd --runtime-to-permanent
success
設定を有効にするため、Postfixのサービスを再起動します。サーバ起動時に起動されますので、常時起動等の設定は不要です。
# systemctl restart postfix.service
dovecot
postfoxの設定の次に、POP/IMAPサーバのdovecotの環境を整えます。
インストールします。
# yum install dovecot
設定ファイルを変更します。
/etc/dovecot/dovecot.conf (変更箇所のみ)
#protocols = imap pop3 lmtp
protocols = imap pop3
次に、メールの保存方法の設定(変更)を行います。
/etc/dovecot/conf.d/10-mail.conf (変更箇所のみ)
#mail_location =
mail_location = maildir:~/Maildir
postfixで行った設定を行うだけです。
次に、TLS/SSL証明書の設定です。
/etc/dovecot/conf.d/10-ssl.conf (変更箇所のみ)
ssl_cert = </etc/letsencrypt/live/www.●●●.live-on.net/cert.pem
ssl_key = </etc/letsencrypt/live/www.●●●.live-on.net/privkey.pem
これも、Let’s Encryptで、mailサーバの証明書として取得したものを使用します。
設定が完了しましたら、dovecotサービスを起動させます。
# systemctl start dovecot.service
自動起動の設定もやっておきます。
# systemctl enable dovecot.service
今回は、各サービスの起動が出来たところまで。
メールサーバを立ち上げる(2)に続きます。