Thứ Hai, 19 tháng 3, 2018

Sử dụng mã nguồn mở iRedMail cài đặt Mail Server trên Ubuntu

Nếu bạn đang tìm kiếm cho mình một hệ thống email hoàn chỉnh trên nền hệ điều hành Ubutun thì iRedMail là một giải pháp hoàn hảo có thể đáp ứng được các yêu cầu từ cơ bản đến nâng cao của hệ thống mail server. Dưới đây là những bước hướng dẫn các bạn sử dụng mã mở nguồn iRedmail cài đặt Mail Server trên Ubutun.

Trong bài này, mình sẽ hướng dẫn các bạn xây dựng một Mail Server hoàn chỉnh với iRedMail trên Ubuntu deloy trên VPS Vultr.
Lưu ý: Bạn cần thực hiện đầy đủ theo từng bước để đảm bảo email gửi đi không bị rơi vào Spam.

1. Deploy VPS ở Vultr

iRedMail hỗ trợ rất nhiều Linux distribution, nhưng mình sẽ lựa chọn Ubuntu 14.04 x64 cho dễ dàng. Server Size chọn gói 768MB RAM, 5$/tháng để thử nghiệm thôi. Trong quá trình dùng nếu cần bạn hãy nâng cấp server lên tương ứng.
Tên miền mình sử dụng là pibox.vn cho bài viết này, DNS quản lý ở CloudFlare. Đây là một tên miền mới nhé, 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.
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é.
Reverse DNS

Tạo MX  record

– Bạn cần phải tạo record MX với name là pibox.vn, Server: mail.pibox.vn và Priority mặc định 1Để có thể nhận được mail.
– Bên cạnh đó, bạn nên thêm một record SPF nữa để xác nhận chính xác được mail từ server. Record type: TXT, Name: pibox.vn với Content: v=spf1 ip4:IP_ADDRESS -all
Kết quả tương tự như hình bên dưới:
DNS
Để test SPF record bạn có thể sử dụng http://mxtoolbox.com với câu lệnh: spf:domain.com

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.32.70.38     mail.pibox.vn
Nhớ restart lại VPS và chạy lệnh hostname xem đã chuẩn chưa nhé.

2. Cài đặt iRedMail

Mình cài đặt bản mới nhất iRedMail 0.9.2.
wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.2.tar.bz2
tar jxvf iRedMail-0.9.2.tar.bz2 && cd iRedMail-0.9.2
bash iRedMail.sh
Đợi một lúc bạn sẽ thấy giao diện cài đặt của iRedMail, nếu không yêu cầu gì đặc biệt bạn cứ để chọn mặc định
iRedMail 1
Tiếp theo chọn mail storage:
iRedMail Mail Storage
Chọn Web Server, mình quen dùng Nginx nên để mặc định luôn
iRedMail Web Server
Database để MySQL, quen rồi
iRedMail Database
Nhập mật khẩu root MySQL
iRedMail MySQL root Password
Nhập vào iRedMail Virtual Domain, do ban đầu mình để hostname là mail.pibox.vn nên lúc này mới nhập được pibox.vn
iRedMail Virtual Domain
Mật khẩu cho tài khoản quản trị postmaster@pibox.vn. Tài khoản này sẽ dùng để cấu hình Mail Server, thêm/sửa/xóa user đó.
iRedMail Admin Password
Tùy chọn bổ sung cài cùng với iRedMail
iRedMail Optional
Xác nhận cuối cùng trước khi cài đặt, nhập y rồi nhấn Enter
iRedMail Xac Nhan
Bạn đợi một lúc cho iRedMail tự động cài đặt. Cuối cùng, hãy reboot lại VPS một lần nữa để hoàn tất quá trình.
Toàn bộ thông tin cần thiết được lưu ở file /root/iRedMail-0.9.2/iRedMail.tips, bạn có thể mở ra để xem và lưu lại một nơi an toàn khác.
Bây giờ bạn đã có thể truy cập vào link http://mail.pibox.vn với tài khoản quản trị postmaster@pibox.vn được rồi đó. Giao diện webmail Roundcube quen thuộc sẽ xuất hiện như bên dưới:
Roundcube
Để vào phần quản lý, hãy truy cập link iRedAdmin: https://mail.pibox.vn/iredadmin/ với Username postmaster@pibox.vn và password bạn chọn ban đầu.
Lưu ý:  mã nguồn mở iRedMail sử dụng self-signed certificate nên khi đăng nhập bạn sẽ nhận được thông báo Your connection is not private. Hãy nhấn Advanced rồi Proceed để tiếp tục:
Certificate Error

