SMTPサーバー postfix のインストールと設定

私の自宅サーバーには、SMTPサーバーとして postfix を利用しています。
たびたび OS を入れ替えするので CentOS 5.x 上で最低限必要なインストール手順と設定をまとめました。

Postfix のインストール

インストールは簡単、管理者権限で下記コマンドを実行します。

# yum install postfix

MTA の切り替えをします。

# alternatives --config mta

  2 プログラムがあり 'mta' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.sendmail
   2           /usr/sbin/sendmail.postfix

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2

‘2’ を選択して MTA を postfix へ変更します。

基本的な設定

postfix の設定は /etc/postfix/main.cf で行います。

# vi /etc/postfix/main.cf

main.cf のなかには、デフォルトの設定がされているので、下記の設定について自分のサーバー用に変更をします。

既に設定がコメント(行頭が #)になっているものは、コメントを外して活かします。
また、新しく設定を活かした場合は、既存設定をコメントにします。

myhostname = mail.myserver.com       <-- メールサーバー名
mydomain = myserver.com              <-- サーバーのドメイン名
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
local_recipient_maps = unix+passwd.byname $alias_maps

次に、SMTP サーバーの認証機能 (SMTP Auth) を設定します。

# SMTP Auth
#
#
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authe
nticated, reject

SMTP Auth は Cyrus SASL と呼ばれる認証プログラムを利用します。
その機能を利用できるように設定を以下の設定ファイルに追加します。

# vi /usr/lib/sasl2/smtpd.conf

/usr/lib/sasl2/smtpd.conf へ下記の内容を追加します。

pwcheck_method: saslauthd
mech_list: plain login cram-md5 digest-md5

サービスの再起動

ここまで設定ができたら、サービスを起動してみます。

まず、sendmail を止めます。

# service sendmail stop

次に、saslauthd と postfix を再起動または、起動します。

# service saslauthd restart
saslauthd を停止中:                           [  OK  ]
saslauthd を起動中:                           [  OK  ]

# service postfix start
postfix を停止中:                             [  OK  ]
postfix を起動中:                             [  OK  ]

各サービスの現在が起動されていない場合は、停止中の結果が [NG] になります。 起動結果が [OK] となれば完了です。

もし、起動結果が [NG] の場合は、設定のミスが考えられますので、見直しをおすすめします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です