Hướng dẫn cài mail server on vps

Bài viết này, BKNS xin hướng dẫn các bạn triển khai mail server đơn giản trên hệ điều hành linux (cụ thể là Centos 7) và hoàn toàn miễn phí. Trên nền tảng linux ta có 2 ứng dụng mã nguồn mở nổi tiếng đó là Postfix và Dovecot.

Hướng dẫn cài mail server on vps

  • Postfix dùng để thiết lập dịch vụ gửi mail đến các MDA. Postfix được gọi là một MTA – Mail Transfer Agents và nó sử dụng giao thức SMTP với cổng 25 truyền thống để gửi email.
  • Dovecot dùng để thiết lập một dịch vụ nhận và chuyển tiếp mail đến từng mail box, nó là một MDA – Mail Delivery Agent. Dịch vụ này chạy với các giao thức IMAP, POP3 trên cổng 143 và cổng 110.

1. Cài đặt và cấu hình Postfix

Chạy lệnh bên dưới để cài đặt gói:

yum -y install postfix

Chỉnh sửa file config postfix: /etc/postfix/main.cf

vi /etc/postfix/main.cf

Di chuyển đến cuối file và thêm các dòng lệnh sau:

myhostname = mail.yourdomain.com

thay bằng tên miền của bạn

mydomain = yourdomain.com

thay bằng tên miền của bạn

myorigin = $myhostname myorigin = $mydomain inet_interfaces = all

  • Cấu hình SASL cho Postfix

Chạy lệnh bên dưới để cài đặt gói:

yum -y install cyrus-sasl

Chỉnh sửa file config postfix: /etc/postfix/main.cf

vi /etc/postfix/main.cf

smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination smtpd_sasl_security_options = noanonymous smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth

Khởi động và cho phép dịch vụ chạy:

systemctl restart postfix

systemctl enable postfix

  • Cấu hình firewallD cho phép dịch vụ SMTP

firewall-cmd --permanent --add-service=smtp

firewall-cmd --reload

Kiểm tra xem port 25 đã được chạy hay chưa. Sử dụng lệnh sau:

sudo lsof -i:25

Trạng thái port (Listen) là port đang hoạt động COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME exim 826 mail 4u IPv4 15958 0t0 TCP *:smtp (LISTEN)

2. Cài đặt Dovecot IMAP và POP3 Server

  • Cài đặt gói dịch vụ Devecot

yum -y install dovecot

  • Cấu hình Devecot

cho phép giao thức và daemon service chạy trên Devecot

Sửa cấu hình trong đường dẫn /etc/dovecot/dovecot.conf

vi /etc/postfix/main.cf

0

Tìm và sửa dòng lệnh sau thành:

vi /etc/postfix/main.cf

1

Cho phép và khởi động dịch vụ:

vi /etc/postfix/main.cf

2

Thực hiện cấu hình cho phép dịch vụ trên tường lửa:

vi /etc/postfix/main.cf

3

3. Kiểm tra email

Kiểm tra bằng cách gửi 1 email xem đã thành công hay chưa. (ví dụ ở đây gửi 1 email đến tài khoản gmail cá nhân)

vi /etc/postfix/main.cf

4

Những email này có thể bị rơi vào Spam, vì vậy các bạn có thể kiểm tra chúng ở thư mục rác hoặc spam.

Địa chỉ văn phòng: 45 Đinh Tiên Hoàng, Bến Nghé, Quận 1, Tp HCM. (Đối diện đài truyền hình TP HTV, trường cán bộ quản lý DMA)

  • 094 320 00 88 – 094 323 00 99
  • athena.edu.vn – lms.athena.edu.vn
  • Email: [email protected]

Công ty TNHH Một Thành Viên Tư vấn và Đào tạo Á THE NA

Mã số thuế: 0306174155

Địa chỉ đăng ký kinh doanh: 92 Nguyễn Đình Chiểu, Phường Đa Kao, Quận 1, TP. Hồ Chí Minh.

Giấy chứng nhận đăng ký kinh doanh số 0306174155 do Sở Kế hoạch và Đầu tư Thành phố Hồ Chí Minh cấp ngày 04/11/2008

Hôm trước mình có hướng dẫn các bạn cách cài đặt một Mail Server với iRedMail, tuy nhiên cách đó vẫn hơi phức tạp. Hôm nay mình sẽ giới thiệu một cách mới, cài đặt Mail Server dễ dàng hơn với Mail-in-a-Box.

Hướng dẫn cài mail server on vps

