请输入图片描述

环境:CentOS release 6.10 (Final)

这个是一个干净的系统,为什么呢?因为安装iRedMail会自动安装web服务、MySQL、以及它所需要的一切环境,如果系统已经安装了,建议卸载,不然安装过程中会提示冲突,然后终止安装。

准备安装iRedMail

安装之前要更新一下系统安装包,不然后面安装可能会报错

yum update

修改服务器主机名(hostname)
这个操作是必须的,不然无法安装。这个操作需要修改两个地方,一个是/etc/hosts文件一个是/etc/sysconfig/network

vim /etc/hosts

如下图,将localhost替换为域名,我这里使用的域名是mailer.regskynet.com
请输入图片描述
继续修改另一处

vim /etc/sysconfig/network

如下图,修改HOSTNAME的值为上面说的那个域名
请输入图片描述
修改/etc/sysconfig/network后需要重启系统才会生效,先reboot重启系统,然后查看一下结果

hostname -f

如同下图,可以看到已经修改过来了
请输入图片描述

禁用SELinux
iRedMail不支持SELinux,所以需要在/etc/selinux/config文件里禁用它,将SELINUX参数改为disabled即可

vim /etc/selinux/config

请输入图片描述

下载iRedMail并解压

cd /var/www/html
wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.7.tar.bz2
tar xjf iRedMail-0.9.7.tar.bz2
cd iRedMail-0.9.7

文件内的域名解析在国内被墙,所以无法正常下载安装包。如果你的服务器是国内的,那么需要根据官方提供的中国用户安装命令来操作

IREDMAIL_MIRROR='https://cnmirror.iredmail.org'
SOGO_PKG_MIRROR='https://cnmirror.iredmail.org'
IREDMAIL_EPEL_MIRROR='http://mirrors.aliyun.com/epel'

开始安装iRedMail

bash iRedMail.sh

第一个界面是欢迎和感谢使用的界面
请输入图片描述
指定用于存储用户邮箱的路径。使用默认路径即可,默认是/var/vmail,我这里没有修改直接下一步
请输入图片描述
选择用于存储邮件账号的数据库,默认的是第一选项,我这里使用的是MySQL,如下图需要将选项移动到第二项MySQL上然后选中回车
请输入图片描述
然后根据提示会提示输入数据库密码、域名、邮箱管理员密码等就不一一截图了,接着会需要选择安装那些组件,默认就好,当然了也可以全部选上
请输入图片描述
确认刚才的选择,选择y开始安装,下面等待安装完成,中间需要按几次y回车即可
请输入图片描述
注意:安装途中会有一个让设置防火墙iptables和数据库的选项,iptables选n数据库选择y,然后一路下来就安装完毕了,最后会输出一些账号登录地址信息,这些可以记下来。
请输入图片描述

重启系统来使iRedMail配置生效

如果不需要使用https,那么需要修改配置文件
vim /var/www/roundcubemail/config/config.inc.php
将force_https的值改为false,这里的修改也是需要重启系统才生效的,重启系统reboot。

iRedMail套装里面的东西太多了,所以reboot后过十几分钟(我的机器性能不行)才可以访问web页面。可以使用netstat -tulpn来查看,发现安装了一大堆,应有尽有了。
请输入图片描述
重启系统后如果遇见iRedAdmin页面显示502,那么可能是因为uwsgi没有启动起来的缘故,可以尝试重启看看是否无法起来

service uwsgi restart
service uwsgi status

如果status后发现uwsgi没有启动,那么其实是可以在nginx的error日志中发现一个错误:

[error] 2282#0: *22 connect() to unix:/var/run/uwsgi_iredadmin.socket failed (111: Connection refused) while connecting to upstream, client: xxx.xxx.xxx.xxx, serve
r: _, request: "GET /iredadmin HTTP/1.1", upstream: "uwsgi://unix:/var/run/uwsgi_iredadmin.socket:", host: "mailer.regskynet.com"
手工安装软件包uwsgi-plugin-python2,然后重启uwsgi服务应该就ok了。软件包的名字原本是uwsgi-plugin-python,后面在epel仓库里被改名了,导致这个问题:
yum install uwsgi-plugin-python2
service uwsgi restart

简单使用

共有三个地址
http://mailer.regskynet.com/mail
http://mailer.regskynet.com/SOGo
http://mailer.regskynet.com/iredadmin

接下来我们在iRedAdmin里面添加一个账号jason@regskynet.com,选择上面菜单中的“添加”->“用户”
请输入图片描述
然后我们去mall发送一份邮件试一试,发现报错
请输入图片描述
/var/log/maillog中发现类似这样的错误

Nov 30 23:11:51 mailer postfix/submission/smtpd[5486]: warning: connect to 127.0.0.1:7777: Connection refused
3570 Nov 30 23:11:51 mailer postfix/submission/smtpd[5486]: warning: problem talking to server 127.0.0.1:7777: Connection refused
3571 Nov 30 23:11:52 mailer postfix/submission/smtpd[5486]: warning: connect to 127.0.0.1:7777: Connection refused
3572 Nov 30 23:11:52 mailer postfix/submission/smtpd[5486]: warning: problem talking to server 127.0.0.1:7777: Connection refused
3573 Nov 30 23:11:52 mailer postfix/submission/smtpd[5486]: NOQUEUE: reject: RCPT from mailer.regskynet.com[127.0.0.1]: 451 4.3.5 Server configuration problem; from=<jason@regskynet.com> to=<postmaster@regskynet.com> proto=ESMTP helo=<_>
3574 Nov 30 23:11:52 mailer roundcube: <2bukt23r> SMTP Error: Failed to add recipient 'postmaster@regskynet.com'. 4.3.5 Server configuration problem (Code: 451) in /var/www/roundcubemail-1.3.0/program/lib/Roundcube/rcube.php on line 1665 (POST /mail/?_task=mail&_unlock=loading1575126707508&_lang=en&_framed=1&_action=send)
3575 Nov 30 23:11:52 mailer postfix/submission/smtpd[5486]: disconnect from mailer.regskynet.com[127.0.0.1]

查询资料后尝试如下操作

rm /opt/iredapd/settings.pyc
service iredapd restart

然后发现了端倪,报错:

iredapd is already stopped.
Starting iredapd ...
Traceback (most recent call last):
File "/opt/iredapd/iredapd.py", line 23, in
from libs import __version__, daemon, utils
File "/opt/iRedAPD-2.1/libs/utils.py", line 8, in
from sqlalchemy import create_engine
ImportError: No module named sqlalchemy

解决办法

pip install flask-SQLAlchemy
service iredapd restart
service iredapd status

发现已经可以启动了,再次发送信息,发现已经可以发送成功了。

一定要非常注意:安装完毕后要设置交换分区,不然iRedMail带的杀毒软件clamd因为无法分配内存导致一直启动失败(但是却一直尝试启动)。

注意:以上是我第一次安装做出来的总结及步骤,我相信这个iRedMail应该会有不少稀奇古怪的报错,只不过因为我只是操作过一次没有经历更多的问题,下次找个时间再重新操作一遍补充一下,更详细一下,上面的安装步骤图片是copy其他人的,因为我安装完毕后已经无法截图了(因为reboot了),但是这个操作实例确实我亲自操作过的,相信能够适合大部分新手参考。

Last modification:December 10th, 2019 at 08:35 am