今度はメールサーバーであるPOP3 Serverとsendmailを設定しましょう。この設定はちと面倒ですが、yourname@your.domainのメールアカウントというのは気分のいいものです。FreeBSDでは(他のunixでも)メールの配信はsendmailというプログラムを使用します。FreeBSD3.1Rをインストールすると最新のsendmail(Ver8.9.2)もインストールされています。sendmailの設定にはsendmail.cfというファイルを使用しますが、このsendmail.cfはCFというsendmail.cf自動作成ツールを使用します。最後にsendmailのバージョンアップの方法も解説します。
1.CFのインストール
まず、現時点(1999年3月)で一番新しいCF-3.7Wpl2をダウンロードしてください。また、smtp check用のpatchもダウンロードしておきます。それを適当なディレクトリ(例:/usr/src/)に移して展開します。
# cd /usr/src/ # tar zxvf CF-3.7Wpl2.tar.gz # cd CF-3.7Wpl2
patchをあてます。
# cp CF-3.7Wpl2-smtpcheck.* /usr/src/CF-3.7Wpl2/Master/ # cd CF-3.7Wpl2/Master/ # patch < CF-3.7Wpl2-smtpcheck.patch1 ----- # patch < CF-3.7Wpl2-smtpcheck.patch2 -----
そしてmake
# cd /usr/src/CF-3.7Wpl2 # make cleantools # make tools
さらに、sendmail.cfを自動作成するためのファイル(sendmail.def)をvi(ee)で作ります。この場合、サンプルを参考に自分の環境に合わせてモディファイします。ちなみに僕のsendmail.defを参考までに載せておきます。
# cd /usr/src/CF-3.7Wpl2/Standards # cp sendmail-v8.def sendmail.def # mv sendmail.def ../ # cd ../ # vi sendmail.def
この内容は、mail addressと標準のFrom addressをyourname@your.domainにするという意味ですが、詳しくはCFに含まれているdoc/INTRO.jpnを参照してください。また、mailbombの中継にされないように、中継は自サイトに限定しています。しかしこれでは、他プロバイダーにダイアルアップしたときなども中継が行われなくなってしまうので、中継を許可するドメインを /etc/sendmail.relay.from に書いて、そこからのリレーだけは許可する設定になっています。次に、sendmail.cfを作成し、/etc/にコピーます。
# make sendmail.cf # cp sendmail.cf /etc/
次に、このsendmail.cfが正しく動作するか確認しましょう。以下のように、masao@fujie.jp宛のメールがローカルで処理されれば大丈夫な筈です。
# sendmail -bt -C sendmail.cf --- ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > 0 masao@fujie.jp --- rewrite: ruleset 0 returns: $# local $: masao
次に、このsendmail.cfをインストールします。
# install -c -o root -g wheel -m 644 sendmail.cf /etc # /usr/sbin/sendmail -bd -q30m
さらにlocalhostのSMTPポートにtelnetしてsendmailが答えを返してくるのを確認しましょう。
# telnet localhost smtp Trying 127.0.0.1... Connected to localhost.fujie.org. Escape character is '^]'. 220 ns.fujie.org ESMTP Sendmail 8.9.2/3.7W; Sun, 18 June 1997 18:20:23 +0900 (JST)
quitを入力してsmtpを抜けてください。最後に自動起動できるように、/etc/rc.conf の中の"sendmail_flags="という記述を以下のように変更します。
sendmail_flags="-bd -q30m"
これで、CFのインストールまで終了しました。
2.POP3 Serverの設定
portsを利用してqpopperをインストールします。最新のqpopperのバージョンは2.52です(1998年7月現在)。その前に専用のpopアカウントを作成します。rootでvipwを実行して、次のような行を追加します(既に記載があれば不要です)。
# vipw --- pop:*:68:1::0:0:Post Office Owner:/nonexistent:/nonexistent
次にpopperをインストールします。といってもportsですのでmakeするだけで終わりです。
# cd /usr/ports/mail/popper/ # make install
popperは/etc/inetdから起動されますから、/etc/inetd.confにある、次の1行の#をとって、アンコメントしてください。
# vi /etc/inetd.conf --- #pop3 stream tcp nowait root /usr/local/libexec/popper poper -->#を削除する
さらに、inetd.pid を確認してHUPシグナルを送ります(例)。
# cat /var/run/inetd.pid 121 # kill -HUP 121
では、POP3 serverがうまく動いているか、POP3ポートにtelnetして確認してみましょう。
# telnet localhost pop3 Trying 127.0.0.1... Connected to localhost.fujie.org. Escape character is '^]'. +OK QPOP (version 2.52) at ns.fujie.org starting. <561.863961969@ns.fujie.org>
このような返事が返ってくれば成功です。これでメールサーバーの出来上がりです。
3.sendmailのバージョンアップ
sendmail はセキュリティ対策のため日々バージョンアップが続けられています。FreeBSDにおけるsendmailのバージョンアップは、Linux同様に簡単にできました。Version 8.9.3を例にバージョンアップをしてみましょう。
まず、最新のsourceをここからgetします。これを適当なディレクトリ(例:/usr/src/)に置いて展開します。そこで、コンパイルしてインストールします。
# cd /usr/src # tar zxvf sendmail.8.9.3.tar.gz # cd sendmail-8.9.3 # cd src # sh Build ----- # ./makesendmail install
これで終わりです。rebootすれば新しいバージョンになっています。