postfix extmail 快速搭建

yum install -y httpd mysql-server mysql-devel postgresql-devel expect libtool-ltdl-devel gamin-devel pcre-devel
groupadd -g 1000 vgroup
useradd -g 1000 -u 1000 -M -s /bin/false vuser
service mysqld start
chkconfig mysqld on
cd /usr/local/src
rpmbuild -ta courier-authlib-0.63.0.tar.bz2
cd /usr/src/redhat/RPMS/i386/
rpm -ivh courier-authlib-0.63.0-1.i386.rpm courier-authlib-mysql-0.63.0-1.i386.rpm courier-authlib-devel-0.63.0-

1.i386.rpm
添加普通账号,并使用普通账号 给予普通账号/usr/src/redhat目录的读写权限,然后rpmbuild courier-imap
cd /usr/local/src
rpmbuild -ta courier-imap-4.6.0.tar.bz2
切换回root
cd /usr/src/redhat/RPMS/i386/
rpm -ivh courier-imap-4.6.0-1.i386.rpm
cd /usr/local/src
rpmbuild -ta maildrop-2.5.2.tar.bz2
cd /usr/src/redhat/RPMS/i386/
rpm -ivh maildrop-2.5.2-1.i386.rpm

cd /usr/local/src
rpm -qa | grep cyrus-sasl | xargs rpm -e --nodeps
rm -rf /usr/lib/sasl
rm -rf /usr/lib/sasl2
rpm -ivh cyrus-sasl-lib-2.1.22-8.i386.rpm cyrus-sasl-2.1.22-8.i386.rpm cyrus-sasl-devel-2.1.22-8.i386.rpm cyrus-sasl-

plain-2.1.22-8.i386.rpm
从emos包中提取出来的

/etc/init.d/sendmail stop
rpm -ivh postfix-2.5.1-1.mysql.sasl2.vda.rhel5.i386.rpm
rpm -e sendmail
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
增加如下内容
# hostname
mynetworks = 127.0.0.1
myhostname = mail.extmail.org
mydestination = $mynetworks $myhostname

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

# response immediately
smtpd_error_sleep_time = 0s

# Message and return code control
message_size_limit = 5242880
mailbox_size_limit = 5242880
show_user_unknown_table_name = no

# Queue lifetime control
bounce_queue_lifetime = 1d
maximal_queue_lifetime = 1d

配置Courier-Authlib
vi /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)'


vi /etc/authlib/authdaemonrc
authmodulelist="authmysql"
authmodulelistorig="authmysql"

启动courier-authlib
service courier-authlib start

chmod 755 /var/spool/authdaemon/

配置maildrop
vi /etc/postfix/master.cf
maildrop   unix        -       n        n        -        -        pipe
  flags=DRhu user=vuser argv=maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user} ${extension} {nexthop}

vi /etc/postfix/main.cf
添加
maildrop_destination_recipient_limit = 1

测试
maildrop -v

配置虚拟主机
vi /etc/httpd/conf/httpd.conf
在最后一行加上
NameVirtualHost *:80
Include conf/vhost_*.conf

vi /etc/httpd/conf/vhost_extmail.conf
定义虚拟主机的相关内容
# VirtualHost for ExtMail Solution
<VirtualHost *:80>
ServerName mail.extmail.org
DocumentRoot /var/www/extsuite/extmail/html/

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

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

# Suexec config
SuexecUserGroup vuser vgroup
</VirtualHost>

mkdir /var/www/extsuite

chkconfig httpd on

配置cyrus-sasl
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 sender login matching config
smtpd_sender_restrictions =
        permit_mynetworks,
        reject_sender_login_mismatch,
        reject_authenticated_sender_login_mismatch,
        reject_unauthenticated_sender_login_mismatch

smtpd_sender_login_maps =
        mysql:/etc/postfix/mysql_virtual_sender_maps.cf,
        mysql:/etc/postfix/mysql_virtual_alias_maps.cf
 
# SMTP AUTH config here
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous

编辑smtpd.conf文件
vi /usr/lib/sasl2/smtpd.conf
pwcheck_method: authdaemond
log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path:/var/spool/authdaemon/socket

配置Courier-imap
vi /usr/lib/courier-imap/etc/imapd
IMAPDSTART=NO

vi /usr/lib/courier-imap/etc/imapd-ssl
IMAPDSSLSTART=NO

service courier-imap start
chkconfig courier-imap on

安装配置extmail
处理extmail依赖关系
perl -MCPAN -e shell
Are you ready for manual configuration? [yes] no

