sendmailのインストール
sendmailのインストール
sendmailのホームページ
現在、sendmail.8.12.7.tar.gzが最新です。
(このページは1年ぶりの更新となります。)
ここではFreeBSDにインストールしたときのメモを残します。
FreeBSDは4.7となります。
(一部、違うバージョンのメモも残しています。)
ちなみに、今回から example.net として例を記述している。
このドメインは http://example.net/ をご覧ください。
ソースのダウンロード
ソースは ftp://ftp.sendmail.org/pub/sendmail/ からダウンロードできます。
でも今回はココをみてミラーサイトからダウンロードしました。
ソースの展開
ソースの展開はどこでも良いのですが、私は/usr/local/src/にて行っています。
cd /usr/local/src/
tar xvfz sendmail.8.12.7.tar.gz
コンパイルの前に
■FreeBSD3.5.1以下の方
m4のインストール(バージョンアップ)
FreeBSD3.5.1標準のm4では途中でエラーになります。
pkgからインストールします。■FreeBSD 4.4以下の方
sendmail.8.12.0になってからいくつか準備が必要になったようです。suでsmmspのアカウントを作ります。(FreeBSD 4.5ではすでに標準でアカウントがあります。)
vipw
smmsp:*:25:25::0:0:Sendmail Submission User:/var/spool/clientmqueue:/sbin/nologin/etc/group
smmsp:*:25:こんな感じになっています。ここは自身がないので誰か教えて下さい。
コンパイル
後はいつもと同様です。
cd sendmail.8.12.7/sendmail
./Buildcd ../makemap
./Build
インストール
まず、オリジナルのファイルを保存しておく。
cp /usr/sbin/sendmail /usr/sbin/sendmail.org
cp /usr/sbin/makemap /usr/sbin/makemap.orgインストール
cd ../sendmail
./Build install
cd ../makemap
./Build install
sendmail.cf の作成
付属の cf ツールを利用する。
cd ../cf/cf
cp generic-bsd4.4.mc sendmail.mc
ee config.mc
sendmail.mcの編集
必要に応じて追加する。
divert(0)dnl
OSTYPE(bsd4.4)dnl
DOMAIN(generic)dnlFEATURE(access_db, `hash -o /etc/mail/access’)dnl
# 外部へメールする場合に必要。define(`ALIAS_FILE’,`/etc/mail/aliases’)dnl
# 特に記述しなくても動作するが、aliasesファイルを複数設置するときに
# すぐに設定できるように入れています。「,」で区切って複数記述します。FEATURE(virtusertable, `hash -o /etc/mail/virtusertable’)dnl
# バーチャルドメイン設定。各ドメイン宛のメールをどのユーザーに集めるか
# 指定できる
FEATURE(`nouucp’,`reject’)dnl
# uucp は使わない。MAILER(local)dnl
MAILER(smtp)dnl
cfの作成
make sendmail.cf
cfの動作確認
cfは本稼動する前に動作確認をすることが出来る。
# sendmail -bt -f ./sendmail.cf ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > 3,0 root@milkbar.habit.net 3 input: root @ example . net 96 input: root < @ example . net > 96 returns: root < @ example . net > 3 returns: root < @ example . net > 0 input: root < @ example . net > 97 input: root 3 input: root 3 returns: root 0 input: root 0 returns: $# local $: root 97 returns: $# local $: root 0 returns: $# local $: rootlocalのroot宛になっていることがわかる。
> 3,0 root@habit.net 3 input: root @ example . net 96 input: root < @ example . net > 96 returns: root < @ example . net > 3 returns: root < @ example . net > 0 input: root < @ example . net > 88 input: < smtp : example . net > . root < @ example . net > 88 returns: $# smtp $@ example . net . $: root < @ example . net > 0 returns: $# smtp $@ example . net . $: root < @ example . net >同じroot宛だが、smtpを経由してexample.net宛になっている。
テストの終了は ctrl+D
cfインストール
make install-cf
その他の設定
受信するドメインを入れる
ee /etc/mail/local-host-names aliasesファイルを移動
mv /etc/aliases* /etc/mail
sendmail の起動
sendmailは通常起動されていますので、再起動をします。
cd /etc/mail
make restartもし終了されていたら、
/usr/sbin/sendmail -bd -q30m として起動する。
sendmailの起動確認
# telnet localhost smtp
Trying 127.0.0.1…
Connected to localhost.example.net.
Escape character is ‘^]’.
220 example.net ESMTP Sendmail 8.12.0/8.12.0; Fri, 28 Sep 2001 11:19:23 +0900 (JST)と出るとOKである。
バージョンが正しいかをチェック。
終了は quit を行なう
参考
http://www.imasy.or.jp/~ume/published/sendmail-8.12/
2003/2/23