歡迎您光臨本站 註冊首頁

Fedora 7下搭建基於Postfix的Extmail郵件伺服器

←手機掃碼閱讀     火星人 @ 2014-03-29 , reply:0

安裝環境:Fedora 7
說明:apache,php,mysql,為fedora7自帶的,就是說我裝系統的時候,就選擇上了(在安裝fedora7的時候,開發工具要全部安裝),cyrus-sasl, postfix,courier-authlib,maildrop,courier-imap 是通過源碼編譯的,寫這個的目的就是,複製內容,照著一步步的做下去就能配置出來一個成功的可視化管理的mail伺服器。
如果是rpm方式安裝的Msqyl, include及lib目錄的位置
/usr/include/mysql 、 /usr/lib/mysql
如果是編譯的,位於你指定的目錄下,如果編譯mysql指定目錄為/usr/local/mysql則位於
/usr/local/mysql/include/mysql /usr/local/mysql/lib/mysql
如果你的apache, php, mysql是fedora7自帶的,就是說不是你自己編譯的,以下的代碼可以複製粘貼
命令 文件內容
# yum install mysql-devel
==courier-authlib==安裝配置配置courier-authlib
==courier-authlib=下載地址
http://sourceforge.net/project/showfiles.php?group_id=5404
文件名:courier-authlib-0.60.2.tar.bz2
# yum install gdbm-*
==courier-authlib==進入解壓目錄編譯
#./configure
--with-redhat
--with-authmysql=yes
--with-mysql-libs=/usr/local/mysql/lib/mysql
--with-mysql-includes=/usr/local/mysql/include/mysql
--prefix=/usr/local/courier-authlib
--without-stdheaderdir

#make
#make install
#make install-configure

編輯#vi /etc/ld.so.conf
加入/usr/local/courier-authlib/lib/courier-authlib
# ldconfig
備註:如果沒有運行ldconfig,按裝完maildrop,運行maildrop -v時會出現錯誤(maildrop:error while loading shared libraries: libcourierauth.so.0)

# vi /etc/rc.d/rc.local
/usr/local/courier-authlib/sbin/authdaemond start //增加該行
修改目錄許可權,如果該目錄許可權不正確修改,maildrop及postfix等將無法正確獲取用戶的信息及密碼認證:
#chmod 755 /usr/local/courier-authlib/var/spool/authdaemon
然後編輯/usr/local/courier-authlib/etc/authlib/authmysqlrc
# vi /usr/local/courier-authlib/etc/authlib/authmysqlrc
清空原內容加入

MYSQL_SERVER localhost
MYSQL_USERNAME extmail
MYSQL_PASSWORD extmail
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_PORT 3306
MYSQL_OPT 0
MYSQL_DATABASE extmail
MYSQL_USER_TABLE mailbox
MYSQL_CRYPT_PWFIELD password
MYSQL_UID_FIELD uidnumber
MYSQL_GID_FIELD gidnumber
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD homedir
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD maildir
MYSQL_QUOTA_FIELD quota
MYSQL_SELECT_CLAUSE SELECT username,password,"",uidnumber,gidnumber,\
CONCAT('/home/domains/',homedir), \
CONCAT('/home/domains/',maildir), \
quota, \
name \
FROM mailbox \
WHERE username = '$(local_part)@$(domain)'
啟動服務
# /usr/local/courier-authlib/sbin/authdaemond start

=cyrus-sasl=安裝配置cyrus-sasl
=cyrus-sasl=下載地址:ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/
=cryus-sasl=文件名:cyrus-sasl-2.1.22.tar.gz
#rpm -qa|grep cyrus-sasl把查找出來的包都刪除了
#rpm -e --nodeps 包名
#rm -rf /usr/lib/sasl
#rm -rf /usr/lib/sasl2
=cyrus-sasl=進入解壓目錄編譯:
#./configure \
--enable-plain \
--enable-cram \
--enable-digest \
--enable-login \
--enable-sql \
--disable-anon \
--disable-ntlm \
--disable-gssapi \
--disable-krb4 \
--disable-otp \
--disable-srp \
--disable-srp-setpass \
--with-authdaemond=/usr/local/courier-authlib/var/spool/authdaemon/socket \
--with-mysql
--with-mysql-libs=/usr/local/mysql/lib/mysql
--with-mysql-includes=/usr/local/mysql/include/mysql

