如何用小内存服务器搭建ZimBra邮件服务器

一个小内存的VPS,我们可以拿它来搭梯子,也能做个个人小网站,但是之前我突然想到为什么自己不能有个个人邮箱呢?好的,让我用它来搭建一个简单的ZimBra邮件系统吧

在搭建ZImbra邮件系统之前需要做的准备:

为了方便大家复制,请点击这里,代码已经按顺序排好,大家也看着教程一一操作

  • 将VPS的内存扩大,这里说的扩大不是扩大物理内存,而是扩大swap。因为如果只是个人用的邮箱,并不会产生太高的I/O率。所以不必担心被主机商发现。

此方法只适用于虚拟化技术为KVM和Xen的VPS,OpenVZ不支持添加Swap交换分区,也就说说搬瓦工VPS(KVM-512MB套餐除外)不能用此方法增加Swap空间。 如果搬瓦工VPS管理后台Swap状态长期显示红色,则表明VPS内存已满,该考虑升级VPS了。

设置方式如下(重启后会重置,建议先看下一步再回到这步):

1
2
3
4
5
6
7
8
9
# dd if=/dev/zero of=/swapfile bs=1k count=2048000  --增加 2G SWAP/自己选择
# mkswap /swapfile --创建 SWAP
# swapon /swapfile --激活 SWAP

# echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab -- 添加到fstab文件中让系统引导时自动启动


# swapoff /swapfile --停止 SWAP
# rm -fr /swapfile --删除 SWAP

修改完以后你能在搬瓦工的面板上看到自己的swap增加到你设定的额值。

但是实际上我们不会真的希望总是用swap来运行,毕竟硬盘的读写率比起内存的还是太慢了。

而且对于日常应用还是不太吃得消,毕竟不能指望swap变成物理内存,在这个时候我们就应该给它一点小小的限制,让它日常都使用物理内存而不是使用swap。那么怎么办呢?看下边。

修改swappiness默认值

首先查看下 swappiness 的默认值:

1
# cat /proc/sys/vm/swappiness

通常,返回值是60(默认值)。

实际上,swappiness = 0 表示最大限度使用物理内存,然后才使用swap分区;swappiness = 100 表示系统积极的使用swap分区,然后才使用物理内存。

显然,这里我们需要降低 swappiness 的默认值。

1
# vi /etc/sysctl.conf

在里面添加 vm.swappiness = 10 字段,然后退出保存。

或者:

1
# echo "vm.swappiness = 10" >> /etc/sysctl.conf

然后 # reboot 一下VPS即可。

  • 预先设置一下DNS的mx记录,以及预先加上部分的SPF记录即可。

设置如下图红字(SPF记录可以直接照搬):

img

设置的时候的TTL记得设置小一点,免得要太久才生效。


然后就开始我们的Zimbra邮箱系统的搭建准备

我用的是Centos7系统,硬盘空间要求5G(一般都有),墙裂推荐使用Xshell

首先先装上依赖包

1
# yum install wget nmap-ncat libaio unzip perl-core sysstat

为了防止25端口被占用,之前如果设置过酸酸(首字母)的同学记得先修改端口。

关闭selinux

1
2
# vi /etc/selinux/config 
SELINUX=disabled //找到这行后修改值为disabled,一般情况下不需要改

关闭iptables防火墙端口

1
2
# service iptables stop
# chkconfig iptables off //如果有必要,可以找关于开放特定端口的设置方法看看

关闭postfix服务,避免25端口被占用

1
2
# service postfix stop
# chkconfig postfix off //一定要设置!

配置主机名

1
2
# vi /etc/sysconfig/network
HOSTNAME=mail.example.com

配置hosts

1
2
3
4
# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
机器IP地址 mail.example.com mail

重启服务器,确保所有设置生效(记得重新设置一次swap):

1
# reboot

所有都搞定以后,开始真正的安装

下载最新安装包,开始安装,建议自行前往官网取链接

1
2
3
4
# wget https://files.zimbra.com/downloads/8.6.0_GA/zcs-8.6.0_GA_1153.RHEL7_64.20141215151110.tgz
# tar zxvf zcs-8.6.0_GA_1153.RHEL7_64.20141215151110.tgz
# cd zcs-8.6.0_GA_1153.RHEL7_64.20141215151110 //进入文件夹
# ./install.sh //开启安装

安装过程如下,如果提示缺包,建议Crtl+c退出后,装包后再次重装

以下给出关键选择的选择方案:第一次:y

1
2
3
4
5
6
7
8
9
10
11
12
13
PLEASE READ THIS AGREEMENT CAREFULLY BEFORE USING THE SOFTWARE.
ZIMBRA, INC. ("ZIMBRA") WILL ONLY LICENSE THIS SOFTWARE TO YOU IF YOU
FIRST ACCEPT THE TERMS OF THIS AGREEMENT. BY DOWNLOADING OR INSTALLING
THE SOFTWARE, OR USING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY
THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS
AGREEMENT, THEN DO NOT DOWNLOAD, INSTALL OR USE THE PRODUCT.

License Terms for the Zimbra Collaboration Suite:
http://www.zimbra.com/license/zimbra-public-eula-2-5.html



Do you agree with the terms of the software license agreement? [N] y

选择包是否安装,全部 y

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Select the packages to install

Install zimbra-ldap [Y] y

Install zimbra-logger [Y] y

Install zimbra-mta [Y] y

Install zimbra-dnscache [Y] y

Install zimbra-snmp [Y] y

Install zimbra-store [Y] y

Install zimbra-apache [Y] y

Install zimbra-spell [Y] y