Thay vì đưa ra rất nhiều tùy chọn khi cài đặt như iRedMail thì Mail-in-a-Box giúp bạn lựa chọn những gì tốt nhất và tự động cài đặt. Với kinh nghiệm quản lý Mail Server hơn 15 năm của tác giả Joshua Tauberer, chúng ta có thể hoàn toàn tin tưởng sử dụng Mail-in-a-Box.

Để bảo mật cho server, Mail-in-a-Box sử dụng Fail2ban và SSL certificate (self-signed). Nó cũng tự cấu hình UFW firewall và chỉ mở những port cần thiết. Ngoài ra, để chống spam, Mail-in-a-Box sử dụng các tính năng bảo mật như graylisting, SPF, DKIM, DMARC, opportunistic TLS, strong ciphers, HSTS, và DNSSEC (với DANE TLSA).

Mail-in-a-Box được thiết kế để xử lý SMTP, IMAP/POP, spam filtering, webmail, và thậm chí tự quản lý DNS, bạn sẽ không cần phải cấu hình SPF, DKIM bằng tay nữa. Tuy nhiên, không phải nhà cung cấp domain nào cũng hỗ trợ tạo Nameserver record nên mình sẽ không hướng dẫn trong bài này.

Mục tiêu cuối cùng: tạo được Mail Server hoạt động độc lập với domain chính pibox.vn, sử dụng subdomain mail.pibox.vn. Email có dạng [email protected].

1. Deploy VPS ở Vultr

Để cài được Mail-in-a-Box, bạn cần sử dụng hệ điều hành Ubuntu 14.04 x86-64, trong bài này mình sử dụng VPS ở Vultr. VPS cần ít nhất 768 MB RAM, tốt nhất nên là 1GB.

Email tên miền mình sử dụng vẫn là pibox.vn, tên miền mới tinh nên khả năng cao email gửi đi sẽ bị vào Spam. Mình sẽ dùng tên miền này để tìm cách đảm bảo email gửi đi vào được Inbox. DNS quản lý ở CloudFlare.

Sau khi tạo Deploy xong VPS ở Vultr, bạn hãy vào tab IPv4 để update Reverse DNS về mail.pibox.vn. Nhớ trỏ record mail của tên miền về địa chỉ IP của VPS nữa nhé.

Hướng dẫn cài mail server on vps

Tạo MX record

– Để nhận được mail, bạn hãy tạo record MX với name là pibox.vn, Server: mail.pibox.vn và Priority mặc định 1

– Ngoài ra, để xác nhận chính xác mail được gửi đi từ server, bạn cần thêm một record SPF nữa. Record type:

nano /etc/hosts

0, Name: pibox.vn với Content:

nano /etc/hosts

2

Kết quả tương tự như hình bên dưới:

Hướng dẫn cài mail server on vps

Để test SPF record bạn có thể sử dụng http://mxtoolbox.com với câu lệnh:

nano /etc/hosts

3

Thay đổi hostname

Đảm bảo hostname của VPS được chuyển thành pibox.vn.

echo "pibox.vn" > /etc/hostname hostname -F /etc/hostname

Thay đổi tiếp trong file hosts

nano /etc/hosts

Thêm một dòng chứa IP nếu chưa có, ví dụ của mình:

45.63.59.104     mail.pibox.vn

Restart lại VPS

nano /etc/hosts

5 và chạy lệnh

nano /etc/hosts

6 xem đã chuẩn chưa nhé.

root@pibox:~# hostname pibox.vn

2. Cài đặt Mail-in-a-Box

Script cài đặt Mail-in-a-Box sẽ tự động cài toàn bộ những package cần thiết. Chúng ta chỉ cần chạy duy nhất một lệnh đơn giản:

curl -s https://mailinabox.email/bootstrap.sh | sudo bash

Bạn sẽ nhận được một thông báo giới thiệu về Mail-in-a-Box như sau, nhấn Enter để tiếp tục.

Hướng dẫn cài mail server on vps

Tiếp theo hãy nhập tài khoản mail admin.

Hướng dẫn cài mail server on vps

Trong bảng Hostname, hãy sử dụng subdomain mail.

Hướng dẫn cài mail server on vps

Country Code hãy chọn, VN Vietnam, nó ở ngay trên cùng.

Hướng dẫn cài mail server on vps

Sau đó, quá trình cài đặt sẽ tự động diễn ra. Bạn hãy nhập password cho tài khoản admin khi được hỏi:

Okay. I'm about to set up [email protected] for you. This account will also have access to the box's control panel. password:

Nếu không có vấn đề gì xảy ra, cuối cùng bạn sẽ nhận được thông báo như bên dưới:

mail user added added alias [email protected] (=> [email protected]) added alias [email protected] (=> [email protected]) updated DNS: pibox.vn web updated alias added added alias [email protected] (=> [email protected]) added alias [email protected] (=> [email protected])


