Hotline : 07 088 44444
Thích
Chia sẻ

Hướng dẫn cách cài mail server trên Centos 7 đơn giản nhất

01/05/2021

Bài viết này sẽ giúp bạn cài mail server trên CentOS 7 một cách cơ bản. Ở đây chúng tôi sử dụng Postfix cho SMTP, Dovecot cho POP/ IMAP và Dovecot SASL cho SMTP AUTH. Hãy đảm bảo rằng bạn đã gán IP tĩnh cho server và có kết nối internet để cài đặt.

cai-dat-mai-server-tren-centos
Hướng dẫn cài mail server trên CentOS 7 nhanh nhất

Cài đặt các gói

Gán tên cho server bằng cách sử dụng lệnh sau.

[root@krizna ~]# hostnamectl set-hostname mail.krizna.com

Tạo host entry bằng IP của bạn trong file /ect/hosts.

172.27.0.51 mail.krizna.com

Bây giờ hãy bắt đầu cài đặt các gói.

[root@krizna ~]# yum -y install postfix dovecot

Sau khi cài đặt xong các gói, hãy tiếp tục với việc cấu hình cho postfix để cài mail server trên CentOS 7.

Cấu hình Postfix

Đầu tiên tạo SSL certificate để mã hóa.

Thực hiện theo từng bước một dưới đây

[root@mail ~]# mkdir /etc/postfix/ssl
[root@mail ~]# cd /etc/postfix/ssl
[root@krizna ssl]# openssl genrsa -des3 -out server.key 2048
[root@krizna ssl]# openssl rsa -in server.key -out server.key.insecure
[root@krizna ssl]# mv server.key server.key.secure
[root@krizna ssl]# mv server.key.insecure server.key

Để trống giá trị A challenge password [] trong bước dưới đây.

[root@krizna ssl]# openssl req -new -key server.key -out server.csr
[root@krizna ssl]# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Bây giờ mở file /etc/postfix/main.cf để thay đổi.

Tìm và uncomment những dòng dưới đây.

#inet_interfaces = localhost #---> line no 116
#mydestination = $myhostname, localhost.$mydomain, localhost #--> line no 164

Sau đó thêm các dòng bên dưới vào cuối file. Thay đổi giá trị myhostnamemydomain bằng giá trị của bạn. Tương tự thay home_mailbox thành directory mong muốn của bạn. Tại đây sẽ lưu trữ các mail trong home directory của người dùng.

myhostname = mail.krizna.com
mydomain = krizna.com
myorigin = $mydomain
home_mailbox = mail/
mynetworks = 127.0.0.0/8
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes
smtpd_tls_loglevel = 1
smtpd_tls_key_file = /etc/postfix/ssl/server.key
smtpd_tls_cert_file = /etc/postfix/ssl/server.crt
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

Mở file /etc/postfix/master.cf, thêm dòng lệnh bên dưới sau dòng “smtp inet n – n – – smtpd“.

submission     inet  n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
smtps     inet  n       -       n       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING

Bây giờ hãy kiểm tra cấu hình bằng lệnh postfix check.

Bây giờ hãy cấu hình Dovecot SASL cho SMTP Auth. Mở file /etc/dovecot/conf.d/10-master.conf, tìm dòng “# Postfix smtp-auth” (dòng số: 95) và thêm các dòng bên dưới.

# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}

Mở file /etc/dovecot/conf.d/10-auth.conf, tìm“auth_mechanisms = plain”(Dòng số: 100) và thêm login vào giá trị như bên dưới.

auth_mechanisms = plain login

Cấu hình Postfix hoàn thành. Bây giờ khởi động lại cả postfix và dovecot và bật tự động khởi động.

[root@mail ~]# systemctl restart postfix
[root@mail ~]# systemctl enable postfix
[root@mail ~]# systemctl restart dovecot
[root@mail ~]# systemctl enable dovecot

Thêm các rule tường lửa để cho phép các port 25, 587, 465.

