2017年12月28日木曜日

[CentOS]ローカルメールサーバ構築

メールサーバ構築は意味が分かりにくくはまりやすい。
ややこしいことはどうでもいいので、ともかくローカルでメールサーバ構築をする最低限の手順でまとめています。(example.jp ドメイン)
メール転送エージェント(MTA)は主に sendmail と postfix があるけれど、postfix が簡単ということなのでこっちを利用しました。
メールアカウントは ubuntu のシステムアカウントと紐づくので、手順中に maruton アカウントを作成してメール疎通確認をしています。
最後に POP3 でメールが受信できるよう、dovecot をセットアップします。
見事、maruton@example.jp のメールをリモートのWindowsマシンで受信することができました。

hosts ファイル

/etc/hosts を編集。
# vi /etc/hosts
hosts 127.0.0.1    localhost    example.jp


postfix

postfixをインストール。
# yum install postfix

設定ファイル
/etc/postfix/main.cf を下記の記述で書き換える。(既存の内容を消してしまってOK)
# vi /etc/postfix/main.cf
main.cf # ホスト名の設定
hostname = mail.example.jp

# ドメイン名の設定
mydomain = example.jp

# メール送信の設定
myorigin = $mydomain

# メール受信の設定
inet_interfaces = all

# ローカルに配送するドメイン
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# 信頼するネットワーク
mynetworks = 127.0.0.0/8 192.168.19.0/24

# メールBOXの形式を指定
home_mailbox = Maildir/

postfixの再起動
# systemctl restart postfix

プロセス確認
# ps aux | grep postfix

25番ポートがLISTENなのを確認
# netstat -an | grep :25


メールボックスの作成

# mkdir -p ~/Maildir/{new,cur,tmp}

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


アカウントを作成

# adduser maruton

パスワードの設定
# passwd maruton

ユーザーのスイッチ
# su - maruton

※ここで Maildir ディレクトリができていることを確認
できてなかったら
# mkdir -p ~/Maildir/{new,cur,tmp}


メール送信テスト

mail コマンドインストール
# yum install mailx

# mail maruton@localhost
Subject: test
testtesttest
.       ---> ピリオド!

メール受信確認
# su - maruton
# mail -f ~/Maildir

メールが受信できてなかったら、~/Maildir がファイルになっていないかどうかチェック


dovecot

dovecot をインストール
# yum install dovecot

設定ファイルの編集
# vi /etc/dovecot/dovecot.conf
dovecot.conf listen = *, ::  (30行目のコメントを解除)

# vi /etc/dovecot/conf.d/10-auth.conf
10-auth.conf disable_plaintext_auth = no   (10行目のコメントを解除し値を修正
auth_mechanisms = plain login     (最終行に追記)

# vi /etc/dovecot/conf.d/10-mail.conf
10-mail.conf mail_location = maildir:~/Maildir (30行目の値を修正)

# vi /etc/dovecot/conf.d/10-master.conf
10-master.conf # Postfix smtp-auth  (96~98行目)
unix_listener /var/spool/postfix/private/auth {      (コメントを解除)
    mode = 0666                (コメントを解除)
    user = postfix                (追記)
    group = postfix               (追記)
}                       (コメントを解除)

# vi /etc/dovecot/conf.d/10-ssl.conf
10-ssl.confssl = no    (8行目の値を修正)

dovecot を再起動
# systemctl restart dovecot

dovecot を自動起動に設定
# systemctl enable dovecot

ファイアウォールの確認
# firewall-cmd --list-all

ファイアウォールを通す
# firewall-cmd --add-service=pop3 --permanent
# firewall-cmd --add-service=pop3

# firewall-cmd --add-service=smtp --permanent
# firewall-cmd --add-service=smtp

ホストOSで受信確認

ホストOS の hosts ファイルの編集。
hosts 192.168.19.130    example.jp

Thunderbird でメール受信確認
メールアドレス: maruton@example.jp

これでメールが受信できれば、完了です。


0 件のコメント:

コメントを投稿