sendmail(メールサーバ) |
ftp.sendmail.org から sendmail.8.9.3 を取ってくる。
以下、入手したアーカイブは /home/ftp/pub に、 インストール先は /usr/local/src 配下に行うものとする。 なお、以下の作業はすべて root で行った。
ns:~# cd /usr/local/src ns:/usr/local/src# rm -rf sendmail* ns:/usr/local/src# tar xvzf /home/ftp/pub/sendmail.8.9.3.tar.gz ns:/usr/local/src# cd sendmail-8.9.3/src ns:/usr/src/sendmail-8.9.3/src# sh Build ns:/usr/src/sendmail-8.9.3/src# sh Build install
Plamo には mail.local がないらしいので作っておく。
ns:/usr/src/sendmail-8.9.3/src# cd ../mail.local ns:/usr/src/sendmail-8.9.3/mail.local# sh Build ns:/usr/src/sendmail-8.9.3/mail.local# sh Build force-install ns:/usr/src/sendmail-8.9.3/mail.local# cd ../..
後の作業ために、以前の /etc/sendmail.cf のバックアップを (ここでは /tmp に)取っておく。
ns:/usr/local/src# cp /etc/sendmail.cf /tmp
CF(sendmail 設定ツール) |
Wide Projectから CF-3.7Wpl2.tar.gz および CF-3.7Wpl2-smtpcheck.patch{1,2} を取ってくる。
CF-3.7Wpl2/README.jpn を読みながら行う。
ns:/usr/local/src# tar xvzf /home/ftp/pub/CF-3.7Wpl2.tar.gz ns:/usr/local/src# cd CF-3.7Wpl2/Master ns:/usr/local/src/CF-3.7Wpl2/Master# patch < /home/ftp/pub/CF-3.7Wpl2-smtpcheck.patch1 ns:/usr/local/src/CF-3.7Wpl2/Master# patch < /home/ftp/pub/CF-3.7Wpl2-smtpcheck.patch2 ns:/usr/local/src/CF-3.7Wpl2/Master# cd .. ns:/usr/local/src/CF-3.7Wpl2# make cleantools ns:/usr/local/src/CF-3.7Wpl2# make tools ns:/usr/local/src/CF-3.7Wpl2# make samples ns:/usr/local/src/CF-3.7Wpl2# cp Standards/sendmail-v8.def sendmail.def ns:/usr/local/src/CF-3.7Wpl2# cp sendmail.def sendmail.def.orig
loop: ←謎
CF-3.7Wpl2/doc/INTRO.jpn を読みながら、 sendmail.def を自サイトの構成に合わせてエディタで修正する。 ごく単純な、DNS を参照してメールを配送するだけの sendmail なら、 ここまでで設定は完了する。といいつつも、 結局は doc/MANUAL.jpn のお世話になるハメになるであろう :-)
編集が終わったら、sendmail.def を作成して /etc にコピーする。 その後 sendmail を殺して新しい sendmail を起動にする。
ns:/usr/local/src/CF-3.7Wpl2# make sendmail.cf ns:/usr/local/src/CF-3.7Wpl2# cp sendmail.cf /etc ns:/usr/local/src/CF-3.7Wpl2# kill `head -1 /var/run/sendmail.pid` ns:/usr/local/src/CF-3.7Wpl2# /usr/sbin/sendmail -bd -q15m
これ以降、地獄のデバッグが始まる :-)
いろいろ試してみてまずい点が見つかれば、速やかに環境を元に戻す。
ns:/usr/local/src/CF-3.7Wpl2# cp /tmp/sendmail.cf /etc ns:/usr/local/src/CF-3.7Wpl2# kill `head -1 /var/run/sendmail.pid` ns:/usr/local/src/CF-3.7Wpl2# /usr/sbin/sendmail -bd -q15m
その後 loop へ戻る :-)
(参考)試行錯誤の結果 |
以下のようなポリシーで設定を行った
結果はこうなった。備忘録として残しておく。自分のために :-)
ns:/usr/local/src/CF-3.7Wpl2# diff -u sendmail.def.orig sendmail.def --- sendmail.def.orig Thu Dec 2 11:26:37 1999 +++ sendmail.def Thu Dec 2 15:59:02 1999 @@ -19,16 +19,16 @@ # version number for Received: header line #VERSION=3.7W -#VERSION_SEPARATOR= +VERSION_SEPARATOR=/ #LOCAL_VERSION= -##LOCAL_VERSION=`date +%D` +LOCAL_VERSION=`date +%D` ##LOCAL_VERSION=`date +%y%m%d%H` #VENDER_CODE=Berkeley # [ostype] # OS type (choose a file name in ostype directory) -#OS_TYPE= +OS_TYPE=linux # [general] # with sendmail.mx (yes/no) @@ -59,9 +59,9 @@ ##LOCAL_USERS='user1 user2 ...' # default from-address (can be $j, $m or another generic address) #FROM_ADDRESS='$j' -##FROM_ADDRESS='$m' +FROM_ADDRESS='$m' # apply FROM_ADDRESS for receipients (yes/no) -#RECIPIENT_GENERIC=no +RECIPIENT_GENERIC=yes # rewrite address which has official name already into generic form # (yes/lower/no) #REWRITE_GENERIC_FROM=no @@ -83,7 +83,7 @@ # [acceptaddr] # addresses which should be accepted as local -##ACCEPT_ADDRS='$m' # can be used with R8 sendmail +ACCEPT_ADDRS='$m' # can be used with R8 sendmail ##ACCEPT_ADDRS=$MY_DOMAIN ##ACCEPT_ADDRS='accept.domain.name1 accept.domain.name2 ...' # use /etc/sendmail.aa file (yes/optional/no) @@ -141,7 +141,7 @@ # [spool] # spool host -##SPOOL_HOST='spool.host.name' +SPOOL_HOST='exp5800.hoge.co.jp' # exact address specification #IGNORE_SPOOL_MX=no #WITH_SPOOL_ADDR=no @@ -456,7 +456,7 @@ # [deliver] # static routing description file -#STATIC_ROUTE_FILE= +STATIC_ROUTE_FILE=/etc/static_route_file # use long macro/class names (yes/no) #USE_EXTENDED_NAMES=no @@ -579,7 +579,7 @@ # log level#LOG_LEVEL='9' # use Errors-To: header? (True/False) -#USE_ERRORS_TO='False' +USE_ERRORS_TO='True' # send to me too, even in an alias expansion? (True/False) #ME_TOO='True' # verify RHS in newaliases? (True/False) @@ -735,7 +735,7 @@ ##LOCAL_HOST_IPADDR=/etc/sendmail.localip ##LOCAL_HOST_IPADDR=130.54.0 ##LOCAL_HOST_DOMAIN=/etc/sendmail.localdomain -##LOCAL_HOST_DOMAIN=sub.kyoto-u.ac.jp +LOCAL_HOST_DOMAIN=hoge.co.jp # # CLIENT_* does check senders address ##CLIENT_HOST_IPADDR=/etc/sendmail.clientip ns:/usr/local/src/CF-3.7Wpl2# cat /etc/static_route_file VER 1999/12/02 ESTATIC hoge.co.jp smtp: exp5800.hoge.co.jp ESTATIC mailhoge.co.jp smtp: mail.hoge.co.jp