vi /usr/lib/perl5/5.8.8/CPAN/Config.pm
'urllist' => [],
'urllist' => [q[http://mirrors.163.com/cpan/ ]] ,

rm -rf ~/.cpan

http://www.cpan.org/ 查找镜像

如要重新配置CPAN,可先进入CPAN,然后在CPAN命令行(即CPAN>)键入以下指令:

CPAN>o conf init

安装DBD::Mysql 数据库驱动
cpan DBD::mysql
安装Unix-Syslog
cpan Unix::Syslog

cd /usr/local/src
tar zxvf extmail-1.2.tar.gz
mv extmail-1.2 /var/www/extsuite/extmail
cd /var/www/extsuite/extmail/
创建webmail.cf文件
cp webmail.cf.default webmail.cf
vi webmail.cf
主要变动的内容见下
SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_DB = extmail
chown -R vuser:vgroup /var/www/extsuite/extmail/cgi/

安装配置extman
处理extman 依赖关系
cd /usr/local/src
tar jxvf gd-2.0.35.tar.bz2
cd gd-2.0.35
./configure
make
make install

yum install pango-devel -y
cpan GD
cpan Time::HiRes
cpan File::Tail
安装rrdtool
tar zxvf rrdtool-1.4.4.tar.gz
cd rrdtool-1.4.4
./configure --prefix=/usr/local/rrdtool --enable-perl-site-install=/usr/lib/perl5
make
make install

tar zxvf extman-1.1.tar.gz
mv extman-1.1 /var/www/extsuite/extman
cd /var/www/extsuite/extman
cp webman.cf.default webman.cf
chown -R vuser:vgroup /var/www/extsuite/extman/cgi/
mkdir /tmp/extman
chown -R vuser:vgroup /tmp/extman

cd docs/
vi init.sql
:%s/extmail.org/96090.com/g
/usr/local/mysql/bin/mysql -u root -p < extmail.sql
/usr/local/mysql/bin/mysql -u root -p < init.sql
配置postfix虚拟域
cp mysql_virtual_* /etc/postfix/
vi /etc/postfix/main.cf
增加以下内容
# 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:

配置extman图形日志
cd /var/www/extsuite/extman/addon/
cp -r mailgraph_ext /usr/local/

配置extman图形监控
cpan Time::HiRes
cpan File::Tail

/usr/local/mailgraph_ext/mailgraph-init start
echo "/usr/local/mailgraph_ext/mailgraph-init start" >> /etc/rc.d/rc.local

启动cmdserver(在后台显示系统信息)
/var/www/extsuite/extman/daemon/cmdserver --daemon
添加开机起动
echo "/var/www/extsuite/extman/daemon/cmdserver -v -d" >> /etc/rc.d/rc.local


安装MailScanner
tar zxvf MailScanner-4.83.4-1
cd MailScanner-4.83.4-1
./install.sh

安装Clam SA
tar zxvf install-Clam-SA-latest.tar.gz
cd install-Clam-0.96.5-SA-3.3.1/
./install.sh

配置MailScanner
vi /etc/MailScanner/MailScanner.conf
下面的注释掉并修改成对应的情况
%org-name% = yoursite
%org-long-name% = Your Organisation Name Here
%web-site% = www.your-organisation.com
Run As User =
Run As Group =
更改为:
Run As User = postfix
Run As Group = postfix
-----------------------------------------------------
Incoming Queue Dir = /var/spool/mqueue.in
Outgoing Queue Dir = /var/spool/mqueue
更改为:
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming

-----------------------------------------------------

MTA = sendmail
更改为:
MTA = postfix
----------------------------------------------------
Virus Scanners = none
更改为:
Virus Scanners = clamd
---------------------------------------------------
Always Include SpamAssassin Report = no
更改为:
Always Include SpamAssassin Report = yes
--------------------------------------------------
Use SpamAssassin = no
更改为:
Use SpamAssassin = yes
-------------------------------------------------
Required SpamAssassin Score = 6
更改为:
Required SpamAssassin Score = 4
--------------------------------------------------
SpamAssassin User State Dir =
更改为:
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin

-----------------------------------------------------------------
SpamAssassin Install Prefix =
更改为:
SpamAssassin Install Prefix = /usr/bin

--------------------------------------------------------------------
SpamAssassin Local Rules Dir =
更改为:
SpamAssassin Local Rules Dir = /etc/MailScanner

--------------------------------------------------------------------
Clamd Socket = /tmp/clamd.socket
Incoming Work Group = clamav
Incoming Work Permissions = 0640

更改incoming、quarantine两个目录相关用户和组的使用权限
chown -R postfix.postfix /var/spool/MailScanner/incoming
chown -R postfix.postfix /var/spool/MailScanner/quarantine
ln -s /usr/bin/freshclam /usr/local/bin/freshclam

mkdir /var/spool/MailScanner/spamassassin
chown -R postfix.clamav /var/spool/MailScanner/spamassassin

整合MailScanner into Postfix
vi /etc/postfix/main.cf
添加
header_checks = regexp:/etc/postfix/header_checks.
vi /etc/postfix/header_checks
添加
/^Received:/ HOLD

配置SpamAssassin
增加中文规则: 用于处理中文(简体)垃圾邮件

wget -N -P /etc/mail/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf

vi /etc/mail/spamassassin/local.cf
rewrite_header Subject *****SPAM*****


配置clamd
vi /usr/loca/etc/clamd.conf
LocalSocket /tmp/clamd.socket

vi /usr/local/etc/freshclam.conf
PidFile /var/run/freshclam.pid
DatabaseMirror db.CN.clamav.net

/usr/local/sbin/clamd start
/usr/local/bin/freshclam

chkconfig MailScanner on
service MailScanner start

用mailscanner发信自动带加上这个内容:
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean
取消这种设置方法:vi /etc/MailScanner/MailScaner.conf
Sign Clean Messages = yes
改成
Sign Clean Messages = no

修改提示信息文中文
拷贝cn文件夹到/etc/MailScanner/reports下
%report-dir% = /etc/MailScanner/reports/en
修改成
%report-dir% = /etc/MailScanner/reports/cn

 

http://linux.vbird.org/somepaper/20030905-mailscanner-conf.htm
http://wiki.extmail.org/extmail_solution_for_linux_centos-5
http://www.linuxmail.info/mailscanner-postfix-clamav-spamassassin-howto-centos-5/



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值