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. Show
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 postfixChỉnh sửa file config postfix: /etc/postfix/main.cf vi /etc/postfix/main.cfDi 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ạnmydomain = yourdomain.com thay bằng tên miền của bạnmyorigin = $myhostname myorigin = $mydomain inet_interfaces = all
Chạy lệnh bên dưới để cài đặt gói: yum -y install cyrus-saslChỉnh sửa file config postfix: /etc/postfix/main.cf vi /etc/postfix/main.cfsmtpd_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 postfixsystemctl enable postfix
firewall-cmd --permanent --add-service=smtpfirewall-cmd --reloadKiểm tra xem port 25 đã được chạy hay chưa. Sử dụng lệnh sau: sudo lsof -i:25Trạ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
yum -y install dovecot
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.cf0 Tìm và sửa dòng lệnh sau thành: vi /etc/postfix/main.cf1 Cho phép và khởi động dịch vụ: vi /etc/postfix/main.cf2 Thực hiện cấu hình cho phép dịch vụ trên tường lửa: vi /etc/postfix/main.cf3 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.cf4 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)
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. 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é. Tạo MX record– Để nhận được mail, bạn hãy tạo record MX với name là – 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: nano /etc/hosts 2 Kết quả tương tự như hình bên dưới: Để 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 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-BoxScript 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. Tiếp theo hãy nhập tài khoản mail admin. Trong bảng Hostname, hãy sử dụng subdomain mail. Country Code hãy chọn, VN Vietnam, nó ở ngay trên cùng. 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-BoxBâ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. Giao diện trang admin sẽ như sau:
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: 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 EmailSau 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: 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 ý:
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ư:
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. |