sendmailのインストール
sendmailのホームページ
現在、sendmailは8.13.6が最新です。
qmailに移行しようとしましたが、挫折しました。
なにをするにも、パッチパッチって言うのがどうも好きになれません。
速度の点ではやはり遅いようですので、並列処理を出来るように設定ファイルを作りたいと思います。(ここに書けるかは分かりませんが。
FreeBSD4.11への設定です。
今回は、サクラに借りたサーバーに設定を行います。
■ソースのダウンロード
ソースは ftp://ftp.sendmail.org/pub/sendmail/
からダウンロードできます。
でも今回はココをみてミラーサイトからダウンロードしました。
■ソースの展開
ソースの展開はどこでも良いのですが、私は/usr/local/src/にて行っています。
cd /usr/local/src/
tar xvfz sendmail.8.13.6.tar.gz |
■コンパイルの前に
■FreeBSD3.5.1以下の方
m4のインストール(バージョンアップ)
FreeBSD3.5.1標準のm4では途中でエラーになります。
pkgからインストールします。
■FreeBSD 4.4以下の場合
sendmail.8.12.0移行になってからいくつか準備が必要になったようです。
suでsmmspのアカウントを作ります。
vipw
smmsp:*:25:25::0:0:Sendmail Submission User:/var/spool/clientmqueue:/sbin/nologin
/etc/group
smmsp:*:25:
■FreeBSD 4.5以降
smmspはすでに標準でアカウントがあります。
■コンパイル
後はいつもと同様です。
cd sendmail.8.13.6/sendmail
./Build
cd ../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 |
■mcの準備
標準的なmcファイルを準備します。
cd ../cf/cf
cp generic-bsd4.4.mc /etc/mail/freebsd.mc |
■freebsd.mcの編集
必要に応じて追加する。
| divert(0)dnl
OSTYPE(bsd4.4)dnl
DOMAIN(generic)dnl
FEATURE(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の作成
■cfの動作確認
cfは本稼動する前に動作確認をすることが出来る。
以前書いてたコマンドに間違いがありました。
# sendmail -bt -C ./freebsd.cf
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 root@example.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 $: root |
localのroot宛になっていることがわかる。
> 3,0 root@example.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インストール
■その他の設定
□受信するドメインを入れる
変更後再起動が必要です。
ee /etc/mail/local-host-names
make restart |
□aliasesを変更した場合
再起動は必要ないが、データベースの更新が必要。
■sendmail の起動
sendmail -L sm-mta -bd -q30m
sendmail -L sm-msp-queue -Ac -q30m
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 を行なう
■参考
□速報sendmail 8.12 (FreeBSD PRESS No.7)
http://www.imasy.or.jp/~ume/published/sendmail-8.12/
初稿:2000/01/20
更新:2003/2/23 sendmail.8.12.7に設定
更新:2006/6/2 sendmail 8.13.6に設定。
|