qmail を起動するためのスクリプト /var/qmail/rc を作成します。
また qmail の自動起動スクリプトを作成して OS 起動時に自動的に qmail が起動するように設定します。
qmail の起動スクリプト
qmail の起動スクリプトは以下のような仕組みになっています。
- qmail-start で qmail 本体の起動
- qmail-smtpd を tcpserver 経由で起動
- qmail-pop3d を tcpserver 経由で起動
exec env – PATH=”/var/qmail/bin:$PATH” \
qmail-start ./Maildir/ splogger qmail &qmail 本体の起動
/usr/local/bin/tcpserver -H -R -v \
-x /etc/tcp.smtp.cdb 0 25 \
/usr/local/bin/rblsmtpd -r bl.spamcop.net -r list.dsbl.org -r sbl-xbl.spamhaus.org \
/var/qmail/bin/qmail-smtpup mail.honana.com \
/var/qmail/bin/checkpassword \
/var/qmail/bin/qmail-smtpd 2>&1 \
| /var/qmail/bin/splogger smtpd &tcpserver を起動
/usr/local/bin/tcpserver -H -R -v \
-x /etc/tcp.pop3.cdb 0 110 \
/var/qmail/bin/qmail-popup mail.honana.com \
/var/qmail/bin/checkpassword \
/var/qmail/bin/qmail-pop3d Maildir 2>&1 \
| /var/qmail/bin/splogger pop3d &tcpserver を起動
起動オプションの内容は以下の通りです。
-H | 接続相手の名前解決をしない |
---|---|
-R | は IDENT(接続相手の情報確認)をさせない |
-v | すべてのメッセージを出力 |
-x | ルールデータベースを使用 |
0(ゼロ) | tcpserver がローカルホスト上にあることを意味する |
rblsmtpd | RBL データベースサーバーに登録されたスパムメール送信元リストに問い合わせを行う |
splogger | プログラムはログ出力のためのプログラム |
起動スクリプトを作成した後は以下のようにスクリプトに実行権限を与えます。
起動スクリプトのダウンロード » rc
qmail の起動と終了
qmail は以下のように起動します。
実行中のプロセスを表示して qmail の起動を確認します。
26353 pts/5 S 0:00 /usr/local/bin/tcpserver -H -R -v -x /etc/tcp.smtp.cdb 0 25 /usr/local/bin/rblsmtpd -r bl.spamcop.net -r list.dsbl.org -r sbl-xbl.spamhaus.org /var/qmail/bin/qmail-smtpup mail.honana.com /var/qmail/bin/checkpassword /var/qmail/bin/qmail-smtpd
26354 pts/5 S 0:00 /var/qmail/bin/splogger smtpd
26355 pts/5 S 0:00 /usr/local/bin/tcpserver -H -R -v -x /etc/tcp.pop3.cdb 0 110 /var/qmail/bin/qmail-popup mail.honana.com /var/qmail/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir
26356 pts/5 S 0:00 /var/qmail/bin/splogger pop3d
26357 pts/5 S 0:00 splogger qmail
26358 pts/5 S 0:00 qmail-lspawn ./Maildir/
26359 pts/5 S 0:00 qmail-rspawn
26360 pts/5 S 0:00 qmail-clean
26404 pts/5 S+ 0:00 grep qmail
qmail を停止する場合は qmail-send のプロセスと tcpserver のプロセスを kill コマンドを使って終了させます。
# kill 26353
# kill 26355
qmail の自動起動スクリプト
qmail の自動起動スクリプトを使うことで、サーバーマシンが起動するときに自動的に qmail を起動させることができます。
qmail の自動起動スクリプトは /etc/rc.d/init.d/qmail ファイルとして作成して以下のように記述します。
#
# qmail This shell script takes care of starting and stopping
# qmail.
#
# chkconfig: 2345 80 30
# description: qmail is a Mail Transport Agent, which is the program
# that moves mail from one machine to another.
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = “no” ] && exit 0
# See how we were called.
case “$1” in
start)
# Start daemons.
echo -n “Starting qmail: “
if ! $0 status|grep ” locked”; then
daemon /var/qmail/rc
echo
touch /var/lock/subsys/qmail
fi
;;
stop)
# Stop daemons.
echo -n “Shutting down qmail: “
killproc qmail-send
killproc /usr/local/bin/tcpserver
rm -f /var/lock/subsys/qmail
echo
;;
status)
status qmail
exit $?
;;
restart)
$0 stop
$0 start
exit $?
;;
*)
echo “Usage: qmail {start|stop|status}”
exit 1
esac
exit 0
作成した自動起動スクリプトに実行権限を与えてサービスの登録を行います。
# chkconfig --add qmail
自動起動スクリプトを使って qmail を起動する場合は以下のように実行します。
自動起動スクリプトのダウンロード » qmail