2007/01/29

mailman (+postfix)

GentooにMailmanをインストールしました.

emerge -uDN mailman
設定は以下.


# id mailman
uid=280(mailman) gid=280(mailman) groups=280(mailman),16(cron)

# cd /usr/local/mailman/
# su - mailman
mailman@edo ~ $ pwd
/usr/local/mailman
mailman@edo ~ $ cd cron
mailman@edo ~/cron $ crontab crontab.in
mailman@edo ~/cron $ cd ..
mailman@edo ~ $ bin/mmsitepass
New site password:
Again to confirm password:
Password changed.
mailman@edo ~ $ bin/newlist mailman
Enter the email of the person running the list: postmaster@fukatani.org
Initial mailman password:
To finish creating your mailing list, you must edit your /etc/aliases (or equivalent) file by adding the following lines, and possibly running the `newaliases' program:

## mailman mailing list
mailman:              "|/usr/local/mailman/mail/mailman post mailman"
mailman-admin:        "|/usr/local/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/local/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/local/mailman/mail/mailman confirm mailman"
mailman-join:         "|/usr/local/mailman/mail/mailman join mailman"
mailman-leave:        "|/usr/local/mailman/mail/mailman leave mailman"
mailman-owner:        "|/usr/local/mailman/mail/mailman owner mailman"
mailman-request:      "|/usr/local/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/usr/local/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/usr/local/mailman/mail/mailman unsubscribe mailman"

Hit enter to notify mailman owner...

# exit

で, postfixを実行している場合, /etc/mail/aliasesの編集はしない.
http://list.org/mailman-install/node13.html
後述します.

まずは, mm_cfg.pyを編集
# diff -u mm_cfg.py.orig mm_cfg.py | nkf -e
--- mm_cfg.py.orig      2007-01-28 22:06:06.000000000 +0900
+++ mm_cfg.py   2007-01-29 00:02:05.000000000 +0900
@@ -1,4 +1,5 @@
 # -*- python -*-
+# -*- coding: utf-8 -*-

 # Copyright (C) 1998,1999,2000,2001,2002 by the Free Software Foundation, Inc.
 #
@@ -42,3 +43,14 @@

 ##################################################
 # Put YOUR site-specific settings below this line.
+MTA = 'Postfix' # メールサーバーの種別を指定
+DEFAULT_SERVER_LANGUAGE = 'ja' # 管理画面を日本語化
+DEFAULT_GENERIC_NONMEMBER_ACTION = 2 # 登録メンバー以外は、メーリングリストの使用を不可にする
+DEFAULT_LIST_ADVERTISED = No # メーリングリスト一覧を非公開にする
+DEFAULT_SUBJECT_PREFIX = "[%(real_name)s:%%d] " # 件名のフォーマット(記事No.を付加)
+DEFAULT_REPLY_GOES_TO_LIST = 1 # 返信先を投稿者ではなくメーリングリストにする(Reply-Toの書き換えを行う)
+DEFAULT_URL_HOST = 'www.example.org' # 管理画面へのアクセスは、http://www.example.org/mailman になります。
+DEFAULT_EMAIL_HOST = 'example.org' # メーリングリストの形式 abc-mailing@example.org の形式になります。
+add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
+DEFAULT_URL_PATTERN = 'https://%s/mailman/'
+OWNERS_CAN_DELETE_THEIR_OWN_LISTS = No # メーリングリストをWeb上から削除不可能にする

mm_cfg.pyの編集は以上.

続いて, postfixにメールアドレスのエイリアスを登録する
# su - mailman
mailman@edo ~ $ bin/genaliases
mailman@edo ~ $ chown mailman:mailman data/aliases*
mailman@edo ~ $ chmod g+w data/aliases*

/etc/postfix/main.cfを編集
# diff -u main.cf.20070128 main.cf
--- main.cf.20070128    2006-12-08 00:21:27.000000000 +0900
+++ main.cf     2007-01-28 23:18:14.000000000 +0900
@@ -409,7 +409,7 @@
 # Basically, the software tries user+foo and .forward+foo before
 # trying user and .forward.
 #
-#recipient_delimiter = +
+recipient_delimiter = +

 # DELIVERY TO MAILBOX
 #
@@ -664,7 +664,7 @@
 default_destination_concurrency_limit = 2
 alias_database = hash:/etc/mail/aliases
 local_destination_concurrency_limit = 2
-alias_maps = hash:/etc/mail/aliases
+alias_maps = hash:/etc/mail/aliases, hash:/usr/local/mailman/data/aliases
 #home_mailbox = .maildir/

 # for sasl
@@ -704,3 +704,5 @@
 # 1.33: RFC 2045 6.8. Base64 Content-Transfer-Encoding
 #   approximately 33% lager than original contents
 message_size_limit = 13946060
+
+owner_request_special = no

備考
alias_mapsの指定では/usr/local/mailman/data/aliasesを指定しているが,
実際には/usr/local/mailman/data/aliases.dbを見に行く

それから, Webで設定画面が見えるようにする.
# cp -aiv icons/* /data/www/localhost/icons/

最後にApache周りを設定
etc/conf.d/apache2のオプションのところに"-D MAILMAN"を加え,
/etc/apache2/modules.d/50_mailman.confの内容を確認

/etc/init.d/postfix restart
/etc/init.d/mailman start
/etc/init.d/apache2 restart

0 件のコメント: