Ta sẽ cài đặt Zimbra single server trên Centos 7 trên nền máy ảo Vmware.

domain: zimilab.com,

hostname của server sẽ là: mail.zimilab.com

Server IP: 192.168.1.252

1. Lưu ý khi tạo máy ảo.

Chúng ta sử dụng vmxnet3 cho phần network và pvscsi cho Disk controller. Cấu hình này phù hợp với các server có độ đọc ghi nhiều, ở đây là Mailbox server (được cài chung trong một single server ở đây).

Cấu hình tối thiểu là 2Vcpu, 8GB RAM, 1 HDD có dung lượng 25-50GB chứa /boot, / (root) và swap file, 1 HDD có dung lượng 100GB chứa /opt chứa dữ liệu mail, file backup và log.

Các mount point thường dùng là:

Swap = 8GB (=dung lượng RAM).

/boot: 512MB

/: 20GB

/var: 10GB chứa log file

/opt: 100GB chứa dữ liệu

/backup (tùy chọn): chứa backup data.

Tiến hành cài đặt Centos 7 minimum.

2. Cấu hình căn bản server sau khi cài đặt

a. Update hệ thống (cần thực hiện trước tiên) :

#yum update

b. Cài đặt screen. Khi download hoặc cài đặt zimbra, bạn nên tiến hành với screen để phòng ngừa trường hợp bị mất kết nối đến server.

#yum install screen

c. Tạo user thông thường dùng cho ssh:

#useradd administrator

#passwd administrator <=đặt mật khẩu cho user administrator

Chỉ định chỉ có user administrator này có quyền su thành root

#usermod –G wheel administrator

#vi /etc/pam.d/su

# uncomment the following line

auth            required        pam_wheel.so use_uid

Chỉ định đây là user nhận email thay cho root.

#vi /etc/aliases

# Person who should get root’s mail

# last line: uncomment and change to a user

root: cent

#newaliases <=reload, update alias mới.

Tạo cặp khóa dùng ssh từ xa vào server dưới quyền administrator user.

#su – administrator

$ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/cent/.ssh/id_rsa):   # Enter

Created directory ‘/home/cent/.ssh’.

Enter passphrase (empty for no passphrase):   <=Nhập passphrase

Enter same passphrase again: <=Nhập lại passphrase

$mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

$chmod 600 ~/.ssh/authorized_keys

Dùng winscp để tải file /home/administrator/.ssh/id_rsa về máy tính windows.

Tải chương trình puttygen.exe về máy và chạy chương trình này.

Nhấn nút “Load” để chọn file id_rsa (bạn có thể phải chọn hiển thị tất cả file trong cửa sổ open).

Nhấn nút “ Save Private Key” để lưu lại khóa riêng.

Mở Putty và cấu hình sử dụng khóa riêng này để kết nối đến server (vào Connection > SSH > Auth và chọn đường dẫn đến file).

Cấu hình sshd chỉ chấp nhận xác thực dùng private key, không dùng password và không cho phép user root login qua ssh.

#vi /etc/ssh/sshd_config

PermitRootLogin no <=dòng số 38 bỏ comment và sửa thành no.

PermitEmptyPasswords no <= dòng số 74 bỏ comment và sửa thành no

PasswordAuthentication no <= sửa thành no.

ChallengeResponseAuthentication no <=kiểm tra dòng 83 có giá trị no

UsePAM yes <=kiểm tra dòng 110 có giá trị yes

Khởi động lại sshd

#systemctl restart sshd

d. Cập nhật thời gian hệ thống

#yum install ntpdate

#systemctl enable ntpdate

Cập nhật giờ ngay

# ntpdate ntp1.jst.mfeed.ad.jp

#date –R <=kiểm tra thời gian hệ thống.

Chuyển đổi time zone:

#timedatectl list-timezones <=xem timezone

#timedatectl set-timezone asia/ho_chi_minh <=chỉ định time zone ho_chi_minh

#timedatectl <=kiểm tra lại

e. Tắt selinux

#vi /etc/selinux/config

SELINUX=disabled   # change to disabled

#reboot <=cần reboot hệ thống.

f. Đặt tên server.

Nếu bạn chưa cấu hình tên server trong khi cài đặt.

# hostnamectl set-hostname mail.zimilab.com

g. Disable IPV6 nếu không dùng

#ip addr show <=hiển thị thông tin IP.

Bạn sẽ thấy có địa chỉ IPv6: inet6 fe80::20c:29ff:fecd:9c2d/64 scope link

Tiến hành disable ipv6

#vi /etc/default/grub

#chỉnh sửa thêm vào dòng GRUB_CMDLINE_LINUX như sau

GRUB_CMDLINE_LINUX=”ipv6.disable=1 rd.lvm.lv=fedora-server/root…..

Sau đó áp cấu hình:

#grub2-mkconfig -o /boot/grub2/grub.cfg

# reboot

Kiểm tra giá trị IPV6INIT=no trong file /etc/sysconfig/network-scripts/ifcfg-ens32

h. Tắt hoặc gỡ bỏ postfix đi kèm hệ điều hành.

#systemctl stop postfix

#systemctl disable postfix

i. Cài đặt epel repo:

# yum -y install epel-release

