在 /usr/ports/mail/mailman 下,
打 make MAIL_GID=mailman WITH_CHINESE=yes install clean,
MAIL_GID 視 MTA 而定,
可以用 make options 來看要選哪種,
用 postfix 就是搭 mailman,
會安裝在 /usr/local/mailman 下。
用 ports 安裝完以後還有一些步驟,
要去編輯 Mailman/mm_cfg.py,
沒有使用 virtual host 設定的話,
設成這樣就可以了:
1 2 3 4 5 6 7 |
MTA = 'Postfix' VIRTUAL_HOST_OVERVIEW = Off DEFAULT_EMAIL_HOST = '這裡填 host' DEFAULT_URL_HOST = '這裡也填 host' DEFAULT_URL_PATTERN = 'https://%s/mailman/' PUBLIC_ARCHIVE_URL = 'https://%(hostname)s/pipermail/%(listname)s' OWNERS_CAN_DELETE_THEIR_OWN_LISTS = Yes |
因為想要用 https 進入,
所以 URL 前面改成 https,
最後一行是讓我們能在 web 介面裡刪除 mailing list,
這個檔是覆寫 Mailman/Defaults.py 裡的變數用的。
然後執行 bin/genaliases 在 data/ 下產生 aliases 和 aliases.db,
並做 chown mailman:mailman data/aliases*,
以及 chmod g+w data/aliases.db,
data/aliases 本身的 group 已經有 write 權限,
不知道為什麼 aliases.db 不順便自動設一下。
接著設定 site 和 creator 的密碼:
1 2 3 4 |
bin/mmsitepass <passowrd> bin/mmsitepass -c <password> |
然後去 postfix 的 main.cf 加入這兩行:
1 2 |
owner_request_special = no recipient_delimiter = + |
並將 aliases 的相關設定修改一下:
1 2 |
alias_maps = hash:/etc/aliases, hash:/usr/local/mailman/data/aliases alias_database = hash:/etc/aliases, hash:/usr/local/mailman/data/aliases |
最後去 apache2 的 httpd.conf 或 ssl.conf 加入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Alias /pipermail "/usr/local/mailman/archives/public" <Directory "/usr/local/mailman/archives/public"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> ScriptAlias /mailman "/usr/local/mailman/cgi-bin" <Directory "/usr/local/mailman/cgi-bin"> Options FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all </Directory> |
那個 ExecCGI 好像不要也可以,不過還是加上去了。
重新啟動 apache2 和 postfix 之後,
先用 web 介面建立 mailman 這個 mailing list,
URL 在 https://<host>/mailman/create,
然後用 bin/config_list -i data/sitelist.cfg mailman 初始化它,
接著執行 /usr/local/etc/rc.d/mailman.sh start,
這個 script 不需要像其它 ports 一樣需要修改 /etc/rc.conf 才能動,
不過跑它之前一定要先造出 mailman 這個 mailing list。
mailman 的文件是說要用 bin/newlist 來產生,
可是因為很懶得去改 console 介面的語系,
不改的話所有的 prompt 都會變成一堆亂碼,
所以乾脆直接用 web 介面。
這樣就完成 mailman 的安裝和基本設定了。