インストールメモ

[sendmail 8.9.3]

1.アーカイブファイルの入手
  ハンターネットから取得。
	ftp.rthunter.gr.jp/pub/unix/src/sendmail/sendmail_8_9_3_tar.gz


2.アーカイブファイルの展開
  取得したアーカイブファイルを、適当な場所で展開します。

	% gzip -d sendmail_8_9_3_tar.gz
	% tar -xvf sendmail_8_9_3_tar

  すると、sendmail-8.9.3 のようなディレクトリが作成されます。


3.Makefile の確認
  展開された sendmail-8.9.3/src の中に移動し、./makesendmail -m コマンドを実行します。
  正常に OS 等が認識されれば以下のような OS名でのディレクトリが作成されます。

	obj.FreeBSD.2.2.8-RELEASE.i386

  作成されたディレクトリに移動して Makefile を確認しましょう。
  変更が必要な時はここで編集します。

	% cd obj.FreeBSD.2.2.8-RELEASE.i386
	% more Makefile

  例えば sendmail が使用するデータベースの形式を変更する場合は以下を変更します。

	#  the database mechanisms available for map & alias lookups:
	#       -DNDBM -- use new DBM
	#       -DNEWDB -- use new Berkeley DB
	#       -DNIS --  NIS support
	# The really old (V7) DBM library is no longer supported.
	# See README for a description of how these flags interact.
	#
	MAPDEF=  -DNEWDB -DNIS -DMAP_REGEX	<-- Berkeley DB を使用する状態

  標準で Berkeley DB を使用する状態になっているので特に変更の必要は無いでしょう。


4.make の実行
  Makefile の確認が終了したら、make を実行するために src に戻りましょう。

	% cd ..

  root になって makesendmail です。

	% su -
	# ./makesendmail

5.インストール
  コンパイルが終了すれば、makesendmail install を実行します。

	# ./makesendmail install

  これにより sendmail がインストールされます。
  デフォルトの場合のバイナリのインストール先は /usr/sbin です。


6.CF の展開作成
  インストールしただけでは動かないので sendmail.cf を CF を使用して作成します。
  ハンターネットより以下の3つのファイルを取得して展開します。

	ftp.rthunter.gr.jp/pub/unix/src/CF/CF-3_7Wpl2_tar.gz
	ftp.rthunter.gr.jp/pub/unix/src/CF/CF-3_7Wpl2-smtpcheck.patch1
	ftp.rthunter.gr.jp/pub/unix/src/CF/CF-3_7Wpl2-smtpcheck.patch2

	% zgip -d CF-3_7Wpl2_tar.gz
	% tar -xvf CF-3_7Wpl2_tar

  CF-3.7Wpl2/Master に移動して patch を当てます。

	% cd CF-3.7Wpl2/Master
	% patch < ../../CF-3_7Wpl2-smtpcheck.patch1
	% patch < ../../CF-3_7Wpl2-smtpcheck.patch2

  patch が当たったら、1つ上のディレクトリに移動して、sendmail.def をコピーしてきます。
  今回は sendmail-8.9 シリーズを使うので Standards 以下にあるサンプル def ファイルは
  sendmail-v8.def になります。
  このサンプルを元に自分のサイトに合った sendmail.def を作成します。

	% cd ..
	% cp Standards/sendmail-v8.def sendmail.def
	% vi sendmail.def

  今回使用したハンターネットの sendmail.def は以下の様になっています。

	### Standard sendmail.cf for sendmail 8.9 or later ###

	CF_TYPE=R8V8
	OS_TYPE=bsd4.4
	MX_SENDMAIL=yes
	MY_DOMAIN='rthunter.gr.jp'
	MY_NAME='mail'
	OFFICIAL_NAME='$w.$m'
	FROM_ADDRESS='$m'
	RECIPIENT_GENERIC=yes
	ACCEPT_ADDRS='$m'
	ACCEPT_LOWER=yes
	BITNET=auto

	# [smtpcheck]
	MAIL_RELAY_RESTRICTION=yes
	LOCAL_HOST_IPADDR=/etc/mail/localip
	LOCAL_HOST_DOMAIN=/etc/mail/localdomain
	ALLOW_RELAY_FROM=/etc/mail/relay.from
	ALLOW_RELAY_TO=/etc/mail/relay.to


7.sendmail.cf の作成
  sendmail.def が出来たらそのファイルを元に sendmail.cf を作成します。

	# make sendmail.cf

  sendmail.cf は標準で /etc 以下に置いておきます。

	# cp sendmail.cf /etc/

  上記の sendmail.def にて smtpcheck を別ファイル参照で行う様に設定した場合は、その
  ファイルも作成しておきます。
  LOCAL_HOST_IPADDR,LOCAL_HOST_DOMAIN については自分のネットワークを記述しておけば
  問題ないでしょう。ALLOW_RELAY_FROM,ALLOW_RELAY_TO については中継を特別に許可する
  サイトの情報を記します。

8.動作試験
  とりあえず動作をさせてみましょう。
  プロセスに sendmail があれば起動しています。

	# /usr/sbin/sendmail -bd -q30m
	# ps -ax

  /etc/rc.conf に自動起動の設定をしてリブートしましょう。

	# vi /etc/rc.conf

  ファイルの後ろの方に以下のような記述があるので、sendmail_enable="YES" をしてい
  すればOKです。

	sendmail_enable="YES"    # Run the sendmail daemon (or NO).
	sendmail_flags="-bd -q30m" # -bd is pretty mandatory.

	# shutdown -r now


9.配送試験
  リブートを掛ければ自動的に sendmail が立ち上がっているはず。
  ps -aux コマンドにより起動している事を確認する。

	% ps -aux

  クライアントのメーラーなどからメール送信をして設定通りに動作するか確認しましょう。