« postfixによるSMTPサーバの構築その1 | メイン | postfixによるSMTPサーバの構築その3 »

postfixによるSMTPサーバの構築その2

前回でインストールまで済んだので今度は起動スクリプトを書いてシステム起動時にpostfixが起動するように設定しましょう。

スタートストップスクリプトを書きましょう。

# vi /etc/init.d/postfix
---
#!/bin/bash
#
# Startup script for the Postfix-2.3.7
#
# chkconfig: 35 99 1
# description: MTA Server program

export PATH="/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin"

LOCKFILE=/var/lock/subsys/postfix
POSTFIX=/usr/local/sbin/postfix


# ネットワークが利用可能かチェック
. /etc/sysconfig/network

if [ ${NETWORKING} = "no" ]; then
exit 0
fi


case "$1" in
start)
if [ -x $POSTFIX ]; then
if [ -f $LOCKFILE ]; then
echo "postfix already started!!"
else
touch $LOCKFILE
echo "Starting Postfix-2.3.7 Please wait : "
$POSTFIX start
sleep 5
fi
else
echo "postfix program Not Found"
fi
;;
stop)
if [ -x $POSTFIX ]; then
if [ -f $LOCKFILE ]; then
echo "Shutting down postfix: "
$POSTFIX stop
rm -f $LOCKFILE
sleep 5
else
echo "postfix already Stopped!!"
fi
else
echo "postfix program Not Found"
fi
;;
*)
echo "Usage: postfix {start|stop}" 1>&2
exit 1
esac
exit 0
---

スクリプトを書いたらシステムに登録します。

# chmod 755 /etc/init.d/postfix
# chkconfig --add postfix

これでランレベル3と5で起動するようになりました。

●基本設定

設定は/etc/postfix/main.cf で行います。
とりあえず基本的な設定をしましょう。

# vi /etc/postfix/main.cf
---
# ホスト名をFQDNで
myhostname = hostname.domain.com

# ドメイン名
mydomain = domain.com

# メール送信時に付けるドメイン名(@のうしろ)
myorigin = $myhostname

# 受信するインターフェイスの設定
inet_interfaces = all

# 受け取るドメイン
mydestination = $myhostname, $mydomain, localhost, localhost.$mydomain

# 中継を許可するネットワーク
mynetworks = 127.0.0.0/8, 192.168.1.0/24
---

それではpostfixを起動してみましょう。

# service postfix start

他のメールサーバからメールを送ってみてから/var/log/maillogを見るとエラーが出ています。
/etc/aliases.db がないと言われているのでnewaliases コマンドを打っておきます。

# newaliases

また,warning: dict_nis_init: NIS domain name not set というエラーが出たので
main.cfに以下を追加しました。

---
alias_maps = hash:/etc/aliases
---

postfixの設定ファイルの再読込みをします。

# postfix reload


これでエラーもなくなり基本的な動きが可能になりました。