スポンサーリンク

ミニPC+Ubuntu+Postfix+Dovecotでメールサーバーを構築する

Ubuntu
スポンサーリンク

先日は、ミニPCでWordpressサーバーを構築しましたが、今回はメールサーバーを構築します。

移行前は、Synology NASに構築していましたが、ミニPCに移行します。

移行前

移行後

以下のサイトを参考にさせていただきました。

メールサーバー|Ubuntu 22.04サーバー構築入門
ラズパイでメールサーバーを構築するよ2/2(Postfix+Dovecot)
ラズパイでメールサーバーをセットアップする方法について悩んでいませんか?この記事ではDNS設定からPostfix, Dovecotの設定、さらにgmailへのリレー方法について説明しています。設定に失敗したくない方は必見です。

使用ポートとTSL暗号化

今回は、非暗号化→TSL暗号化の手順で構築すると手順が増えてしまうので、TSL暗号化前提として記述したいと思います。証明書はLet’s Encryptで取得済み。

また、使用するポートは以下の通りです。あらかじめポート開放しておいてください。

プロトコルポート番号
SMTP25
SMTP(SSL)465
Submissionポート587
IMAP(SSL)993

Postfixのインストールと設定

メール送信用のソフトはPostfixを使用します。

インストール

sudo apt install postfix

ダイアログが表示されるので「設定なし」を選択します。

/etc/postfix/main.cf の作成

myhostname ホスト名(今回はドメイン名と同じ)evening-network.server-on.net
mydomain ドメイン名evening-network.server-on.net
mynetworks ネットワークセグメント(LAN環境により異なる)192.168.0.0/24 127.0.0.0/8
smtpd_tls_cert_fileLet’s Encryptで取得した証明書+中間証明書/etc/letsencrypt/live/evening-network.server-on.net/fullchain.pem
smtpd_tls_key_fileLet’s Encryptで取得した秘密鍵/etc/letsencrypt/live/evening-network.server-on.net/privkey.pem

compatibility_level = 3.6
myhostname = evening-network.server-on.net
mydomain = evening-network.server-on.net
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 192.168.0.0/24 127.0.0.0/8
home_mailbox = Maildir/

smtp_tls_security_level = may
smtp_tls_loglevel = 1
smtp_tls_note_starttls_offer = yes

smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

smtpd_tls_cert_file = /etc/letsencrypt/live/evening-network.server-on.net/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/evening-network.server-on.net/privkey.pem
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_loglevel = 1

debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5

mua_client_restrictions =
mua_helo_restrictions =
mua_sender_restrictions =

/etc/postfix/master.cf の変更。以下を追加。

submission inet n       -       y       -       -       smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_tls_auth_only=yes
-o smtpd_reject_unlisted_recipient=no
-o smtpd_client_restrictions=$mua_client_restrictions
-o smtpd_helo_restrictions=$mua_helo_restrictions
-o smtpd_sender_restrictions=$mua_sender_restrictions
-o smtpd_recipient_restrictions=
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_reject_unlisted_recipient=no
-o smtpd_client_restrictions=$mua_client_restrictions
-o smtpd_helo_restrictions=$mua_helo_restrictions
-o smtpd_sender_restrictions=$mua_sender_restrictions
-o smtpd_recipient_restrictions=
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING

設定チェック。エラーが出たら再確認して適宜修正する。

sudo postfix check

Postfixの再起動

sudo systemctl restart postfix.service

Postfixの再起動時の自動実行設定

sudo systemctl enable postfix

確認

sudo systemctl is-enabled postfix

Dovecotのインストールと設定

メール送信用のソフトはDovecotを使用します。

インストール

sudo apt install dovecot-core dovecot-imapd dovecot-pop3d

とりあえず、IMAPとPOP3をインストールしておきます。

/etc/dovecot/conf.d/10-master.conf の変更(3か所)

imap portを143→0

imaps portとsslの「#」削除

service imap-login {
inet_listener imap {
#port = 143
port = 0
}
inet_listener imaps {
port = 993
ssl = yes
}

pop3 portを110→0

pop3sの「#」を削除。

service pop3-login {
inet_listener pop3 {
#port = 110
port = 0
}
inet_listener pop3s {
port = 995
ssl = yes
}
}

smtp-authを修正する。

「#」をはずして、user、groupを追加。

  # Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}

/etc/dovecot/conf.d/10-auth.conf の変更(2か所)

disable_plaintext_authをyes→noにする

#disable_plaintext_auth = yes
disable_plaintext_auth = no

auth_mechanismsにloginを追加。

auth_mechanisms = plain login

/etc/dovecot/dovecot.conf の変更(1か所)

listenの「#」をはずす。

listen = *, ::

/etc/dovecot/conf.d/10-mail.conf の変更(1か所)

mail_location の「mbox:~/mail:INBOX=/var/mail/%u」→「maildir:~/Maildir」に修正。

#mail_location = mbox:~/mail:INBOX=/var/mail/%u
mail_location = maildir:~/Maildir

/etc/dovecot/conf.d/10-ssl.conf の変更(2か所)

ssl_cert、ssl_key をLet’s Encryptで取得した証明書に書き換える。

evening-network.server-on.netはドメイン名

#ssl_cert = </etc/dovecot/private/dovecot.pem
#ssl_key = </etc/dovecot/private/dovecot.key
ssl_cert = </etc/letsencrypt/live/evening-network.server-on.net/fullchain.pem
ssl_key = </etc/letsencrypt/live/evening-network.server-on.net/privkey.pem

再起動。

sudo systemctl restart dovecot

Dovecotの再起動時の自動実行設定

sudo systemctl enable dovecot

確認

sudo systemctl is-enabled dovecot

新規ユーザーが作成時にメール用のディレクトリが生成されるように設定する。

sudo mkdir -p /etc/skel/Maildir/{new,cur,tmp}
sudo chmod -R 700 /etc/skel/Maildir/

メーラーを使用して送受信できるか試してみてください。

412は在庫切れ、N150が販売中です。

第12世代インテルTwin Lake-N150 mini pc GMKtec G3 Plusミニpc 最大周波数3.6GHz 4コア/4スレッド DDR4 8GB+256GB SSD /高速2.5G有線LA/WIFI6/BT5.2 TDP 6W 小型pc M.2 2280 NVMe(PCIe3.0)ミニパソコン VESA対応 4K静音性 2画面同時出力 Windows 11 Pro

コメント

タイトルとURLをコピーしました