以前postfix要外掛spamassass或是clamav都要透過procmail或是MailScanner.
這陣子建置新的mail server才知道postfix已經支援milter,可以直接讓postfix連結有支援milter的軟體.
Postifx & ClamAV via milter (postfix的安裝就不多贅言了,請參考前文)
1. cd /usr/ports/security/clamav
2. make install clean
3. 如果之前沒裝過clamav,應該會出現options選單,請把 [X] MILTER 這[X] MILTER 這項勾選起來.
4. 裝好後在/usr/local/etc下會有clamd.conf (或clamd.conf.default, 請用cp或是mv把default去掉)
5. 修改clamd.conf
1. + LogFile /var/log/clamav/clamd.log
2. + PidFile /var/run/clamav/clamd.pid
3. ! User postfix
6. 修改/usr/local/etc/rc.d/clamav-milter
1. ! : ${clamav_milter_socket_mode="777"}
2. ! : ${clamav_milter_socket_user="postfix"}
3. ! : ${clamav_milter_socket_group="postfix"}
4. clamav_milter_flags 看個人需求修改(或使用預設值),可用的flag請man clamav-milter
7. 修改/usr/local/etc/postfix/main.cf
1. + smtpd_milters = unix:/var/run/clamav/clmilter.sock
8. 修改/etc/rc.conf
1. + clamav_clamd_enable="YES"
2. + clamav_freshclam_enable="YES"
3. + clamav_milter_enable="YES"
9. 修改/etc/mail/sendmail.cf
1. cd /etc/mail ; make
2. 修改 {hostname}.mc
a. + INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m')
b. + define(`confINPUT_MAIL_FILTERS', `clmilter')
3. make
4. make install
5. make restart
10. 啟動clamd, clamav-milter, reload postfix
1. /usr/local/etc/rc.d/clamav-clamd start
2. /usr/local/etc/rc.d/clamav-milter start
3. /usr/local/etc/rc.d/postfix restart
11. 大功告成(part I)