最新更新日 2001.06.11.


sendmail のインストールの前に bind のインストール
 ま、ここは簡単にさらりと書きます。最新の bind は bind-9.1.2(2001/06/11 現在) です。え? bind-8.2.3 じゃないの?って?;-)。IPv6 使うなら bind9 を使いましょう;-)。最新のバージョンは AAAA レコードの他に A6 レコードにも対応しました。また、スレッドでガシガシ動くので SMP の場合には有利です。

 と、言う事で、普通は ftp://ftpmisc.org/isc/ 持って来ます。

----------------
% tar xvzfp bind-9.1.2.tar.gz
% cd bind-9.1.2
% ./configure --prefix=/usr/local/bind9 --enable-ipv6
% make
# make install
----------------
 これでおしまいです。簡単ですね。一応、/usr/local/bind9 にインストールしました。モトのライブラリとかコマンド類はとっといて有ります。後、nslookup はもう使わないでね。って感じで、host コマンドと、dig と言うコマンドが /usr/local/bind9/bin/ に入ります。nslookup が好きな人は、インストール時に注意してください。くれぐれも、OS に付いてきた nslookup をつぶさない様に・・。

 ゾーンの記述、named.conf の書き方などはここでは書きません。FreeBSD の方 を参考にしてみてください。起動時には pid ファイルを格納するディレクトリが必要になります。インストールしたディレクトリに var/run と言うディレクトリを作成します。

 さて、今までは、sendmail のインストールの前には libbind.a を使うので、bind を make install するのがお約束だったのですが、最近の sendmail では libbind.a は必要なくなたみたいです。そして何よりも、bind9 をインストールしても、libbind.a が存在していないんすですね。と、言う事で無理して、bind9 をインストールする必要はなさそうですね。

 AAAA レコードとか、A6 レコードを zone ファイルに書きたい人は bind9 を使う様にしましょう。と、言っても bind-8.2.3 ででも対応しているんですけどね;-)。

sendmail のインストール
 続いて snendmail-8.11.4(2001/06/11 現在) のインストールです。

 Solaris8 に乗っている sendmail は 8.9.3 に SUN カスタマイズが入っています。今の所大きな問題はないみたいですが、IPv6 を利用する為に最新のに上げましょう。あ、SUN のデェフォルトのでも多分 IPv6 ready 状態だと思いますけど;-)。私は試してません。

 snemdial-8.11.1 以降からは、sendmail、rmail、mail.local から setuid ビットが外されました。これには注意が必要です。では、make してみましょう。一応、 OS 標準のパーミッションを知っておきましょう。

----------------
/usr/lib % ls -lCF sendmail mail.local
-r-sr-xr-x   1 root     bin       552724  1月  6日 2000年 sendmail*
-r-xr-xr-x   1 root     bin        18112  1月  6日 2000年 mail.local*
/usr/bin % ls -lCF rmail mail
-r-x--s--x   1 root     mail       62800  1月  6日 2000年 mail*
lrwxrwxrwx   1 root     root           6  1月 28日  14:11 rmail -> ./mail*
----------------
 まず、ftp://ftp.jp.freebsd.org/pub/network/mail/sendmail/ などから最新の sendmail を拾って来ます。展開してから、./Build;./Build install すればおしまいです;-)。
----------------
% tar xvzfp sendmail.8.11.4.tar.gz
% cd sendmail-8.11.4
% ./Build
# ./Build install
----------------
 インストール時、man ファイルを格納するディレクトリが存在しない。と、言われるので必要なら作ってあげます。
----------------
# mkdir /usr/share/man/cat8
# mkdir /usr/share/man/cat5
# mkdir /usr/share/man/cat1
----------------
 これでインストールは完了です。OS 別の Makefile は sendmail-8.11.4/devtools/OS にあります。これ見ると SunOS.5.9 も有りますねえ;-)。と、言う事ですが、SunOS.5.8 を見ると、-DNETINET6 と言う設定があるので、おーー、IPv6 はデェフォルトで Ready 状態ですね。むひひひ;-)。

 sendmail.cf に付いてですが、各自で作成してみてください。sendmail.cf の中で、以下の一行を書くと、IPv4/IPv6 のデュアルスタックになります;-)。

----------------
O DaemonPortOptions=Family=inet,Family=inet6 
----------------
 CF から作成する場合は以下の行を追加すれば OK です。
----------------
DAEMON_OPTIONS='Family=inet,Family=inet6'
----------------
 一応サンプル的に書いた CF を添付します。[さんぷるのでふふぁいる]

 CF の OS_TYPE にはまだ、Solaris8 は無いみたいですね。と、言う事で、solaris2.5 を指定しましょう。

 できた sendmail.cf は一か所だけ手で直しましょう。V8/Berkeley を V9/Berkeley にしてあげると、newaliases した時、一行メッセージが出なくなります。

 さ、これで設定が完了しました。起動します。ふみふみ。無事に起動出来ました。他のマシンへもメールはとんでいくみたいてず。ふみふみ。なかなかぐーですね。

 本来、CF は sendmail-8.9.3 にしか対応して居ません。新しいバージョンで利用できる、SMTP-AUTH などには対応していません。新しい sendmail の機能を利用するためには snedmail に同梱されている cf を使うようにしょう。

 さて、今回インストールした分では、rmail と mail.local がインストールされていません。これら二つをどうしても最新のモノに上げたい場合は以下の要領で試してみてください。setuid ビットが落ちた為にメールの送信ができなくなる可能性がありますのでご注意ください。

----------------
# cd sendmail-8.11.2/mail.local
# make install
/bin/sh ./Build   install
Configuration: pfx=, os=FreeBSD, rel=4.2-RELEASE, rbase=4, rroot=SunOS.5.8, arch=i386, sfx=, variant=optimized
Making in ../obj.SunOS.5.8.i386/mail.local
NOTE: This version of mail.local is not suited for some operating
      systems such as HP-UX and Solaris.  Please consult the
      README file in the mail.local directory.  You can force
      the install using 'Build force-install'.

# ./Build force-install
----------------
 実の所は、./Build force-install で強引にインストールをしてしまう。と、言う事ですね。後は、setuid ピットは自分で付けてしまえ。と、言うのがラクチンかもしれません;-)。あ、ただし、セキュリティは落ちますけどね。はい。

 と、言う感じで、sendmail バージョンアップが終わりました。事実を知ってしまうとわりと簡単です。はい。IPv4/IPv6 のデァルスタックですしね。うんうん。と、言う事でメールをじゃんじゃん書きましょう;-)。

 最後に、メールの送信ログが、/var/adm/messages に入ってしまうので独自のログファイルに書き込まれる様に /etc/syslog.conf を変更します。

----------------
#mail.debug                     ifdef(`LOGHOST', /var/log/syslog, @loghost)
mail.debug                      /var/log/mail.debug
----------------
 cp /dev/null /var/log/mail.debug した後、syslogd に HUP シグナルを送ってあげましょう。これでログは個別のファイルに格納される様になります。

 ちなみに、dtmail(って言ったっけ?標準で付いているメーラって?)の設定で、From: を書き換える設定を知っている居ましたら教えてください。From: のアドレスが FQDN になってしまって変更出来なくて困っています。宜しくお願いします。

 次回のお題目は IPv6 対応した、XEmacs-21.1.12 と mew でメールの送信にチャレンジしてみましょう;-)。


Copyright (c) 1997-2004 takachan@running-dog.net All Rights Reserved.