iredmail是基于开源的postfix、dovecot、openldap、roundcube等软件,加上作者开发的安装包、配置文件、管理工具(都开源),可快速搭建一个支持SMTP、POP3、IMAP等协议。
1、全新安装的CentOS6或CentOS7系统,不要安装mysql、openldap、postfix、nginx等邮件系统相关组件,以免后续安装冲突
2、为服务器设置一个完整域名(FQDN)的主机名(就是主机名中含有至少一个点,如mx.a.com)
下文以ailab.dz域,邮件服务器为mail.ailab.dz为例:
输入命令 hostname -f 查看当前的主机名
[root@bgs-4p102-linan ~]# $ hostname -f bgs-4p102-linan.bfdabc.com
如果出现unknown host什么之类的,解决方案如下:
解决方案
修改 /etc/selinux/config 文件:
SELINUX=disabled
为避免重启系统:
setenforce 0
必须启用 /etc/yum.repos.d/CentOS-Base.repo 里定义的 CentOS yum 仓库。同时 禁用 所有第三方yum 仓库,以避免软件包冲突。
保证系统有wget,tar,bzip2,perl : yum install wget tar bzip2 perl
[root@bgs-4p102-linan ~]# tar -xf iRedMail-0.9.7.tar.bz2 [root@bgs-4p102-linan ~]# cd iRedMail-0.9.7
使用阿里云镜像加快安装:
[root@bgs-4p102-linan ~]# IREDMAIL_MIRROR='https://cnmirror.iredmail.org' SOGO_PKG_MIRROR='https://cnmirror.iredmail.org' IREDMAIL_EPEL_MIRROR='http://mirrors.aliyun.com/epel' bash iRedMail.sh #上面是一条指令
选Yes 回车继续
由/var/vmail改为/opt/vmail
选nginx
选OpenLDAP,
设置mysql的root密码,比如 baifendian
设置LDAP域,对于域ailab.dz,填写dc=ailab,dc=com,对于其他域,可以也可以选择自行修改。
输入第一个邮件域的名字,这里以ailab.dz为例
输入邮件管理员账户postmaster@ailab.dz的密码,比如baifendian
可选组件,需要Roundcubemail,Awstats,iRedAdmin,非公网不需要Fail2ban
一直按照要求进行安装
[root@bgs-4p102-linan iRedMail-0.9.7]# cat iRedMail.tips #里面是主要配置 runtime 目录是安装过程日志
systemctl enable nginx ;systemctl start nginx systemctl enable php-fpm;systemctl start php-fpm systemctl enable iredapd;systemctl start iredapd # 这个脚本有些问题,不行可以用/usr/bin/setsid /usr/bin/python /opt/iredapd/iredapd.py 启动,如果这样需要加到/etc/rc.local并chmod +x /etc/rc.local python执行安装的时候,可能会报缺少某些模块,只要pip install 这些模块就ok了。
systemctl enable postfix;systemctl start postfix systemctl enable dovecot;systemctl start dovecot systemctl enable dovecot;systemctl start dovecot systemctl enable spamassassin;systemctl start spamassassin systemctl enable uwsgi;systemctl start uwsgi systemctl enable mysqld;systemctl start mysqld systemctl enable postfix;systemctl start postfix
WebMail: http://mail.ailab.dz 用户名 postmaster@ailab.dz 密码baifendian
这时候可能会报错,说数据库没有权限等问题。
解决方案:在上面我们说到的一个文件中有一些配置资料。我们可以进去看有哪些数据库,哪些用户,需要设置什么密码,然后再授权。
这个时候我们再访问看看,发现成功了。
注意:由于这是第一次部署,所以页面用的是第二次部署后的地址。所以用户密码都是和第一次不一样。不过大体过程是一样的。