Skip to content

Dashboard

Cài mail server trên Centos 7 chỉ với 4 bước

Created by Admin

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

1. 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.

2. 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

3. 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.

4. 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!

Theo Krizna.

Source: https://vietnix.vn/cai-mail-server-tren-centos-7/