[root@mail ~]# firewall-cmd --permanent --add-service=smtp
[root@mail ~]# firewall-cmd --permanent --add-port=587/tcp
[root@mail ~]# firewall-cmd --permanent --add-port=465/tcp
[root@mail ~]# firewall-cmd --reload

Bây giờ hãy kiểm tra kết nối của từng cổng 25,587,465 bằng telnet. Hãy đảm bảo rằng bạn nhậ được dòng AUTH PLAIN LOGIN sau khi phát lệnh ehlo mail.krizna.com trong telnet. Bước tiếp theo trong cài mail server trên CentOS 7 là cấu hình Dovecot.

[root@mail ~]# telnet mail.krizna.com 465
Trying 172.27.0.51...
Connected to mail.krizna.com.
Escape character is '^]'.
220 mail.krizna.com ESMTP Postfix
ehlo mail.krizna.com <------- Type this command 250-mail.krizna.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN

Cấu hình Dovecot

Mở file /etc/dovecot/conf.d/10-mail.conf, tìm #mail_location = ( dòng số : 30) và thêm directory giống như home_mailbox trong file config của postfix. (Bước 5)

mail_location = maildir:~/mail

Mở file /etc/dovecot/conf.d/20-pop3.conf, tìm và uncomment bên dưới ( dòng số : 50).

pop3_uidl_format = %08Xu%08Xv

Khởi động lại dovecot.

[root@mail ~]# systemctl restart dovecot

Thêm rule tường lửa để cho phép port 110,143,993 và 995.

[root@mail ~]# firewall-cmd --permanent --add-port=110/tcp
[root@mail ~]# firewall-cmd --permanent --add-service=pop3s
[root@mail ~]# firewall-cmd --permanent --add-port=143/tcp
[root@mail ~]# firewall-cmd --permanent --add-service=imaps
[root@mail ~]# firewall-cmd --reload

Kiểm tra kết nối của các port 110,143,993 và 995 bằng telnet. Cuối cùng, hãy tạo tài khoản user để hoàn tất việc cài mail server trên CentOS 7.

Tạo tài khoản người dùng

Bây giờ tạo một tạo khoản để kiểm tra thử. Tạo tài khoản người dùng với /sbin/nologin shell để hạn chế quyền truy cập đăng nhập.

[root@mail ~]# useradd -m john -s /sbin/nologin
[root@mail ~]# passwd john

Mail server đã sẵn sàng, cấu hình user trong hộp thư của bạn và thử nghiệm gửi/nhận.

cai-dat-mail-server-centos7

Như vậy là quá trình cài mail server trên CentOS 7 đã kết thúc. Chúc các bạn thành công!

Nếu bạn có thắc mắc hay có vấn đề cần hỗ trợ, bạn có thể liên hệ trực tiếp với Vietnix thông qua các kênh sau:
  • Hotline: 1800 1093 - 07 088 44444
  • Email: support@vietnix.vn
  • Hoặc chat trực tiếp với Vietnix thông qua biểu tượng Livechat ở góc phải màn hình. Đội ngũ chuyên viên của chúng tôi luôn sẵn sàng tư vấn và hỗ trợ bạn 24/7.
Vietnix hiện đang có chương trình khuyến mãi lớn nhất trong năm, giảm giá TRỌN ĐỜI: Đăng ký dùng thử ngay và Vietnix sẽ hoàn tiền 100% nếu quý khách không hài lòng với chất lượng sản phẩm, dịch vụ!
Mình là Bo - admin của Quản Trị Linux. Mình đã có 10 năm làm việc trong mảng System, Network, Security và đã trải nghiệm qua các chứng chỉ như CCNP, CISSP, CISA, đặc biệt là chống tấn công DDoS. Gần đây mình trải nghiệm thêm Digital Marketing và đã hòan thành chứng chỉ CDMP của PersonVUE. Mình rất thích được chia sẻ và hỗ trợ cho mọi người, nhất là các bạn sinh viên. Hãy kết nối với mình nhé!
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments