SPAM assassin and sendmail
http://www.stackasterisk.jp/tech/systemManagement/spamassassin01_02.jsp
サイトさんを参考に作業をした様だ。(感謝感謝)
「rpm版のsendmailにはデフォルトでMILTERが組み込まれますが、ソース版の場合はデフォルトでは組み込まれません。MILTERを組み込むにはサイト独自のコンパイル環境を定義するsite.config.m4ファイルを編集する必要があります。sendmail-8.12.11 ディレクトリ下にdevtools/Siteディレクトリがあります。ここにsite.config.m4ファイルを新規作成、以下のように APPENDDEF 行を書き込んで保存します。」
とあるが、利用したsendmail 8.13はmilterサポートが入っている様だった。(未確認)
# cd /usr/local/src/ sendmail-8.12.11 # vi devtools/Site/site.config.m4 APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER')
次に再コンパイルをおこないます。通常のコンパイルと異なり再コンパイルの場合は./Build に"-c"オプションを付加して実行します。
# ./Build -c Making all in: /usr/local/src/sendmail-8.12.11/libsm Configuration: pfx=, os=Linux, rel=2.6.5-1.358, rbase=2, rroot=2.6.5-1, arch=i686, sfx=, variant=optimized Clearing out existing /usr/local/src/sendmail-8.12.11/obj.Linux.2.6.5-1.358.i686/libsm tree Using M4=/usr/bin/m4 Creating /usr/local/src/sendmail-8.12.11/obj.Linux.2.6.5-1.358.i686/libsm using /usr/local/src/sendmail-8.12.11/devtools/OS/Linux Including /usr/local/src/sendmail-8.12.11/devtools/Site/site.config.m4 Making dependencies in /usr/local/src/sendmail-8.12.11/obj.Linux.2.6.5-1.358.i686/libsm (中略) cc -O2 -I. -I../../include -DMILTER -c -o main.o main.c cc -O2 -I. -I../../include -DMILTER -c -o alias.o alias.c (中略) install -c -o bin -g bin -m 444 vacation.0 /usr/man/man1/vacation.1 make[1]: Leaving directory `/usr/local/src/sendmail-8.12.11/obj.Linux.2.6.5-1.358.i686/vacation'
コンパイルが終了したらインストールします。
# ./Build install
無事にMILTERが組み込まれているか確認してみます。Compiled with: の中に MILTER があり、組み込めているのが確認できます。
# /usr/sbin/sendmail -d0.10 Version 8.13.1 Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6 NETUNIX NEWDB PIPELINING SASLv2 SCANF STARTTLS TCPWRAPPERS USERDB OS Defines: ADDRCONFIG_IS_BROKEN HASFCHOWN HASFCHMOD HASGETDTABLESIZE HASINITGROUPS HASLSTAT HASNICE HASRANDOM HASRRESVPORT HASSETREGID HASSETREUID HASSETRLIMIT HASSETSID HASSETVBUF HASURANDOMDEV HASSTRERROR HASUNAME HASUNSETENV HASWAITPID IDENTPROTO NEEDSGETIPNODE REQUIRES_DIR_FSYNC USE_DOUBLE_FORK USE_SIGLONGJMP Kernel symbols: /boot/vmlinux Conf file: /etc/mail/submit.cf (default for MSP) Conf file: /etc/mail/sendmail.cf (default for MTA) Pid file: /var/run/sendmail.pid (default) Canonical name: XXXXXXXXXXXXXXXXXXXXXXXXXXXX UUCP nodename: XXXXXXXXXXXXXXXXXXXXXXXXXXXX a.k.a.: XXXXXXXXX a.k.a.: localhost a.k.a.: localhost.localdomain a.k.a.: [127.0.0.1] Conf file: /etc/mail/submit.cf (selected) Pid file: /var/run/sm-client.pid (selected) ============ SYSTEM IDENTITY (after readcf) ============ (short domain name) $w = XXXXXX (canonical domain name) $j = XXXXXXXXXXXXXXXXXXXXXXXXXXX (subdomain name) $m = XXXXXXXXXXXXXXXX (node name) $k = XXXXXXXXXXXXXXXXXXXXXXXXXXXX ======================================================== Recipient names must be specified
次にspamass-milterを使用するためにcf ファイルを編集します。INPUT_MAIL_FILTER行が新たに追加する箇所です。
# cd /usr/local/src/sendmail-8.12.11/cf/cf/ # vi sendmail.mc
divert(0)dnl VERSIONID(`$Id: spamassassin01_02.jsp,v 1.20 2005/07/15 12:11:57 motomatu Exp $') OSTYPE(linux)dnl DOMAIN(generic)dnl FEATURE(`access_db', `hash -T<TMPF> /etc/mail/access')dnl FEATURE(`relay_mail_from')dnl INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass.sock,, F=, T=C:15m;S:4m;R:4m;E:10m') MAILER(local)dnl MAILER(smtp)dnl
以下のコマンドでsendmail.mc からsendmail.cfを生成します。
# ./Build sendmail.cf
できたsendmail.cfをインストールします。実際には以下のコマンドでsendmail.cfとsubmit.cfが/etc/mailディレクトリにコピーされます。
# ./Build install-cf
Mail-SpamAssassin
次にMail-SpamAssassinをインストール。rpmを使ってバイナリを直接インストールした模様。
# rpm -q spamassassin spamassassin-2.64-0vl2
次にspamass-milter をインストール。rspamass-milter を使用するにはspamass-milterに先立ってlibmilter.aをインストールする必要があります。/usr/local/src/ sendmail-8.12.11/下にlibmilterディレクトリがあるので移動してコンパイルします。
# cd ./libmilter/ # ./Build ?c
コンパイルが済んだらインストールします。
# ./Build install
2_3_3.spamass-milter
最後にspamass-milterをインストールします。インストールは./configure、make、make installの手順です。
# cd /usr/local/src/ # tar zxvf spamass-milter-0.2.0.tar.gz # cd spamass-milter-0.2.0 # ./configure # make # make install