banner jpg

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

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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

mailserver 01 jpg

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 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 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:

loi 01 png

Đá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.

loi 02 png

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.

squirrelmail png

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

check 01 png

Ta đăng nhập vào mailuser2 để kiểm tra xem thư đã tới hay chưa.

check 02 png

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

Cùng chuyên mục:

Cách dùng lệnh Users trong Linux để xem user đang online

Cách dùng lệnh Users trong Linux để xem user đang online

Nếu bạn đang là quản trị viên thì việc quản lý thông tin / xem…

Cách sử dụng lệnh Wall trong Linux

Cách sử dụng lệnh Wall trong Linux

Wall là một công cụ dòng lệnh giúp hiển thị thông báo đến tất cả…

Cách dùng lệnh Whereis trong Linux

Cách dùng lệnh Whereis trong Linux

Whereis là một tiện ích dòng lệnh command line, nó cho phép bạn tìm ..

Cách sử dụng lệnh Which trong Linux

Cách sử dụng lệnh Which trong Linux

Linux dùng lệnh which để xác định vị trí file thực thi của lệnh mà…

Cách sử dụng lệnh whoami trong Linux

Cách sử dụng lệnh whoami trong Linux

Giống như tên gọi của nó, lệnh whoami in tên người dùng đang chạy ...

Cách dùng lệnh zcat trong Linux

Cách dùng lệnh zcat trong Linux

Mặc dù tính năng nén file rất hữu ích vì nó giúp ta tiết kiệm…

Hiểu rõ hơn về chmod 777 trong Linux

Hiểu rõ hơn về chmod 777 trong Linux

Bạn đang xây dựng một website và sử dụng tính năng upload ...

Cách sử dụng lệnh tail trong Linux

Cách sử dụng lệnh tail trong Linux

Mặc định thì lệnh tail sẽ hiển thị 10 dòng cuối cùng của file, thông…

Cách sử dụng lệnh Head trong Linux

Cách sử dụng lệnh Head trong Linux

Trong quá trình quản trị dữ liệu trên Linux đôi khi bạn muốn xem nhanh…

Cách sử dụng lệnh Whatis trong Linux

Cách sử dụng lệnh Whatis trong Linux

Trong bài này chúng ta sẽ tìm hiểu lệnh whatis trong ...

Cách sử dụng lệnh kill trong Linux

Cách sử dụng lệnh kill trong Linux

Linux là một hệ điều hành rất nhanh nhưng không phải lúc nào nó không…

Cách dùng lệnh who trong Linux

Cách dùng lệnh who trong Linux

Who là một công cụ dòng lệnh command-line, được ...

Cách dùng lệnh basename trong Linux

Cách dùng lệnh basename trong Linux

basename là một tiện ích dòng lệnh (command line) dùng để lấy ...

Cách sử dụng lệnh gzip trên Linux

Cách sử dụng lệnh gzip trên Linux

Gzip là một trong những thuật toán nén file phổ biến nhất, nó cho phép…

Cách dùng lệnh wait trong Linux

Cách dùng lệnh wait trong Linux

Wait là lệnh dùng để đợi một thời gian cho tới khi công việc nào…

Cách dùng lệnh ping trong Linux

Cách dùng lệnh ping trong Linux

Lệnh ping là một trong những công cụ được sử dụng nhiều nhất để khắc…

Cách dùng lệnh sleep trong Linux

Cách dùng lệnh sleep trong Linux

sleep là một tiện ích command line cho phép lập trình viên ..

Các ví dụ học Bash Script trong Linux cơ bản nhất

Các ví dụ học Bash Script trong Linux cơ bản nhất

Bash Script đuọc xem là mã code lập trình trên Linux ...

Vòng lặp until trong Shell Script

Vòng lặp until trong Shell Script

Vòng lặp while trong Shell Script

Vòng lặp while trong Shell Script

Trong Linux script, vòng lặp while được sử dụng trong ...

Top