Thử thêm cái coi lào
Mar 7

Cài đặt, cấu hình cho Mail server tren Ubuntu

Có rất nhiều phần mềm dùng để chạy Mail server. Nhưng trong bài này chúng ta sẽ dùng Postfix + Dovecot + pop-before-smtp để cài đặt đơn giản nhất. Các vấn đề khác như: cho phép login với SSL, Antivirus, SpamAssassin,... sẽ được cập nhật trong thời gian tới khi cần thiết.

1. Cài đặt Postfix

Để cài đặt Postfix, chạy lệnh sau:

#sudo apt-get install postfix

Mặc định Postfix sẽ quản lý email theo dạng mbox với một số hạn chế. Chúng ta sẽ chuyển sang dùng Maildir.

#sudo postconf -e "home_mailbox = Maildir/"

Nếu lệnh trên hổng chạy thì edit file /etc/postfix/main.cf và thêm dòng "home_mailbox = Maildir/" (không có dấu nháy) vào cuối file.

Khởi động lại Postfix:

#sudo /etc/init.d/postfix restart

2. SMTP Authentication

Cài đặt vào các gói cần thiết:

#sudo apt-get install libsasl2 libsasl2-modules sasl2-bin

Mở file /etc/default/saslauthd và uncomment dòng này "START=yes"

Mở file /etc/init.d/saslauthd và tìm dòng có chữ "PARAMS=..." và thêm vào cuối dòng đoạn mã sau:

-m /var/spool/postfix/var/run/saslauthd

Sau đó tạo ra các thư mục sau và chown cho user postfix:

#mkdir /var/spool/postfix/var
#mkdir /var/spool/postfix/var/run
#mkdir /var/spool/postfix/var/run/saslauthd
#chown -R root.sasl /var/spool/postfix/var/run/saslauthd

Khởi động lại saslauthd bằng lệnh:

#/etc/init.d/saslauthd restart

Kiểm tra xem nó đã hoạt động chưa:

#ps -ef | grep saslauthd

#ls -lh /var/spool/postfix/var/run/saslauthd

Tạo ra một thư mục /etc/postfix/sasl và sau đó tạo ra một file tên smtpd.conf với nội dung:

pwcheck_method: saslauthd

Sau đó mở file cấu hình của Postfix /etc/postfix/main.cf và thêm vào các dòng sau (nhớ là các dòng cuối cùng phải có khoảng cách đầu dòng):

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_application_name = smtpd
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions =
   permit_sasl_authenticated,
   permit_mynetworks,
   check_relay_domains
Khởi động lại Postfix:
/etc/init.d/postfix reload
Có thể thử bằng cách telnet vào server.
Nếu server không hoạt động tốt, hãy thử check file /var/log/mail.log
3. Cài đặt Dovecot
Cài đặt Dovecot bằng lệnh:
#sudo apt-get install dovecot dovecot-pop3d dovecot-imapd
Nếu lệnh trên hổng chạy, thử lệnh sau:
#sudo apt-get install dovecot dovecot-pop3d dovecot-imapd 
Mở file /etc/dovecot/dovecot.conf và xác định các giao thức mà Dovecot sẽ cung cấp.
Ở trong bài viết này chỉ hướng dẫn cấu hình cho POP3 và IMAP thôi.
protocols = imap imaps
Khởi động lại Dovecot:
/etc/init.d/dovecot restart
Chúng ta có thể thử lại bằng lệnh mutt (thường phải cài vào):
#mutt -f imap://username@hostname/
#mutt -f pop://username@hostname/ 
 
Trong một số trường hợp, khi test với giao thức POP3 sẽ bị báo lỗi "Không tìm thấy thư mục..." gì đấy.
Trong trường hợp này cần mở file /etc/dovecot/dovecot.conf
Tìm dòng có chứa "pop3_uidl_format" và chỉnh lại thành:
pop3_uidl_format %u
Sau đó khởi động lại Dovecot thì lỗi trên sẽ đơợc loại bỏ.
Cấu hình cho Dovecot sử dụng Maildir.
Tìm dòng "default_mail_env" trong file /etc/dovecot/dovecot.conf" và đổi thành:
default_mail_env = maildir:~/Maildir
Khởi động lại Dovecot.
4. Cấu hình Pop-before-smtp
Trước khi cài đặt pop-before-smtp cần phải cài đặt các gói sau:
#sudo apt-get install libtimedate-perl libnet-netmask-perl libberkeleydb-perl
Cài đặt pop-before-smtp:
#sudo apt-get install pop-before-smtp
Sau đó chạy các lệnh sau:
#cp pop-before-smtp.init/etc/rc.d/init.d/pop-before-smtp
#cp pop-before-smtp /usr/sbin/ 
Edit file /etc/pop-before-smtp/pop-before-smtp.conf và uncomment cho phần mềm thích hợp.
Ở đây chúng ta xài Dovecot nên hãy tìm chỗ Dovecot.
# Set the log file we will watch for pop3d/imapd records.
 
#$file_tail{'name'} = '/var/log/maillog';
Thử xem pop-before-smtp đã hoạt động chưa:
#pop-before-smtp --dumpconfig
#pop-before-smtp --debug --nowrite --reprocess
Khởi động lại pop-before-smtp: 
#/etc/init.d/pop-before-smtp start
Kiểm tra lại xem DB của pop-before-smtp lưu ở đâu bằng các lệnh:
#ls -l /etc/mail/pop*
#ls -l /etc/postfix/pop*
#ls -l /var/lib/pop-before-smtp/hosts*
Sau đó cấu hình để SMTP dùng DB này.
Đối với Postfix, tìm trong file /etc/postfix/main.cf dòng "smtpd_recipient_restrictions" và thêm vào:
check_client_access hash:/etc/postfix/pop-before-smtp
Nếu chưa có dòng đó, hãy thử nguyên đoạn này coi sao:
smtpd_recipient_restrictions = 
  permit_mynetworks,
  reject_non_fqdn_recipient,
  check_client_access hash:/etc/postfix/pop-before-smtp,
  reject_unauth_destination 
 
Sau đó reload lại Postfix. Cuối cùng, hãy thử lại xem SMTP server đã ổn chưa bằng lệnh:
 
#telnet relay-test.mail-abuse.org
 
Nếu thấy kết quả là "System appeared to reject relay attempts" thì đạt yêu cầu.
 
 
P/S: Có tham khảo từ các nguồn:
http://popbsmtp.sourceforge.net/quickstart.shtml
http://adomas.org/2006/08/postfix-dovecot/
https://help.ubuntu.com/community/PostfixBasicSetupHowto
Minh Email
16 July 2008 13:47
Rat co ich, cam on cac nghien cuu cua ban.
MrBom
01 August 2008 16:46
Thanks,
Rất chi tiết, rất có ich cho những ai muốn học thêm về lix, hy vọng đọc thêm được bài SSL, Antivirus, SpamAssassin của Anh .
Email : teoowen@yahoo.com
Hưng Email
11 July 2009 22:53
Em làm như hướng dẫn, nhưng chỉ được postfix thui, còn mấy cái ở dưới SMTP, Dovedot thì không cài được, nó bảo cái package is not available. hix, có anh nào bít chỉ em với, em cài Postfix tren Ubuntu 9.04 Desktop thì có vấn đề j không ạ? hay phải cài trên Server???
TUYEN
16 June 2010 00:21
CHAO BAN SAO  MINH KHONG TIM THAY CAI "PARAMS=.." VÂY?
Phân trang 1/1 Trang đầu 1 Trang cuối