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.