#make
#make install
#ln -s /usr/local/lib/sasl2 /usr/lib/sasl2
#vi /etc/ld.so.conf
/usr/local/lib //增加該行
# ldconfig
# vi /usr/local/lib/sasl2/smtpd.conf
加入以下四行
pwcheck_method: authdaemond
log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket

==postfix==安裝配置postfix
==postfix==下載地址:http://www.postfix.org/download.html
==postfix==文件名:postfix-2.4.6.tar.gz
==postfix==進入解壓目錄編譯:
# yum install db*-devel*
# make tidy
# groupadd postfix -g 54321 //如果原來系統中有該用戶則不需要再建
# groupadd postdrop
# useradd -s /bin/false -u 54321 -g postfix -G postdrop postfix
==postfix==備註,我的mysql是rpm包裝的,如果是你自己源碼編譯的,下邊mysql路徑會有變化
#make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_CYRUS_SASL -DUSE_SASL_AUTH -I/usr/local/include/sasl' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lm -lz -L/usr/local/lib -lsasl2'
#make
#make install
#mv /etc/aliases /etc/aliases.old
#ln -s /etc/postfix/aliases /etc/aliases
#echo 'root: admin@example.com'>>/etc/postfix/aliases
#/usr/bin/newaliases
#postconf -n > /etc/postfix/main2.cf
#mv /etc/postfix/main.cf /etc/postfix/main.cf.old
#mv /etc/postfix/main2.cf /etc/postfix/main.cf
# vi /etc/postfix/main.cf
==postfix==main.cf加入以下內容
# hostname
mynetworks = 127.0.0.1
myhostname = mail.extmail.org
mydomain = extmai.com
myorigin = $mydomain
mydestination = $mynetworks $myhostname

# banner
mail_name = Postfix - by extmail.org
smtpd_banner = $myhostname ESMTP $mail_name

# response immediately
smtpd_error_sleep_time = 0s
unknown_local_recipient_reject_code = 450

# extmail config here
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_transport = maildrop:

==postfix==main.cf內容結束
==postfix==以下幾個文件可以通過
#cp /var/www/html/extsuite/extman/docs/mysql_* /etc/postfix/得到
需要將extman包解壓,見下文『配置extmail&extman』 自己創建也可
==postfix==編輯mysql_virtual_alias_maps.cf
#vi /etc/postfix/mysql_virtual_alias_maps.cf
內容如下:
user = extmail
password = extmail
hosts = localhost
dbname = extmail
table = alias
select_field = goto
where_field = address

==postfix==編輯mysql_virtual_domains_maps.cf
#vi /etc/postfix/mysql_virtual_domains_maps.cf
內容如下:
user = extmail
password = extmail
hosts = localhost
dbname = extmail
table = domain
select_field = description
where_field = domain
#additional_conditions = and backupmx ='0' and active ='1'

==postfix==編輯mysql_virtual_mailbox_maps.cf
#vi /etc/postfix/mysql_virtual_mailbox_maps.cf
內容如下:
user = extmail
password = extmail
hosts = localhost
dbname = extmail
table = mailbox
select_field = maildir
where_field = username
#additional_conditions = and active = '1'


==postfix==SMTP認證需要透過Cyrus-SASL,連接到authdaemon獲取認證信息,編輯/etc/postfix/main.cf,增加如下內容:
# vi /etc/postfix/main.cf
# smtpd related config
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unauth_destination,
reject_unauth_pipelining,
reject_invalid_hostname,

# SMTP AUTH config here
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous


==maildrop==安裝配置maildrop
==maildrop==下載地址:
http://sourceforge.net/project/showfiles.php?group_id=5404
==maildrop==文件名:maildrop-2.0.4.tar.bz2
#yum install pcre-*
#ln -s /usr/local/courier-authlib/bin/courierauthconfig /usr/bin/courierauthconfig
==maildrop==這樣編譯出來的maildrop才會ourier Authentication Library extension enabled.
# groupadd -g 1000 vgroup
# useradd -g 1000 -u 1000 -s /bin/false vuser
==maildrop==編譯:
# ./configure \
--enable-sendmail=/usr/sbin/sendmail \
--enable-trusted-users='root vuser' \
--enable-syslog=1 \
--enable-maildirquota \
--enable-maildrop-uid=1000 \
--enable-maildrop-gid=1000 \
--with-trashquota \
--with-dirsync

# make
# make install
# maildrop -v //檢查信息,如果有courier-authlib則表示安裝成功


