Contabo cung cấp VPS với các tùy chọn ổ cứng có dung lượng khác nhau. Tuy nhiên bạn không có tùy chọn gắn nhiều ổ cứng cho một VPS như ở AWS. Contabo VPS chỉ có 1 ổ cứng và được định dạng với phân vùng “/” duy nhất.  Vì vậy nếu theo đúng best pratice khi cài đặt Zimbra, bạn nên tiến hành thêm một số bước về phân bổ lại các partition.

Phân chia lại partion cho máy ảo trên Contabo.
1. Vào portal quản trị của Contabo. Trong phần quản lý dịch vụ chọn rescue system, chọn enable vnc. lấy thông tin vnc.
2. Đăng nhập vào máy ảo trong chế độ rescue qua vnc.
3. Tìm và mở phần mềm gparted.
4. Click vào phân vùng sda3 (là phân vùng /), chọn resize. Kéo con trỏ để resize về kích thước mong muốn.
5. Chọn partion còn trống, chọn new để tạo partion mới. Để mặc định, chỉ kéo con trỏ để có kích thước phù hợp,chọn ext4 làm định dạng. Ta sẽ tạo thêm 2 partition sda4 và sda5 dành cho các mount point là /opt và /backup.
6. Chọn apply, sau đó cho reboot VPS.

Sử dụng screen trong suốt quá trình thao tác cài đặt hệ thống

screen
Tiến hành cập nhật hệ thống
apt update
apt upgrade

7. Dùng lệnh sau để xem thông tin UUID

ls -al /dev/disk/by-uuid/
total 0
drwxr-xr-x 2 root root 120 Oct 12 17:37 .
drwxr-xr-x 7 root root 140 Oct 12 17:37 ..
lrwxrwxrwx 1 root root 10 Oct 12 17:37 5f3bd52c-b0a4-4292-830c-369ff1cbbfa1 -> ../../sda3
lrwxrwxrwx 1 root root 10 Oct 12 17:37 7200593e-797c-405a-b1c8-6589c29551bd -> ../../sda4
lrwxrwxrwx 1 root root 10 Oct 12 17:37 8e9640de-f5c2-48c9-9f33-7bf4188d1d27 -> ../../sda5
lrwxrwxrwx 1 root root 10 Oct 12 17:37 d15ab24b-fe2c-4561-a2d2-ec4ced190464 -> ../../sda2

lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 600G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 2G 0 part /boot
├─sda3 8:3 0 111.2G 0 part /
├─sda4 8:4 0 149G 0 part
└─sda5 8:5 0 337.8G 0 part

8. Tạo mount point, ví dụ

mkdir /backup

9. Tiến hành mount partition.

mount /dev/sda4 /opt
mount /dev/sda5 /backup

10. Chỉnh sửa file fstab

vi /etc/fstab
Thêm các mount point và UUID tương ứng
UUID=7200593e-797c-405a-b1c8-6589c29551bd /opt ext4 defaults 0 0
UUID=8e9640de-f5c2-48c9-9f33-7bf4188d1d27 /backup ext4 defaults 0 0

Đến đây bạn đã hoàn thành bước chuẩn bị partition cho việc cài đặt Zimbra. 

11.Thiết lập dns PTR record trong Contabo trỏ từ IP máy ảo về mail.zimilab.com
12. Thiết lập timezone

timedatectl list-timezones
timedatectl set-timezone Asia/Ho_Chi_Minh

13. Thay đổi thông tin trong /etc/hosts

127.0.0.1 localhost.localdomain localhost
1.2.3.4 mail.zimilab.com mail

14. Tắt ipv6

vi /etc/sysctl.conf
# Turn off IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

# Reduce Swappiness
vm.swappiness = 1
Áp cấu hình
sysctl -p
Cập nhật grub
vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"
Áp cấu hình grub
update-grub
reboot

15. Cài đặt một số gói

