Mailman 的配置
【遷移】Mailman 的配置
本來想鼓搗 Sympa,在 Debian testing 上折騰了好長時間,貌似是打包問題,有很多文件許可權不對頭,導致 Sympa 服務啟動不了,調試了下,文件許可權不對的地方太多了,懶得鼓搗了。
從 Debian Popcon 上看,Mailman 的裝機量比 Sympa 多了一個數量級,Mailman 在開源社區的採用率之高真不是吹的。Mailman 安裝還是挺簡單的,裝完後,按照 /usr/share/doc/mailman/README.Exim4.Debian.gz 的說明配置下與 Exim4 的配合就行了,基本就是複製它的配置命令。
裝上後發現四個問題,第一,Mailman 不判斷系統郵件賬戶是否存在,比如我有個郵件賬戶叫 dieken@corp.example.com,然後我可以創建 dieken@corp.example.com 郵件列表。。。。這讓我很鬱悶,仔細想了下,Mailman 確實也無能為力,它並不能知道普通郵件賬戶的域名部分是啥東西,而且它也沒必要知道這個,只有 MTA 和 MDA 關心這個,所以增加一個這個問題的配置項對 mailman 是無意義的。考慮到不能指望用戶創建郵件列表時都加一個 -list 後綴什麼的,我還是選擇在 /etc/mailman/mm_cfg.py 里設置 DEFAULT_EMAIL_HOST 為 http://list.corp.example.com 里,這樣創建的郵件列表域名部分都是 @http://list.corp.example.com。
第二個問題是修改 mailing list 的 url host(用來生成歸檔頁面、通知郵件里的 full URL) 後,之前生成的歸檔頁面里的鏈接沒有被 fix_url 改過來,只能手動編輯那幾個 html 文件。這倒也情有可源,怪不得 mailman 了。
第三個問題是 /var/lib/mailman/bin/genaliases 有時候出問題,導致 /var/lib/mailman/data/virtual-mailman 文件內容為空,這個文件裡頭記錄一些 mailman 專用的郵件地址,不必放到 /etc/aliases 里,沒這些地址,Exim 就不會按照 mailman 的轉發規則轉發郵件,而是報告郵件無法投遞。我沒能穩定復現這個問題,最後重裝 mailman 後就正常了。
第四個問題很詭異,Debian stable 和 testing 里 mailman 包的 /var/lib/mailman/archives/private 目錄都是 list:www-data 屬主,由於這個目錄設置了 set gid 許可權位,導致其子目錄會繼承 www-data 組設置,所以 root 執行 newlist 會在 private 目錄下生成 root:www-data 屬主的子目錄, mailman 的 Web UI 則生成 www-data:www-data 屬主的子目錄(我還沒讓 mailman CGI 程序以獨立用戶身份運行),要命的是 mailman 服務以 list:list 身份運行,導致做郵件歸檔時無法寫入 /var/lib/mailman/archives/private 目錄。在執行 chown www-data:list /var/lib/mailman/archives/private; chgrp -R list /var/lib/mailman/archives/private 後問題解決。
這個問題很奇怪,Debian stable 上 mailman 包被人裝了很多次了,沒人彙報這個 bug,testing/unstable 上的 mailman 也沒人報告,我不知道為啥就我這裡出問題了,要說 www-data 和 list 的 uid/gid 因為安裝軟體包順序不一樣會調換,其它目錄的屬主卻沒問題。
BTW,Debian mailman maintainer 的郵件列表上基本 99% 都是垃圾郵件,也不加個反垃圾郵件的設置。。。。裡頭居然還有不少中文垃圾郵件,連政府公文都有。。。。
推薦閱讀:
TAG:Linux |