Install zimbra-memcached [Y] y

Install zimbra-proxy [Y] y
Checking required space for zimbra-core
Checking space for zimbra-store
Checking required packages for zimbra-store
zimbra-store package check complete.

选择是否继续 y

1
2
3
4
5
6
7
8
9
10
11
12
    zimbra-apache
zimbra-spell
zimbra-memcached
zimbra-proxy

The system will be modified. Continue? [N] y

Removing /opt/zimbra
Removing zimbra crontab entry...done.
Cleaning up zimbra init scripts...done.
Cleaning up /etc/ld.so.conf...done.
Cleaning up /etc/security/limits.conf...done.

然后就到了更改域名的地方,这里请选择你之前修改的hosts的名字,我这里用example.com做例子。一次Yes,一次域名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Operations logged to /tmp/zmsetup07282015-135443.log
Installing LDAP configuration database...done.
Setting defaults...

DNS ERROR resolving MX for mail.corp.net
It is suggested that the domain name have an MX record configured in DNS
Change domain name? [Yes] yes //这里为yes
Create domain: [mail.corp.net] example.com //这里为你的域名
MX: mail.example.com (IP地址)

Interface: 这里应该会显示你设定的IP地址
Interface: 127.0.0.1
Interface: ::1
done.
Checking for port conflicts

接下来会进入菜单的选择,选择 7

1
2
3
4
5
6
7
8
9
10
11
        +Install mailstore (service webapp):   yes                           
+Install UI (zimbra,zimbraAdmin webapps): yes

8) zimbra-spell: Enabled
9) zimbra-proxy: Enabled
10) Default Class of Service Configuration:
s) Save config to file
x) Expand menu
q) Quit

Address unconfigured (**) items (? - help) 7 //这里选择7

会进入另外一个设置菜单,这里选择 4 然后设置密码 确认

1
2
3
4
5
6
7
8
  21) Version update notification email:       admin@example.com               
22) Version update source email: admin@example.com
23) Install mailstore (service webapp): yes
24) Install UI (zimbra,zimbraAdmin webapps): yes

Select, or 'r' for previous menu [r] 4 //选择4

Password for admin@example.com (min 6 characters): [RxKIO9HeN] admin123 //设置密码

再次回到菜单上,选择 r

1
2
3
4
5
6
7
8
  19) Enable version update checks:            TRUE                          
20) Enable version update notifications: TRUE
21) Version update notification email: admin@example.com
22) Version update source email: admin@example.com
23) Install mailstore (service webapp): yes
24) Install UI (zimbra,zimbraAdmin webapps): yes

Select, or 'r' for previous menu [r] r //选择r

回答主菜单,接下来输入 a ,yes ,yes

1
2
3
4
5
6
7
8
9
10
11
12
  10) Default Class of Service Configuration:                                
s) Save config to file
x) Expand menu
q) Quit

*** CONFIGURATION COMPLETE - press 'a' to apply
Select from menu, or press 'a' to apply config (? - help) a //这里选择a
Save configuration data to a file? [Yes] yes //这里选择yes
Save config in file: [/opt/zimbra/config.11407]
Saving config in /opt/zimbra/config.11407...done.
The system will be modified - continue? [No] yes //这里选择yes
Operations logged to /tmp/zmsetup07282015-135443.log

接下来进入漫长的安装过程,期间保持别断开Xshell好了

最后选择 No

1
2
3
4
5
6
7
8
9
10
11
12
13
The only information that will be transmitted is:
The VERSION of zcs installed (8.6.0_GA_1153_RHEL6_64)
The ADMIN EMAIL ADDRESS created (admin@example.com)

Notify Zimbra of your installation? [Yes] No //选择no

Setting up zimbra crontab...done.


Moving /tmp/zmsetup07282015-135443.log to /opt/zimbra/log


Configuration complete - press return to exit

到此安装完毕

请访问以下站点来看一下搭建好的zimbra服务器

WebMail登录地址:https://mail.example.comhttps://IP
WebAdmin管理地址:https://mail.example.com:7071https://IP:7071

img

img


写在安装完成以后,为了让自己的邮箱能够活得更久

建议设置以下东西:SPF、DKIM、DMARC、PTR

SPF在之前已经弄过了所以并不需要重新弄

如果你使用的是搬瓦工的VPS,那么就只需要去到你的kikwvm管理面板中在这里填入你的PTR,也就是mail.example.com。至于其它的PTR记录则需要自行联系自己的主机商。(搬瓦工真强)

img

而关于DKIM和Dramc记录怎么做,则请去到

邮件服务器添加SPF、DKIM、DMARC、PTR提高送达率

里边看吧


[su_note]搞定完这些认真以后,还可以通过发送邮件到谷歌邮箱,在谷歌邮箱里面看邮件的原始邮件的方法来知道以上的记录是否已经设置完毕[/su_note]

img

然后再去自己的邮箱里面设置以下的东西,能够防止自己成为垃圾邮箱的中转站,把图中勾上的地方全都勾了

img


另外最好还要去到这两个网站来检验一下自己的IP是否被拉了黑名单,黑名单也会导致你没办法收发邮件的。

反邮件系统联盟

Open-relay查询 这里这个也可以用一下mxtoolbox,也就是这个网站里面的工具查一下自己的mx记录是否已经生效之类

最后还可以去cyren和senderscore这两个IP信誉度的检查商查询你的IP信誉度


写在最后的话,能够看到这里并且一步步建立系统的人,希望你能够更好地利用自己的服务器或者外国的服务器。

谢谢阅读

本文作者: Bon
本文地址https://bonxg.com/p/1.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

# Bon
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×