==maildrop==配置main.cf和master.cf使postfix調用maildrop
由於maildrop不支持一次接收多個收件人,因此必須在main.cf里增加如下參數:
#vi /etc/postfix/main.cf
加入
maildrop_destination_recipient_limit = 1
為了使Postfix支持Maildrop,必須修改/etc/postfix/master.cf文件,註釋掉原來的maildrop的配置內容,並改為:
#vi /etc/postfix/master.cf
把maildrop unix - n n - - pipe
#flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}這行註釋
改為flags=DRhu user=vuser argv=/usr/local/bin/maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user} ${extension} {nexthop}

此處要注意argv=後邊的maildrop要加上路徑,否則會出現
temporary failure. Command output: pipe: fatal: pipe_command: execvp maildrop: No such file or directory
注意maildrop unix這行前邊不能有空格,要不會出現以下錯誤提示
warning: connect to transport maildrop: No such file or directory
Oct 31 23:21:24 localhost postfix/error[2235]: BE0AE27DAF6: to=<jjq002@abc.com>,relay=none,delay=1443,delays=1443/0.24/0/0.02,dsn=4.3.0, status=deferred (mail transport unavailable)
注意flags=Drhu這一行前邊有兩個空格,要不會出現以下錯(fatal: /etc/postfix/master.cf: line 100: bad transport type: user=vuser)。
虛擬主機設置
在/etc/httpd/conf/httpd.conf中,註解掉
#AddDefaultCharset UTF-8
在最後一行加上:
NameVirtualHost *:80
Include conf/vhost_*.conf

編輯/etc/httpd/conf/vhost_extmail.conf,裡面定義虛擬主機的相關內容包括主目錄,以及ExtMail和ExtMan的相關配置,Suexec的設置等。

# VirtualHost for ExtMail Solution

ServerName www.abc.com
DocumentRoot /var/www/html/extsuite/extmail/html/

ScriptAlias /extmail/cgi/ /var/www/html/extsuite/extmail/cgi/
Alias /extmail/ /var/www/html/extsuite/extmail/html/

ScriptAlias /extman/cgi/ /var/www/html/extsuite/extman/cgi/
Alias /extman/ /var/www/html/extsuite/extman/html/

# Suexec config
SuexecUserGroup vuser vgroup

保存,重啟apache
出現Warning: DocumentRoot [/var/www/html/extsuite/extmail/html/] does not exist
不必理會,下邊馬上會配置
========================
配置extmail,extman
下載地址:http://www.extmail.org/cgi-bin/download.cgi
文件名:extmail-1.0.2.tar.gz extman-0.2.2.tar.gz 下載並解壓
配置過程:
#mkdir -p /var/www/html/extsuite
=====針對ExtMailcyrus-sasl-2.1.22.tar.gz
#cp -r extmail-1.0.2 /var/www/html/extsuite/extmail
#cd /var/www/html/extsuite/extmail/
#cp webmail.cf.default webmail.cf
編輯webmail.cf #vi /var/www/html/extsuite/extmail/webmail.cf
把/var/www/extsuite/替換為/var/www/html/extsuite/
其它變動如下:
SYS_USER_LANG = zh_CN
SYS_USER_CHARSET = gb2312

SYS_MFILTER_ON = 1
SYS_NETDISK_ON = 1

SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_DB = extmail

SYS_G_ABOOK_TYPE = file
SYS_G_ABOOK_FILE_CHARSET = gb2312

更新cgi目錄許可權
由於SuEXEC的需要,必須將extmail的cgi目錄修改成vuser:vgroup許可權:
#chown -R vuser:vgroup /var/www/html/extsuite/extmail/cgi/

====針對ExtMab
#cp -r extman-0.2.2 /var/www/html/extsuite/extman
#cd /var/www/html/extsuite/extman
編輯webman.cf
把/var/www/extsuite/替換為/var/www/html/extsuite/
其它配置
SYS_CHARSET = gb2312
SYS_LANG = zh_CN

更新cgi目錄許可權
由於SuEXEC的需要,必須將extman的cgi目錄修改成vuser:vgroup許可權:
#chown -R vuser:vgroup /var/www/html/extsuite/extman/cgi/

====資料庫初始化,need to edit extmail.sql and init.sql to suit you website,and the init user , passwd are in this tow file
#mysql -u root -p < /var/www/html/extsuite/extman/docs/extmail.sql //創建資料庫
#Enter password:
# mysql -u root -p < /var/www/html/extsuite/extman/docs/init.sql //插入一些默認值
#Enter password:

