mailmanをPostfixにくわせる

今日ごにょごにょやった結果を。

[基本的に参考したサイト]

o オフィシャルのマニュアル
http://mm.tkikuchi.net/mailman-install/front.html

オフィシャルのマニュアルを読んでいただきつつ
足りない部分をコメントしていくかたちで。

1 インストールの必要事項

# python -V
Python 2.4.3

Pythonのバージョン指定はPython 2.3以降なので大丈夫。

2 システムセットアップ
2.1 グループとユーザの追加 - 問題なし

2.2 インストールディレクトリの作成
内容が凄くわかり辛いんですが、要は

 # mkdir /usr/local/mailman
# chgrp mailman /usr/local/mailman
# chmod a+rx,g+ws /usr/local/mailman

これでokでした。

3 Mailman の構築とインストール
3.1 configure を実行

"Debianだと"

./configure --with-cgi-gid=www-data

これが必要でした。。CentOSはnobodyなので大丈夫だと思いますが
あれでしたらgid=nobodyで設定してもよいかと思います。

パスは標準で、/usr/local/mailman/に入るので大丈夫です。

3.2 Make とインストール - 問題なし
4 インストールのチェック

 # /usr/local/mailman/bin/check_perms -f

上記コマンド実行すると日本語でエラー内容が表示されるので
文字化けする可能性を考慮すると
たたく前にenvをLANGをCにするとよいかもです。

5 ウェブサーバの設定

---
ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/
Alias /pipermail/ "/usr/local/mailman/archives/public/"

AllowOverride None
Options None
Order allow,deny
Allow from all

Options FollowSymLinks Indexes
AllowOverride None
Order allow,deny
Allow from all

こんな設定が入っていれば大丈夫かと。
BASIC認証は任意でって感じですかね。

あとはアイコンたちを。

 # cp -ip /usr/local/mailman/icons/* /usr/local/apache/icons/

6 メールサーバの設定
6.1 Postfix メールサーバを使う場合

o /etc/postfix/main.cf

下記3行追記してください。

---
owner_request_special = no
recipient_delimiter = +
unknown_local_recipient_reject_code = 550

6.1.1 PostfixMailman の統合

o /usr/local/mailman/Mailman/mm_cfg.py

下記参考にしてください。

---
MTA = 'Postfix'
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['13nightcrows.org']
add_virtualhost('13nightcrows.org')

DEFAULT_SERVER_LANGUAGE = 'ja'
OWNERS_CAN_DELETE_THEIR_OWN_LISTS = Yes

6.1.2 仮想ドメイン

!!! ここがマジで鬼門です。失敗するとエラーメールが… !!!

o /etc/postfix/main.cf

---

alias_maps = hash:/etc/aliases

alias_maps = hash:/etc/aliases, hash:/usr/local/mailman/data/aliases

virtual_alias_maps = pcre:/etc/postfix/virtual_pcre hash:/etc/postfix/virtual

virtual_alias_maps = pcre:/etc/postfix/virtual_pcre hash:/etc/postfix/virtual,
hash:/usr/local/mailman/data/virtual-mailman

===================================================

  • rw-rw---- 1 www-data mailman 0 Nov 4 17:12

/usr/local/mailman/data/virtual-mailman

  • rw-rw-r-- 1 mailman www-data 12288 Nov 4 17:12

/usr/local/mailman/data/virtual-mailman.db

# touch /usr/local/mailman/data/virtual-mailman
# /usr/local/mailman/bin/genaliases
* virtual-mailman.dbが作成されます。今回は利用しないので空でokです。
# chown mailman.nobody /usr/local/mailman/data/virtual-mailman*
# chmod 664 /usr/local/mailman/data/virtual-mailman*

とかで設定しないと、WebUIから操作した際にエラー表示され、

==============================================================================
Nov 04 15:47:32 2009 (24514) command failed: /usr/sbin/postmap
/usr/local/mailman/data/virtual-mailman (status: 1, Operation not )

こんな感じでエラーになります。。
で、他の操作でエラーが出るようでしたら
"/usr/local/mailman/data"このディレクトリのパーミッションかオーナーが
適切ではない可能性が高いので、お気をつけてください。

 # ls -ld /usr/local/mailman/data
drwxrwsr-x 2 root mailman 4096 2009-11-04 17:12 /usr/local/mailman/data

 # ls -la /usr/local/mailman/data
合計 64
drwxrwsr-x 2 root mailman 4096 2009-11-04 17:12 .
drwxrwsr-x 20 root mailman 4096 2009-11-04 15:23 ..

  • rw-r