インストールメモ [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 クライアントのメーラーなどからメール送信をして設定通りに動作するか確認しましょう。