Your Mail-in-a-Box is running. Please log in to the control panel for further instructions at: https://45.63.59.104/admin You will be alerted that the website has an invalid certificate. Check that the certificate fingerprint matches: A5:31:33:99:80:61:D3:F0:DC:F2:B6:35:44:C7:1B:AF:98:8C:05:84 Then you can confirm the security exception and continue.

3. Cấu hình Mail-in-a-Box

Bây giờ các bạn có thể truy cập vào trang quản lý Mail-in-a-Box có dạng

nano /etc/hosts

7, login sử dụng tài khoản và password như đã nhập trong bước trước.

Bởi vì server sử dụng chứng chỉ self-signed, nên bạn sẽ nhận được cảnh báo warning như bên dưới, hãy nhấn Advanced, rồi Proceed.

Hướng dẫn cài mail server on vps

Giao diện trang admin sẽ như sau:

Hướng dẫn cài mail server on vps

  • System: cấu hình và quản lý hệ thống
  • Mail: thêm/sửa/xóa account và các thông tin IMAP/SMTP/Exchange/ActiveSync
  • Contacts/Calendar: thông số cấu hình để synchronize trên các thiết bị di động hoặc ứng dụng
  • Web: nội dung khi truy cập mail.pibox.vn
  • Version: phiên bản hiện tại và kiểm tra nâng cấp

Việc cần làm đầu tiên là vào menu System, chọn External DNS để Mail-in-a-Box kiểm tra tình trạng hiện tại và đưa ra các thông số cấu hình domain. Bước này rất quan trọng do chúng ta không sử dụng chức năng quản lý DNS của Mail-in-a-Box, không thực hiện thì email gửi đi sẽ bị vào SPAM.

Các thông tin đưa ra như bên dưới:

Hướng dẫn cài mail server on vps

Tiếp theo, bạn hãy vào CloudFlare và add từng record như thông tin Mail-in-a-Box cung cấp (bỏ qua ns1.mail.pibox.vn và ns2.mail.pibox.vn). Cần add những record Required và Recommended, Optional thì tùy từng DNS Server mà có hỗ trợ hay không. Đây là điểm mình đánh giá rất cao, bạn cứ copy rồi paste thôi, vậy là đảm bảo domain được cấu hình chuẩn rồi.

Lưu ý: có thể mất một khoảng thời gian để DNS được cập nhật xong, lúc này kết quả mới chính xác nhất. Đừng vội lo lắng khi email của bạn bị rơi vào SPAM.

4. Truy cập Webmail và gửi Email

Sau khi cấu hình các bản ghi cho tên miền, các bạn truy cập link https://mail.pibox.vn/mail để vào hòm mail. Giao diện Roundcube quen thuộc sẽ xuất hiện:

Hướng dẫn cài mail server on vps

Giờ hãy login và gửi thử sang Gmail, sẽ thấy mail bay thẳng vào Inbox luôn.

Để email không bị coi là Spam cần lưu ý:

  1. Cấu hình đầy đủ SPF record, DKIM record cho tên miền.
  2. VPS cần cấu hình hostname chuẩn, nhớ restart lại VPS để check lại một lần nữa trước khi cài đặt tiếp.
  3. VPS cần cấu hình Reverse DNS chuẩn. Thường mất vài tiếng đến cả ngày mới update xong rDNS nên bạn cần kiên nhẫn.
  4. Với mỗi tài khoản mail, cần phải có Display Name. Cài đặt trong phần Settings/Identities/Display Name. Nên tạo tài khoản mới để test sendmail, đừng dùng tài khoản postmaster/admin.
  5. Cuối cùng cần đảm bảo IP của bạn không bị liệt vào danh sách blacklist: http://mxtoolbox.com/blacklists.aspx

5. Kết quả

Cuối cùng, mình đã cài đặt thành công một Mail Server với Mail-in-a-Box. Đặc biệt Mail Server hoạt động độc lập với Web Server.

Đường link để đăng nhập có dạng http://mail.pibox.vn; email có dạng [email protected]. Tất nhiên bạn sẽ tạo được không giới hạn số tài khoản với Mail-in-a-Box.

Lưu ý: mình không khuyến khích các bạn tự cài đặt một Mail Server, nên sử dụng các dịch vụ trung gian cho email để đảm bảo hệ thống hoạt động ổn định, ví dụ như:

  • G Suite
  • Yandex
  • Zoho
  • Gandi (5 email address, 1.000 forwarding addresses )
  • GoDaddy (100 email alias)

Nếu muốn gửi email marketing, mời bạn tham khảo 2 nhà cung cấp nổi tiếng hiện nay là GetResponse và Sendy.