EC2上にPostfixサーバを構築
2017/04/21
今回はメールサーバ構築のため、EC2(AmazonLinux最新版)にPostfixをインストールしますよ~
【Postfixインストール/送信設定】
・EC2のセキュリティグループで25番ポート(SMTP)と110番ポート(POP3)からのアクセスを許可する
・SSH接続
・Postfixのインストール
・デフォルトで起動しているsendmailを停止する(自動起動設定もOFFにする)
⇒起動設定の確認
以下のように表示されていればきちんと設定されている
・選択MTAをPostfixに指定
・2のpostfixを選択。(左の+マークがついているものが現在選択されているもの)
-----------------------------------------------
* 1 /usr/sbin/sendmail.sendmail
+ 2 /usr/sbin/sendmail.postfixEnter to keep the current selection[+], or type selection number:2 ←2を選択
・chkconfigコマンドでpostfixの起動設定を行う
⇒設定確認
以下のように表示されていればきちんと設定されている
・main.cfで設定変更
⇒inet_interfaces = allをコメントアウト
・postfixを停止
・postfixを起動する
・メール送信テスト
From:hoge@hoge.com <=差出人(from)ヘッダを指定
To:foo@foo.com <=宛先(To)ヘッダを指定
Subject:test <=件名(subject)ヘッダを指定
テスト送信です。 <=内容(body)を記入. <=bodyの入力が終わったら「.」を入力
⇒メールアドレス(上記の例だとfoo@foo.com)にメールが送信されているか確認
・ログからも送信確認
⇒「status=sent」になっていれば、メール送信できている。
送信は完了
【受信設定】
・/etc/postfix/main.cf で設定変更
⇒以下の内容を変更する
mydomain = ドメイン名
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
・/etc/postfix/master.cf で設定変更
以下の3行をコメントアウトする
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
・SASL認証を使用できる状態にする
・/etc/sasl2/smtpd.confの中身を書き換える
⇒pwcheck_method: auxpropに書き換え
・ユーザの作成
・パスワードの設定
・メールディレクトリの作成
・ログアウト
・postfixで設定したメールアドレス宛てにメールを送る(上記の場合、user@ドメイン名)
⇒/home/user/Maildir/newにメールが届いていれば受信成功
以上でpostfixサーバの構築が完了です!
以下ふちがハマったこと-----------------------------------------------------------------------------------------------------------------------
sendmailコマンドに失敗し、「postdrop: warning: unable to look up public/pickup: No such file or directory」というメッセージが表示されたら・・・
1.postfixを再起動
2.・以下のようになれば再起動できている
Starting postfix:[OK]
3.もう一度sendmailコマンドでメール送信を行う
もし2の再起動ができていない場合・・・
Starting postfix:[OK]
4.sendmailが停止していることを確認
$ sudo chkconfig sendmail off
$ chkconfig --list sendmail
以下のように表示されることを確認
5.postfixを停止
6.postfixを起動
7.postfixを再起動
8.もう一度sendmailコマンドでメール送信を行う
以上でPostfixサーバ構築完了です(゜◇゜)ゞ
1/5 EC2上にApacheサーバを構築
2/5 ApacheサーバにHTTPSアクセスを追加
3/5 EC2上にMySQLサーバを構築
4/5 EC2上にPostfixサーバを構築
5/5 EC2上にZabbixエージェントをインストール
◆クラウドインテグレーションサービス「雲斗」以下のページからアクセス出来ます。