Cấu hình DKIM record

Ở bước này, bạn cần có cấu hình DKIM record cho tên miền để đảm bảo rằng khi bạn gửi mail từ iRedMail sẽ không bị vào mục Spam. Bạn hãy tìm thông tin DKIM có trong file /root/iRedMail-0.9.2/iRedMail.tips. Ví dụ như của mình:
; key#1, domain pibox.vn, /var/lib/dkim/pibox.vn.pem
dkim._domainkey.pibox.vn.       3600 TXT (
  "v=DKIM1; p="
  "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvBh8kHyXP9FHFsBAhv0J"
  "H38XIptXBAFfwavCu+Cfhq/YG2Qj5s6XAXX7C2SU6cKNjBNDvNjZy3hTP5lJnddh"
  "igdv2cKO144TJ7yT7SXxw5YG8Wa93Cuj5yqSPMjB3WizHF0eYZTyAm8/7QEeQrZi"
  "0vG8CuYz/QebeMV6h7xR7L+XwAgsyiNvsy/6IhPJC16PA6/kdw1lHLUiZyYL2H3Y"
  "t8BvygFT8pzscVf1CZk0kDDSa9x3ZN88gASoSyB3SkMPPVm39EHttHNzZr7ddxXN"
  "laFYfTehyKRRM8YAu6xwfGnbtY3vM3suY3DsYyQilv+cTQ4EsJzM7gzLsTzNpp1/"
  "zQIDAQAB")
Hãy đăng nhập vào phần quản lý DNS của tên miền, tạo thêm một TXT record mới với Name là dkim._domainkey.pibox.vn., Content: v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvBh8kHyXP9FHFsBAhv0JH38XIptXBAFfwavCu+Cfhq/YG2Qj5s6XAXX7C2SU6cKNjBNDvNjZy3hTP5lJnddhigdv2cKO144TJ7yT7SXxw5YG8Wa93Cuj5yqSPMjB3WizHF0eYZTyAm8/7QEeQrZi0vG8CuYz/QebeMV6h7xR7L+XwAgsyiNvsy/6IhPJC16PA6/kdw1lHLUiZyYL2H3Yt8BvygFT8pzscVf1CZk0kDDSa9x3ZN88gASoSyB3SkMPPVm39EHttHNzZr7ddxXNlaFYfTehyKRRM8YAu6xwfGnbtY3vM3suY3DsYyQilv+cTQ4EsJzM7gzLsTzNpp1/zQIDAQAB
Bạn nên check lại record một lần nữa với tool http://mxtoolbox.com/dkim.aspx, Domain Name: pibox.vn; Selector: dkim, để đảm bảo chính xác mọi thủ tục.
Cấu hình cuối cùng của tên miền pibox.vn như sau:
DNS Pibox

3. Kết quả

Cuối cùng, một Mail Server đã được mình cài đặt thành công với iRedMail. Đặ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 account@pibox.vn. Tất nhiên bạn sẽ tạo được không giới hạn số tài khoản với iRedMail.
Cuối bước cài đặt mình có gửi thử mail đến Gmail và Live, kết quả vào ngay Spam. Sau mấy ngày mày mò, cuối cùng đã phát hiện ra một số điểm mấu chốt bạn cần lưu ý khi cài đặt để gửi mail không vào Spam (tất cả đều đã được nhắc đến trong bài hướng dẫ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.
  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.
  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
Lưu ý: mình không khuyến khích các bạn tự cài đặt một Mail Server, thay vì đó, các bạn 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)
Hi vọng, với những hướng dẫn ở trên các bạ sẽ có thể cài đặt Mail Server với iRedMail trên Ubutun thành công.



EmoticonEmoticon