apt install screen
apt-get install netcat
apt install bind9-utils
apt-get install chrony
systemctl start chronyd
systemctl enable chronyd

16. Các port cần mở trên firewall cho phép truy cập vào từ internet.

apt-get update && apt-get install ufw
ufw default allow outgoing
ufw allow ssh
ufw allow 25/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 587/tcp
ufw allow 993/tcp
ufw allow 995/tcp
ufw allow 9071/tcp
ufw allow 7071/tcp
ufw allow from x.y.z #Thay x.y.z bằng IP của server khác mà bạn muốn whitelist
ufw allow 123/udp
ufw allow 53/udp
ufw enable
ufw status numbered

Comment 2 dòng như sau trong file /etc/ufw/before.rules

vi /etc/ufw/before.rules
Comment 2 dòng như sau:
# drop INVALID packets (logs these in loglevel medium and higher)
# -A ufw-before-input -m conntrack --ctstate INVALID -j ufw-logging-deny
# -A ufw-before-input -m conntrack --ctstate INVALID -j DROP

Khởi động lại ufw
service ufw restart && service ufw status

18. Càiđặt dns service

apt-get install dnsmasq
vi /etc/dnsmasq.conf
server=9.9.9.9
server=8.8.8.8
listen-address=127.0.0.1
domain=zimilab.com
address=/mail.zimilab.com/1.2.3.4
ptr-record=4.3.2.1.in-addr.arpa,mail.zimilab.com
mx-host=zimilab.com,mail.zimilab.com,10
addn-hosts=/etc/hosts
cache-size=9500

Cấu hình dns là 127.0.0.1 trong net plan
vi /etc/netplan/01-netcfg.yaml
# Đổi IP của dns về 127.0.0.1
netplan apply
ip addr

Chỉnh file gỡ systemd-resolved và chỉnh resolv.conf

systemctl disable systemd-resolved
systemctl stop systemd-resolved
unlink /etc/resolv.conf
vi /etc/resolv.conf
nameserver 127.0.0.1

Kiểm tra phân giải dns

systemctl start dnsmasq
systemctl enable dnsmasq
dig mx zimilab.com
dig mta.zimilab.com
dig -x 1.2.3.4

19. Cài đặt Zimbra.

Xác nhận bạn đã có file license lưu trên server hoặc license key, bạn cũng đã cập nhật hệ điều hành.

Sử dụng screen trong suốt quá trình cài đặt để tránh trường hợp bị mất kết nối ssh trong quá trình cài đặt.

a. Đăng nhập qua ssh vào server, với quyền root:

Tải về file cài đặt Zimbra 10, đặt trong /var/tmp

cd /var/tmp
tar -xvzf [zcsfullfilename.tgz]
cd [zcsfullfilename.tgz]
./install.sh

Bắt đầu cài đặt:

Operations logged to /tmp/install.log.y1YeCSI5
Checking for existing installation…
zimbra-imapd…NOT FOUND
....
zimbra-archiving…NOT FOUND
zimbra-core…NOT FOUND

Zimbra 10 hiển thị Software Agreement, chọn Y để đồng ý tiếp tục cài đặt.

Zimbra 10 hiển thị Use Zimbra 10’s package repository [Y], nhấn Enter để tiếp tục.

Checking for installable packages
Found zimbra-core (local)
...
Found zimbra-network-modules-ng (local)
Select the packages to install
Install zimbra-ldap [Y]
Install zimbra-logger [Y]
Install zimbra-mta [Y]
Install zimbra-dnscache [Y] N
Install zimbra-snmp [Y]
Install zimbra-store [Y]
Install zimbra-apache [Y]
Install zimbra-spell [Y]
Install zimbra-convertd [Y]
Install zimbra-memcached [Y]
Install zimbra-proxy [Y]
Install zimbra-archiving [N]
....
The system will be modified. Continue? [N] Y

