Hướng dẫn cấu hình Mail Server trên CentOs 6.5
Trong bài viết này mình sẽ hướng dẫn các bạn cấu hình Mail Server trên Linux mà cụ thể là trên CentOS 6.5. Đây là một dịch vụ khá phổ biến hiện nay đi kèm với đó là Gmail, OutLook,...
Chúng ta sẽ lần lượt tìm hiểu về khái niệm, chức năng của Mail Server. Sau đó sẽ thực hiện cấu hình trên CentOS 6.5 nhé.
Mail Server là gì?
Mail Server là hệ thống máy chủ được cấu hình riêng theo tên miền của doanh nghiệp dùng để gửi và nhận thư điện tử.
Hiện nay Mail Server không còn được sử dụng nhiều như là Gmail nhưng nó vẫn đáp ứng được nhu cầu của người dùng. Có tốc độ và bảo mật cao, có thể kiểm tra mail thông qua phần mềm duyệt mail hoặc trên tất cả các loại trình duyệt mail.
Bài viết này được đăng tại [free tuts .net]
Chức năng của Mail Server
Về cơ bản thì Mail Server tương tự như một ứng dụng quản lý mail, vì vậy nó cũng có một số chức năng cơ bản như sau:
- Quản lý Account (tài khoản).
- Trao đổi thư giữa các user trong một server hoặc giữa các mail server với nhau.
- Có thể sử dụng web-mail để trao đổi thư hoặc sử dụng ứng dụng duyệt mail để trao đổi thư.
Cấu hình Mail Server trên CentOS 6.5
Trong phần này chúng ta sẽ thực hiện cấu hình Mail Server trên CentOS 6.5. Cụ thể chúng ta sẽ cần chuẩn bị những gì và cài đặt các dịch vụ cần thiết để có thể cấu hình Mail Server.
1. Chuẩn bị
Để có thể cấu hình Mail Server trên CentOS 6.5 ta cần chuẩn bị một số thứ quan trọng sau đây:
- Một máy ảo VMWare để cài đặt CentOS 6.5.
- Một địa chỉ IP (IP hiện tại trên máy ảo).
- Hostname (hostname này do các bạn tự đặt nhé).
Như vậy là chúng ta đã có một số thứ quan trọng cho việc cấu hình. Bây giờ sẽ bắt tay vào việc cài đặt và cấu hình các dịch vụ cần thiết.
2. Cài đặt và cấu hình dịch vụ Postfix (MTA)
Đầu tiên chúng ta sẽ cài đặt và cấu hình dịch vụ Postfix. Đây là một chương trình mã nguồn mỡ miễn phí vì vậy các bạn có thể cài đặt và sử dụng nó một cách thoải mái nhé. Bây giờ chúng ta sẽ thực hiện theo từng bước dưới đây.
Bước 1: Kiểm tra dịch vụ Postfix đã được cài đặt hay chưa
rpm -qa |grep postfix
Bước 2: Vào file /etc/postfix/main.cf để cấu hình một số thứ cần thiết.
vi /etc/postfix/main.cf
Sau khi vào file main.cf chúng ta sẽ xét số dòng (:set nu) để thuận tiện cho việc tìm kiếm các dòng trong file.
*Lưu ý: Để thuận tiện cho việc tìm kiếm các dòng trên file ta dụng lệnh :/ để tìm đến vị trí cần tìm trên file.
Bây giờ chúng ta sẽ thực hiện sửa đổi một số thuộc tính sau:
Bỏ # dòng 76 và 83 sau đó sửa lại hostname, domain.
76 myhostname = suning18ct111.vn
83 mydomain = 18ct111.vn
Bỏ # ở dòng 99, 113 và thêm # vào dòng 116
99 myorigin = $mydomain
113 inet_interfaces = all
116 #inet_interfaces = localhost
Bỏ # dòng 165 và thêm # dòng 164.
164 #mydestination = $myhostname, localhost.$mydomain, localhost
165 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
Bỏ # dòng 264 thêm địa chỉ đường mạng
264 mynetworks = 192.168.1.0/24, 127.0.0.0/8
Biến mynetworks giúp dịch vụ postfix xác định được vùng mạng nào được chứng thực. Để forward email trong domain này đến những domain khác.
Ví dụ: Địa chỉ ip ở trên sẽ được mail server chuyển tiếp và phân phát email đến.
Bỏ # dòng 296
296 relay_domains = $mydestination
Bỏ # dòng 419
419 home_mailbox = Maildir/
Biến home_mailbox được dùng để cấu hình hòm thư đầu cuối. Có hai loại hòm thư đó là: mailbox và maildir. Ở đây chúng ta sẽ sử dụng hòm thư maildir nhé.
Bước 3: Sau khi cấu hình xong ta lưu file và thoát: Esc -> :x
Bước 4: Tạo thư mục Maildir trong thư mục hệ thống /etc/skel để quản lý mail. Trong thư mục Maildir có các thư mục con là new (thư mục lưu tập tin mới), tmp (thư mục lưu tập tin nháp), cur (thư mục lưu tập tin hiện tại).
Bước 5: Restart dịch vụ và cho khởi động cùng hệ thống
service postfix restart chkconfig --level 1235 postfix on
Để kiểm tra dịch vụ có hoạt động hay không ta dùng lệnh
service postfix status
Như vậy là chúng ta đã cài đặt và cấu hình xong dịch vụ Postfix, bây giờ ta tiếp tục cài đặt dịch vụ Dovecot nhé.
3. Cài đặt và cấu hình Dovecot (MDA)
Sau khi cài đặt và cấu hình thành công dịch vụ Postfix, ta tiếp tục cài đặt dich vụ Dovecot và cấu hình một số thuộc tính. Cụ thể ta sẽ thực hiện theo các bước sau đây:
Bước 1: Cài đặt Dovecot
yum install dovecot*
Bước 2: Vào file /etc/dovecot/dovecot.conf để cấu hình
vi /etc/dovecot/dovecot.conf
Sau khi vào file cấu hình, ta xét số dòng và thực hiện thay đổi dưới đây:
Bỏ # dòng 20, ta chỉ cần sử dụng imap và pop3
20 protocols = imap pop3
Lưu lại và thoát khỏi file.
Bước 3: Vào file /etc/dovecot/conf.d/10-mail.conf để cấu hình
vi /etc/dovecot/conf.d/10-mail.conf
Sau khi vào file ta tìm đến dòng mail_location = maildir:~/Maildir bỏ dấu # đi và lưu lại.
Bước 4: Vào file /etc/dovecot/conf.d/20.imap.conf để cấu hình.
Bỏ dấu # ở dòng imap_client_workarounds và thêm thuộc tính:
imap_client_workarounds = outlook-idle delay-newmail netscape
Bước 5: Vào file /etc/dovecot/conf.d/20.pop3.conf
Bỏ dấu # ở dòng
pop3_uidl_format = %08Xu%08Xv
Tương tự như file 20.imap.conf, ta bỏ dấu # và thêm thuộc tính:
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
Bước 6: Restart dịch vụ Dovecot và cho khởi động cùng hệ thống.
service dovecot start chkconfig --level 1235 dovecot on
4. Cài đặt và cấu hình Squirrel Mail (MUA)
Sau khi cài đặt thành công Postfix và Dovecot, bây giờ ta có thể cài đặt Squirrel Mail và thực hiện trao đổi thư. Cụ thể sẽ thực hiện theo các bước sau:
Bước 1: Cài đặt epel-release
yum install epel-release*
*Lưu ý: Nếu trong lúc cài đặt Squirrelmail mà gặp lỗi không thể cài đặt thì có thể fix lỗi như sau: Vào file /etc/yum.repos.d/epel.repo và đổi https thành http ở các dòng mirrorlist.
Bước 2: Cài đặt Squirrel Mail
yum install squirrelmail
Bước 3: Vào file /etc/squirrelmail/config.php để cấu hình cho Squirrelmail.
Ta sửa domain thành tên domain mà ta đã đặt ở file main.cf trong dịch vụ postfix.
$domain = ‘18ct111.vn’;
Cùng với đó là địa chỉ IP cho imapServer và smtpServer là địa chỉ IP hiện tại trên máy ảo.
$imapServerAddress = ‘192.168.1.8’; $smtpServerAddress = ‘192.168.1.8’;
Tắt dịch vụ Sendmail.
$useSendmail = false;
Lưu lại và thoát
Bước 4: Restart lại dịch vụ httpd và cho khởi động cùng hệ thống.
service httpd restart chkconfig --level 1235 httpd on
Như vậy là chúng ta đã cấu hình xong cho dịch vụ Squirrelmail, ta sẽ thực hiện kiểm tra xem đã tìm thấy server hay chưa bằng cách truy cập vào đường dẫn sau: suning18ct111.vn/webmail/src/login.php (trong đó suning18ct111.vn là tên domain mà ta đã đặt lúc đầu).
Nếu bị lỗi như dưới đây, thì ta thực hiện chỉnh sửa file /etc/httpd/conf.d/squirrelmail.conf như sau:
Đánh câu lệnh “:1,$s/^/#” để đánh dấu # cho tất cả các dòng trong file.
Nếu vẫn không tìm thấy được server, có lẽ IP của hostname chưa được thêm vào trong file /etc/hosts. Vậy nên ta chỉ cần thêm địa chỉ IP của máy và hostname của máy vào file.
192.168.1.8 suning.18ct111.vn
Lưu lại và thoát.
Sau khi fix lỗi và load lại trang web, nếu bị lỗi như hình dưới đây thì ta thực hiện bật httpd_can_network_connect.
setsebool -P httpd_can_network_connect=1
Tiếp đến ta vào file /etc/httpd/conf/httpd.conf để thêm đoạn code sau vào cuối file:
Alias /webmail /usr/share/squirrelmail <Directory /usr/share/squirrelmail> Options Indexes FollowSymLinks RewriteEngine On AllowOverride All DirectoryIndex index.php Order allow,deny Allow from all </Directory>
Bây giờ ta restart lại tất cả các dịch vụ bao gồm: Postfix, Dovecot, Httpd.
Sau đó load lại trang web, nếu kết quả như hình dưới thì chúng ta đã cài đặt thành công Squirrelmail.
5. Tạo tài khoản và tiến hành trao đổi mail
Để đăng nhập được vào và sử dụng Squirrelmail ta cần tạo tài khoản bằng việc sử dụng user trong linux. Tạo hai user có tên là mailuser1 và mailuser2 với mật khẩu tùy chọn.
Sau khi tạo thành công hai user ta có thể sử dụng nó để đăng nhập vào Squirrelmail và tiến hành gửi thư cho nhau để kiểm tra.
Ta đăng nhập vào mailuser2 để kiểm tra xem thư đã tới hay chưa.
Như vậy là chúng ta đã cấu hình thành công Mail Server trên Linux mà cụ thể là trên CentOS 6.5. Chúc các bạn thực hiện thành công !!!