=======鏈接基本庫到Extmail
由於ExtMan的體系與ExtMail比較類似,因此ExtMan需要使用ExtMail中幾個基礎perl 模塊,在
extman的源碼包里,包含了一個叫buildpkg.sh(可能以前版 本為buildlink.sh) 的小腳本,該腳
本完成了這些鏈接的工作,使用方法:
#cd /var/www/html/extsuite/extman/libs/Ext
#./buildpkg.sh build /var/www/html/extsuite/extmail/libs/Ext
#mkdir /tmp/extman
#chown -R vuser:vgroup /tmp/extman
======資料庫中默認插入的測試郵箱時postmaster@extmail.org為其建立 maildir
#cd /var/www/html/extsuite/extman/tools/
#./maildirmake.pl /home/domains/extmail.org/postmaster/Maildir
#chown -R vuser:vgroup /home/domains
=======[mailtest.com是我自己建立的URL]通過
http://www. mailtest.com/exmail/訪問郵件登陸頁面。會出現
Unix::Syslog not found, please install it first! 需要按裝:perl-Unix-Syslog
下載地址:
http://rpm.pbone.net/index.php3/ ... 9.el5.i386.rpm.html
文件名: perl-Unix-Syslog-0.100-9.el5.i386.rpm

=====通過http://www.cloudrainwind.com/extman訪問後台管理面,會看不到驗證碼,需要按裝perl-GD
下載地址:http://dries.ulyssis.org/rpm/packages/perl-GD/info.html
或:http://apt.sw.be/packages/perl-GD/
文件名:perl-GD-2.30-2.2.el5.rf.i386.rpm
整體測試:
# echo "test"|maildrop -V 10 -d postmaster@extmail.org
//出現maildrop: Delivery complete.說明已經正常投遞
配置courier-imap
下載地址:http://sourceforge.net/project/showfiles.php?group_id=5404
文件名: courier-imap-4.2.1.tar.bz2
編譯:
# ./configure --prefix=/usr/local/courier-imap \
--with-redhat \
--enable-unicode \
--disable-root-check \
--with-trashquota \
--without-ipv6 COURIERAUTHCONFIG='/usr/local/courier-authlib/bin/courierauthconfig'

# make
# make install
然後
#cp /usr/local/courier-imap/etc/imapd.dist /usr/local/courier-

imap/etc/imapd
#cp
/usr/local/courier-imap/etc/imapd-ssl.dist /usr/local/courier-imap/etc/imapd-ssl
#cp /usr/local/courier-imap/etc/pop3d.dist /usr/local/courier-imap/etc/pop3d
#cp
/usr/local/courier-imap/etc/pop3d-ssl.dist /usr/local/courier-imap/etc/pop3d-ssl
配置Courier-IMAP,為用戶提供pop3服務:
#vi /usr/local/courier-imap/etc/pop3d
POP3DSTART=yes
註:如果你想為用戶提供IMAP服務,可以在"/usr/local/courier-imap/etc/imapd"文件中設

置"IMAPDSTART=YES"。
#cp courier-imap.sysvinit /etc/rc.d/init.d/imapd
#chmod 755 /etc/rc.d/init.d/imapd
#chkconfig --add imapd

==mailgraph_ext==配置,需要的包及下載地址:
下載地址:
http://rpm.pbone.net/index.php3/ ... 3.el5.i386.rpm.html
文件名:rrdtool-1.2.23-3.el5.i386.rpm
下載地址:
http://rpm.pbone.net/index.php3/ ... l5.rf.i386.rpm.html
文件名:perl-rrdtool-1.2.23-1.el5.rf.i386.rpm
#rpm ?ivh 安裝上以上兩個rpm包
按裝:File::Tail及Time::HiRes
# yum install perl-CPAN
#perl -MCPAN -e shell
#cpan>install File::Tail
#cpan>install Time::HiRes
#cpan>quit
必要的包裝好后,配置mailgraph_ext
#cp -r
/var/www/html/extsuite/extman/addon/mailgraph_ext/ /usr/local/mailgraph_ext/
# /usr/local/mailgraph_ext/mailgraph-init start
# /usr/local/mailgraph_ext/qmonitor-init start
為了一開機就能自動執行上述進程,將上述命令加到rc.local 裡面:
#echo "/usr/local/mailgraph_ext/mailgraph-init start" >> /etc/rc.d/rc.local
#echo "/usr/local/mailgraph_ext/qmonitor-init start" >> /etc/rc.d/rc.local


