该文档适用于centos7系列,其它操作系统不适合。
首先是版本一定要选对,最新版本根本无法安装,我这里用1.06
一般第一次安装没有成功的,但是官方文档里说要给干净的环境,如果没有条件重装的话可以先试试下面的卸载命令
systemctl stop nginx php-fpm mysqld postfix dovecot amavisd
yum remove amavis clamd iptables-services ewomail-lamp php-fpm mysqld postfix dovecot amavisd-new clamav*
rm -rf /etc/ssl/private/dovecot.pem
rm -rf /etc/ssl/certs/dovecot.pem
rm -rf /ewomail
rm -rf /etc/amavisd
rm -rf /var/spool/mail/amavis
rm -rf /var/lib/dovecot
rm -rf /var/spool/mail/dovecot
rm -rf /etc/pki/dovecot
rm -rf /etc/dovecot
rm -rf /var/lib/postfix
rm -rf /var/spool/postfix
rm -rf /etc/postfix
rm -rf /usr/libexec/postfix
rm -rf /etc/amavisd.conf
执行bash delete.sh然后在查看/etc/passwd看看是否删除干净,正常1000以后的用户除了sysadm都得删除
没删干净就重启系统,用户和组一定要删干净要不安装一定失败
delete.sh如下:
#!/bin/bash# Define an array of users and groups to be deleted
USERS=("secadm" "audadm" "itmuser" "apache" "sfrzyw" "sfrzkf" "sfrzshj" "www" "mysql" "dovenull" "dovecot" "amavis" "vmail" "postgres" "vmsec" "nscd" "clamupdate" "clam" "amavis" "clamscan")
GROUPS=("secadm" "audadm" "itmuser" "apache" "sfrzyw" "sfrzkf" "sfrzshj" "www" "mysql" "dovenull" "dovecot" "amavis" "vmail" "postgres" "vmsec" "nscd" "clamupdate" "clam" "amavis" "clamscan")# Delete users
for USER in "${USERS[@]}"
do# Check if the user exists before attempting to deleteid "$USER" &>/dev/nullif [ $? -eq 0 ]; thenuserdel "$USER"echo "Deleted user: $USER"elseecho "User $USER does not exist"fi
done# Delete groups
for GROUP in "${GROUPS[@]}"
do# Check if the group exists before attempting to deletegrep -q "^$GROUP:" /etc/groupif [ $? -eq 0 ]; thengroupdel "$GROUP"echo "Deleted group: $GROUP"elseecho "Group $GROUP does not exist"fi
done
本人亲测好使,下面开始安装
1、增加yumewo的yum源,这里的yumewo里面要放amavisd-new-2.11.1-1.el7.noarch.rpm这个包及其依赖,自己去网上找就行,这里说一下为什么要单独安装这个,因为不单独安装的话按照脚本里面自动安装必报错
#[ustc]
#name = USTC
#baseurl = http://mirrors.ustc.edu.cn/centos/7/os/x86_64/
#gpgcheck = 1
#gpgkey = http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-7
#priority = 1[local]
name=Local Repository
baseurl=file:///home/sysadm/yumewo
enabled=1
gpgcheck=0
priority = 90
2、修改hosts解析,如果邮件服务器和负责发邮件的脚本是放在一台机器上的话最好配置一下域名解析
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 mail.petro-china.com.cn petro-china.com.cn smtp.petro-china.com.cn imap.petro-china.com.cn
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3、安装amavis,执行amavis.sh这个脚本,脚本如下:
#!/bin/bash
cur_dir=`pwd`
centos7=true
amavis_install(){if [ $centos7 = true ] ; thenyum -y install amavisd-new clamav-server clamav-server-systemd iptables-servicescp -rf $cur_dir/config/clamav/clamd.amavisd /etc/sysconfigcp -rf $cur_dir/config/clamav/clamd.amavisd.conf /etc/tmpfiles.dcp -rf $cur_dir/config/clamav/clamd@.service /usr/lib/systemd/systemelseyum -y install amavisd-newchmod -R 770 /var/spool/amavisd/tmpusermod -G amavis clamln -s /etc/amavisd/amavisd.conf /etcmv /etc/clamd.conf /etc/clamd.conf.backupcp -rf /etc/clamd.d/amavisd.conf /etc/clamd.conffi}
amavis_install
这里一定要注意,如果提前安装了这个在脚本里就不要再次安装了,所以我们要把start.sh里面的amavis_install部分注释掉
3、修改yum源
[ustc]
name = USTC
baseurl = http://mirrors.ustc.edu.cn/centos/7/os/x86_64/
gpgcheck = 1
gpgkey = http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-7
priority = 1#[local]
#name=Local Repository
#baseurl=file:///home/sysadm/yumewo
#enabled=1
#gpgcheck=0
#priority = 90
4、执行start.sh 域名
一定要仔细观察这个步骤有没有执行失败的情况
之后执行start.sh ewomail.cn 里面的脚本我改了把amavis_install注释掉了
这个start.sh执行的过程中一定要到执行病毒库更新那步才算执行成功,正常病毒库更新会失败,这个不影响运行。
默认密码admin ewomail123
查postfix dovecot amavisd-new这些服务,看是否运行正常
5、修改配置文件
修改 vim /etc/postfix/master.cf
添加-o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
在20行
然后重启postfix
6、多邮箱支持
修改/etc/amavisd/amavisd.conf
添加一行dkim_key,里面填你自己的域名即可
systemctl restart amavisd