Disable epel repo mặc định.

#sed -i -e “s/enabled=1/enabled=0/g” /etc/yum.repos.d/epel.repo

Khi cài đặt cần sử dụng epel repo thì dùng option –enablerepo=epel

j. Cài đặt vim

#yum install vim-enhanced

Cấu hình alias vi và vim

# vi /etc/profile

# add at the last line

alias vi=’vim’

Reload lại profile:

#source /etc/profile

k. Cấu hình firewalld

Ta cần mở một số port của firewall để cho phép zimbra gửi nhận mail.

Xem default và active zone hiện tại là gì :

#firewall-cmd –get-default-zone

Public <=zone default là public.

  #firewall-cmd –get-active-zone

public

interfaces: eth0 <=active zone là public và đang áp cho interface eth0.

Liệt kê xem các dịch vụ nào đang được chạy trên zone public

# firewall-cmd –zone=public –list-service

dhcpv6-client ssh <=các dịch vụ đang được cho phép trong session này.

Bạn có thể dùng thêm option –permanent để kiểm tra các dịch vụ được cho phép cố định.

Tiến hành mở thêm các dịch vụ như https, pop3s, imaps, smtp submission, smtp, cổng quản trị 7071 hoặc 9071 (nếu enable proxy cho admin).

#firewall-cmd –zone=public –add-service=pop3s –permanent

#firewall-cmd –zone=public –add-service=imaps –permanent

#firewall-cmd –zone=public –add-service=smtp –permanent

#firewall-cmd –zone=public –add-service=smtp-submission –permanent

Để tiến hành add port 7071/9071 ta có thể add trực tiếp hoặc tạo một tên dịch vụ rồi sau đó mới add. Ví dụ:

Tạo file zimbra-admin.xml có nội dung sau (bạn có thể copy file mẫu của ssh.xml và edit lại):

#vi /usr/lib/firewalld/services/zimbra-admin.xml

<?xml version=”1.0″ encoding=”utf-8″?>

<service>

  <short>Zimbra-Admin</short>

  <description>This is Zimbra Admin port.</description>

  <port protocol=”tcp” port=”7071″/>

  <port protocol=”tcp” port=”9071″/>

</service>

Sau đó add vào:

#firewall-cmd –zone=public –add-service=zimbra-admin –permanent

#firewall-cmd reload

l. File /etc/hosts

#vi /etc/hosts

127.0.0.1   localhost localhost.localdomain

#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

112.109.90.30 mail.zimilab.com mail <= chú ý thứ tự

3. Cấu hình DNS

Nếu bạn có DNS server bên ngoài thì bỏ qua bước này. Nếu bạn sử dụng split domain với DNS nội bộ, hãy đọc tiếp :

Cấu hình file ifcfg-ens32

#vi /etc/sysconfig/network-scripts/ifcfg-ens32

DNS1=127.0.0.1 <=sử dụng DNS nội bộ

DNS2=8.8.8.8

DOMAIN=zimilab.com

Kiểm tra lại trong file resolv.conf

#vi /etc/resolv.conf

# Generated by NetworkManager

search zimilab.com

nameserver 127.0.0.1

nameserver 8.8.8.8

Tiến hành cài đặt DNS server, ở đây ta dùng dnsmasq

#yum install dnsmasq

Tiến hành edit file cấu hình:

#vi /etc/dnsmasq.conf

server=8.8.8.8

listen-address=127.0.0.1

domain=zimilab.com

mx-host=zimilab.com,mail.zimilab.com,0

address=/mail.zimilab.com/192.168.1.252

Restart dnsmasq service

#systemctl restart dnsmasq

Dùng dig để kiểm tra cấu hình :

Bạn có thể cài dig qua:

#yum install -y bind-utils

#dig mail.zimilab.com

#dig zimilab.com mx

;; ANSWER SECTION:

zimilab.com.            3599    IN      MX      0 mail.zimilab.com.

4. Cài đặt vmware tool

#yum install open-vm-tools

Xem tính năng đồng bộ thời gian với host có được kích hoạt không. Ta nên disable tính năng này vì đã sử dụn ntp để đồng bộ thời gian.

#vmware-toolbox-cmd timesync status Enables

Disabled

Nếu được enable thì disable bằng lệnh:

#vmware-toolbox-cmd timesync disable

5. Cấu hình rsyslog (tùy chọn cho hệ thống lớn)

Các hệ thống lớn sẽ sinh ra log rất nhiều, và có thể bị rate limite trong rsyslog. Bạn cần tránh rate limit bằng cách:

#vi /etc/rsyslog.conf

Thêm vào 2 thông số sau

$SystemLogRateLimitInterval 0

$SystemLogRateLimitBurst 0

6. Cài đặt Zimbra

Tải zimbra về

#screen

#wget <đường dẫn>

#tar –xvzf <tên file.tgz>

#cd <thư mục đã giải nén>

#./install.sh –platform-override

Qúa trình cài đặt sẽ hỏi bạn thay đổi tên domain vì zimbra lấy hostname làm tên domain, bạn cần chỉnh lại cho đúng domain (đổi từ mail.zimilab.com thành zimilab.com). Bạn cũng cần chỉ định đường dẫn file license nếu cài đặt bản NE.