FreeBSD 安裝 dovecot 提供 pop3s

O.S: FreeBSD 7.1 Release
因為現在 Google Apps (Google 應用服務)實在太方便了,想要一個有 SSL 的 mail server 不但不用安裝 postfix+Cyrus SASL+smtp... 等等拉拉雜雜的軟體,不但要設定一堆東西,還要提心吊膽什麼時後會被鑽到漏洞變成別人的垃圾信箱發信端。只是需要設定 DNS 而已(這個就不多說了,網路上免費的不少,如果你有自己的 domain 的話,就更方便囉:yeah)。不過,如果像我一樣是用 FreeBSD 架伺服器的話,有些 log 信件還是會寄給 root,就算你用 mail alias 也是沒辦法發到正確的信箱。我也不知道為啥,可能是 mail alias 只能選擇本機的帳號吧,我填設定好的 Google Apps 的信箱,怎樣都不能,都出現:

Feb 18 01:17:12 denniswave sm-mta[33034]: n1HHHBeH033034: Losing ./qfn1HHHBeH033034: savemail panic
Feb 18 01:17:12 denniswave sm-mta[33034]: n1HHHBeH033034: SYSERR(root): savemail: cannot save rejected email anywhere


所以就去找了個 pop3 的軟體(dovcot。參考:Izero),dovcot 有支援 SSL 連線,安裝又很簡單。
1. 安裝

#cd /usr/ports/mail/dovcot
#make install clean   (選擇 default 就可以了)
[x]KQUEUE kqueue(2) support
[x]SSL    SSL support
[x]IPV6   IPv6 support
[x]POP3   POP3 support
[x]LDA    LDA support

2. 開機自動啟動 dovecot

#ee /etc/rc.conf
加上:
dovecot_enable="YES"

3.  設定 dovecot

#ee /usr/local/etc/dovecot.conf
protocols = imap imaps pop3 pop3s
log_path = /var/log/dovecot.log  (要把錯誤訊息放在哪邊)
#info_log_path     (預設沒有設定,代表是跟錯誤訊息放在同一個檔案裡面)
ssl_cert_file = /usr/local/etc/apache22/server.crt   (SSL 的主角上場囉)
ssl_key_file = /usr/local/etc/apache22/server.key
first_valid_gid = 1000  (使用 dovecot 的使用者,他的GID要超過多少)

大致上只要設定你要開啟的服務,紀錄 log 的位置、SSL 憑證的位置和可以使用 dovecot 的使用者的權限就好了(我記得很久之前安裝 pop3 還需要去 inetd 開啟服務,這個不用)。預設有 imap、imaps、pop3、pop3s 這些服務,如果你只想開啟 SSL 的話,就把 imap 和 pop3 刪除。不過要使用 SSL 的話,還需要憑證。如果你已經有其他憑證了(譬如 apache 的),可以直接拿來用。如果不會產生憑證的話,可以參考這裡。另外 dovecot 有個 first GID 的設定,就是使用 dovecot 的使用者,他的 GID 一定要大於這個數字,主要是怕像 root、ftp 等一些系統的帳號會被拿來測試密碼吧(因為這樣的選項安裝下來,其實是直接用 freebsd 的帳號密碼登入,所以比較不安全點)。建議可以新增一個帳號,群組用成 nobody,login shell 改成 /usr/sbin/nologin 就好了。就算猜到密碼,他也進不來伺服器(只是還是可以收信啦:01)。
另外,設定好了的時候,要把所有信件都轉給這個使用者(預設都是寄給 root 了)。

#ee /etc/mail/aliases
加上:
root: pop3user   (這樣就可以把所有寄給 root 的信件轉給 pop3user )
#newaliases  (把新的 alias 規則寫入 database:檔案在 /etc/mail/aliases.db)

4. 測試
是看看自己發一封信給 root 看看 mail 會不會收到

#mail -s "Subject" root@your.domain < testfile

這樣就會寄給 root 主旨為 "Subject" 內容是 "testfile" 內文的信件。如果你在 /var/mail/pop3user 有看到這封信的話,就成功囉:08
其實好像說到 Google Apps 是多餘的,Google Apps 主要是負責收別人寄給你的信和你寄出去的信,而且你要收 Google Apps 的 pop3 伺服器是 pop.gmail.com。跟怎麼收 FreeBSD 裡面的信沒有關係,所以-----好多廢話:01

Please follow and like us:

One comment on “FreeBSD 安裝 dovecot 提供 pop3s

denniswave 發表迴響 取消回覆

你的電子郵件位址並不會被公開。 必要欄位標記為 *