到這裡郵件系統就可以運行了,下邊的部分可以選擇配置以下給postfix郵件系統加上防病毒和防垃圾郵件

系統。
==amavisd==安裝配置
下載地址:http://mirror.mainloop.se/amavisd/#download
文件名:amavisd-new-2.5.2.tar.gz
==amavisd==安裝所需要的文件,實際這些文件名在amavised解壓后的INSTALL里有列表
#perl -MCPAN -e shell
cpan>install Archive::Tar
cpan>install Archive::Zip
cpan>install Compress::Zlib
cpan>install Convert::UUlib
cpan>install MIME::Base64
cpan>install Mail::Internet
cpan>install Net::Server
cpan>install Net::SMTP
cpan>install Digest::MD5
cpan>install IO::Stringy
cpan>install Time::HiRes
cpan>install Unix::Syslog
cpan>install BerkeleyDB
cpan>install Convert::TNEF
cpan>install MIME::Parser
cpan>install MIME::Tools
=amavisd==配置,INSTALL中有詳細的安裝說明
==amavisd==進入解壓目錄
添加用戶:
# groupadd amavis
# useradd -g amavis -s /bin/false -c "Clam AntiVirus" amavis
建立目錄
# mkdir /var/amavis
# mkdir /var/amavis/tmp /var/amavis/var /var/amavis/db /var/amavis/home
# chown -R amavis:amavis /var/amavis
# chmod -R 750 /var/amavis
複製amavisd文件
# cp amavisd /usr/local/sbin/
# chown root /usr/local/sbin/amavisd
# chmod 755 /usr/local/sbin/amavisd
複製amavisd.conf
# cp amavisd.conf /etc/
# chown root /etc/amavisd.conf
# chmod 644 /etc/amavisd.conf
建立quarantine area
#mkdir /var/virusmails
#chown amavis:amavis /var/virusmails
#chmod 750 /var/virusmails
此目錄下是放標記為病毒或垃圾的郵件

# vi /etc/amavisd.conf
修改amavisd.conf

$max_servers = 10; # num of pre-forked children (2..15 is common), -m
$daemon_user = 'amavis'; # (no default; customary: vscan or amavis), -u
$daemon_group = 'amavis'; # (no default; customary: vscan or amavis), -g

$MYHOME = '/var/amavis';
$TEMPBASE = "$MYHOME/tmp";
$db_home = "$MYHOME/db";

$sa_spam_subject_tag = '[SPAM] ';
$mydomain = 'mail.extmail.org';
$myhostname = 'mail.extmail.org';
@local_domains_maps = qw(.);
$sa_tag2_level_deflt = 5.0;
$sa_kill_level_deflt = 5.0;

增加 三行:
$sa_spam_modifies_subj = 0; # don't modify subject
$remove_existing_x_scanned_headers= 1; # remove existing headers
$remove_existing_spam_headers = 1;