Sau khi bạn đã chọn Y, nhấn Enter để cài đặt, Zimbra 10 sẽ thực hiện các bước kiểm tra sau:

Cài đặt lên server các gói được chọn ở trên.
Kiểm tra xem có phân giải được MX record không. Kiểm tra có phân giải được hostname qua DNS không. Nếu có lỗi, chương trình cài đặt sẽ hỏi bạn có muốn chỉnh sửa hostname không.
Kiểm tra xem các port có bị xung đột không.

Sau khi xong các bước này, chương trình cài đặt sẽ hiển thị menu cấu hình các thành phần mà bạn đã cài đặt. Bạn có thể để mặc định các thông số và chỉ tiến hành thay đổi các thông số sau:

a. Để thiết lập time zone, nhập 1 để chọn Common Configuration, sau đó nhập 7 để vào Time Zone, chọn time zone phù hợp (Ho Chi Minh).

Chọn r để quay về Main menu.

Chọn r để quay về Main menu.

Nhập 7 để vào zimbra-store từ Main menu.

b. Nhập 3 để đổi tên mặc định của admin, ví dụ từ admin@zimilab.com thành zbadmin@zimilab.com

c. Nhập 4 để vào Admin Password. Điền mật khẩu của admin, mật khẩu cần ít nhất 6 ký tự. Nhấn Enter.

d. Nhập 33 để vào License filename. Chọn đường dẫn đến file license, ví dụ nhập /tmp/ZimbraLicense.xml nếu bạn để file license trong thư mục /tmp.

e. Nhập r để trở về Main menu. Nếu bạn không cần thay đổi thông số gì thêm nhập a để áp dụng các thay đổi, nhấn Enter.

*** CONFIGURATION COMPLETE – press ‘a’ to apply
Select from menu, or press ‘a’ to apply config (? – help) a

f. Khi được hỏi có đồng ý lưu dữ liệu cấu hình vào một file không, nhập Yes và nhấn Enter.

Save configuration data to a file? [Yes]

g. Chương trình sẽ hỏi bạn muốn lưu cấu hình vào file nào, nhấn Enter để chọn giá trị mặc định.

Save config in file: [/opt/zimbra/config.16039]
Saving config in /opt/zimbra/config.16039…done.

h. Chương trình hỏi về việc sẽ áp dụng các cấu hình đã chọn cho hệ thống, bạn nhập Yes và nhấn Enter để tiếp tục.

The system will be modified – continue? [No] YES
....
Installing Proxy SSL certificate…done.
Initializing ldap…done
....
Moving /tmp/zmsetup.20160711-234517.log to /opt/zimbra/log
Configuration complete – press return to exit

Các bước thực hiện sau khi cài đặt

Sau khi cài đặt zimbra, bạn cần cấu hình những chức năng sau.

a. Thiết lập ssh keys

Với quyền zimbra user:

zmupdateauthkeys

Key sẽ được cập nhật vào /opt/zimbra/.ssh/authorized_keys

b. Thiết lập hiển thị thống kê hoạt động của server.

Với quyền root, chạy lệnh sau:

/opt/zimbra/libexec/zmsyslogsetup

Bạn đã hoàn thành việc cài đặt Zimbra trên Single Server.

Các bước tiếp theo bạn cần làm.

a. Thiết lập DKIM và DMARC: Tham khảo tại đây.

b. Thiết lập chính sách hạn chế số lượng mail gửi ra bằng policyd: Tham khảo tại đây.

c. Thiết lập ssl certificate sử dụng Letsencrypt: Tham khảo tại đây nếu bạn dùng Letsencrypt, tại đây nếu bạn dùng commercial ssl.

d. Thiết lập fail2ban, tham khảo tại đây.

e. Cấu hình nâng cao phần bảo mật, bạn có thể tham khảo tại đây.

f. Đăng ký sử dụng dịch vụ chống spam chuyên nghiệp và email relay của ZIMICO.