# cp amavisd_init.sh /etc/init.d/amavisd
# chmod 744 /etc/init.d/amavisd
# vi /etc/init.d/amavisd
prog="/usr/local/sbin/amavisd"
# chkconfig --add amavisd
# chkconfig amavisd on
# service amavisd restart
會有錯誤提示,暫不用理會
而且此時從其它郵件伺服器給剛配置的郵件伺服器發郵件會提示
(connect to 127.0.0.1[127.0.0.1]: Connection refused
只需要配置好spamassassin后,重啟amavisd

配置Postfix 集成amavisd-new
編輯/etc/postfix/master.cf
增加如下內容:

127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o receive_override_options=
編輯/etc/postfix/main.cf
增加如下內容
#Content-Filter
content_filter = smtp:[127.0.0.1]:10024
receive_override_options = no_address_mappings

==SpamAssassin==安裝配置安裝
==SpamAssassin==安裝相關的包
方法一:
下載地址:http://spamassassin.apache.org/
文件名:Mail-SpamAssassin-3.2.3.tar.gz
進入解壓目錄:
# perl Makefile.PL
# make
# make install
方法二:
perl -MCPAN -e shell
cpan>install Digest::SHA1
cpan>install HTML::Parser
cpan>install Net::DNS
cpan>install Mail::SPF::Query
cpan>install IP::Country
cpan>install Net::Ident
cpan>install IO::Socket::INET6
cpan>install IO::Socket::SSL
cpan>install DBI
cpan>install LWP::UserAgent
cpan>install Mail::SpamAssassin
用上述兩種方法之一按spamassassin即可
修改配置文件/etc/mail/spamassassin/local.cf文件
# How many hits before a message is considered spam.
required_hits 9.5

# Text to prepend to subject if rewrite_subject is used
rewrite_header Subject *****垃圾郵件*****

# Encapsulate spam in an attachment
report_safe 1

# Enable the Bayes system
use_bayes 1

# Enable Bayes auto-learning
bayes_auto_learn 1

# Enable or disable network checks
skip_rbl_checks 1
use_razor2 0
use_dcc 0
use_pyzor 0

# Mail using languages used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_languages all

# Mail using locales used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_locales all

=========local.cf內容結束處

增加Chinese_rules.cf支持
Chinese_rules.cf是教育科研網的反垃圾郵件小組對大量垃圾郵件和正常郵件進行分析后得出的一

個關鍵字/分數規則集,用於處理中文(簡體)垃圾郵件還是比較有效的。這裡我們通過如下命令

增加到系統:
#wget -N -P
/usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf
由於該規則每周更新一次,為了達到最好效果,最好在crontab里增加自動更新的內容,輸入:
#/usr/bin/crontab -e
然後輸入如下的內容:
0 0 1 * * wget -N -P /usr/share/spamassassin

www.ccert.edu.cn/spam/sa/Chinese_rules.cf; /etc/init.d/amavisd restart


==clamav==安裝配置
下載地址:http://www.clamav.org/download/sources/
文件名:clamav-0.91.2.tar.gz
進入解壓目錄
#groupadd clamav
#useradd -g clamav -s /bin/false -d /dev/null clamav

#./configure --prefix=/usr/local/clamav --with-dbdir=/usr/local/share/clamav
#make
#make check
#make install

#vi /usr/local/clamav/etc/clamd.conf

LogSyslog yes
LogVerbose yes
LogFacility LOG_MAIL
LogFile /var/log/clamav/clamd.log
PidFile /var/run/clamav/clamd.pid
DatabaseDirectory /usr/local/share/clamav
LocalSocket /var/run/clamav/clamd
StreamMaxLength 10M
User amavis
ScanMail yes
ScanArchive yes

#vi /usr/local/clamav/etc/freshclam.conf
DatabaseDirectory /usr/local/share/clamav
UpdateLogFile /var/log/clamav/freshclam.log
LogSyslog yes
LogVerbose yes
DatabaseOwner amavis
Checks 12
DatabaseMirror db.CN.clamav.net
DatabaseMirror database.clamav.net
NotifyClamd /usr/local/clamav/etc/clamd.conf

注意:註釋掉兩個文件中Example那行

創建日誌文件夾並設置許可權
#mkdir /var/log/clamav
#chmod -R 744 /var/log/clamav
#chown -R amavis:amavis /var/log/clamav
#chown -R amavis:amavis /usr/local/share/clamav

#mkdir /var/run/clamav
#chmod 700 /var/run/clamav
#chown amavis.amavis /var/run/clamav

手動更新病毒庫
#/usr/local/clamav/bin/freshclam


啟動
# /usr/local/clamav/sbin/clamd
編輯/etc/rc.local加入
/usr/local/clamav/sbin/clamd

設置自動更新病毒庫
#crontab -e
0 4 * * * root /usr/local/clamav/bin/freshclam --quiet -l

/var/log/clamav/clamd.log

配置Amavisd與Clamav結合
為了使Amavisd-new能與clamav結合,需要修改/etc/amavisd.conf文件,打開clamav的支持代碼,
編輯 /etc/amavisd.conf文件,大概在300行左右,去掉clamav的支持代碼註釋,並將socket路徑改為

/var/run/clamav/clamd.sock,如下:
['ClamAV-clamd',
\&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd"],
qr/\bOK$/, qr/\bFOUND$/,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],

在110行左右,修改投遞/攔截的方法:

$final_virus_destiny = D_DISCARD;
$final_banned_destiny = D_BOUNCE;
$final_spam_destiny = D_PASS;
$final_bad_header_destiny = D_PASS;

注意上述4個設置中,對spam(垃圾郵件)默認會直接反彈(BOUNCE),現在修改為繼續投遞(PASS)但在

信頭中增加相關X-Spam- Status信息等。這樣可以很方便的在extmail中設置將被標記為垃圾郵件的mail投

遞到「垃圾郵件箱」中,便於用戶翻查。

[火星人 ] Fedora 7下搭建基於Postfix的Extmail郵件伺服器已經有709次圍觀

http://coctec.com/docs/linux/show-post-202254.html