Mailman をソースコードからインストール
提供:maruko2 Note.
Postfix を MTA にする Mailman バーチャルドメインメーリングリストの設定方法。
- Mailman ソースコード
- python-devel が必要
- prefix は /opt/mailman にする
- バーチャルドメイン
Mailman をコンパイルする
- 1. prefix を /opt/mailman にする場合、./configure 前にディレクトリを作成しておく。
mkdir /opt/mailman chgrp mailman /opt/mailman chmod 02775 /opt/mailman
- 2. ./configure && make && make install
./configure \ --prefix=/opt/mailman \ --with-mail-gid=mailman \ --with-cgi-id=apache \ --with-cgi-gid=apache make && make install
- 3. Mailman ディレクトリへ移動
cd /opt/mailman
- 4. ファイルのパーミッションチェック
bin/check_perms -f
- 5 Mailman 設定ファイル修正
nano Mailman/mm_cfg.py
MTA = 'Postfix' DEFAULT_SERVER_LANGUAGE = 'ja' POSTFIX_STYLE_VIRTUAL_DOMAINS = ['list.example.com','list.example.net'] add_virtualhost('list.example.com','list.example.com') add_virtualhost('list.example.net','list.example.net') IMAGE_LOGOS = '/mailman/icons/' #件名の先頭に付ける語句。%03d だと 3桁の通し番号が付けられる。 DEFAULT_SUBJECT_PREFIX = "[%(real_name)s %03d]" #投稿された記事の返信先。0: 投稿者, 1: ML, 2: その他 DEFAULT_REPLY_GOES_TO_LIST = 1 #サイト管理者が ML を削除できるかどうか。 OWNERS_CAN_DELETE_THEIR_OWN_LISTS = Yes #メンバー以外からのメールをどうするか。0: Accept, 1: Hold, 2: Reject, 3: Discard DEFAULT_GENERIC_NONMEMBER_ACTION = 2
他の設定は、Mailman/Defaults.py を参照。
- 6. サイト管理パスワード&リスト作成パスワードを作成
bin/mmsitepass <SitePassword> bin/mmsitepass -c <ListPassword>
- 7. サイト全体のリストを作成
bin/newlist mailman@list.example.com
- 8. エイリアスマップ作成
bin/genaliases
- 9. エイリアスマップのパーミッション変更
chown apache:mailman /opt/mailman/data/aliases chown apache:mailman /opt/mailman/data/virtual-mailman
- 10. apache コンフィグ作成
Alias /mailman/icons/ /opt/mailman/icons/ ScriptAlias /mailman/ /opt/mailman/cgi-bin/ <Directory /opt/mailman/cgi-bin/> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> Alias /pipermail/ /opt/mailman/archives/public/ <Directory /opt/mailman/archives/public> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
- 11. apache リロード or start
/etc/init.d/httpd reload
- 12. 起動スクリプトコピー
cp scripts/mailman /etc/init.d/
- 13. mailman 起動
/etc/init.d/mailman start
- 14. cron に登録
crontab -u mailman cron/crontab.in
- 15. ブート時に起動するように登録
chkconfig --add mailman
Postfix の設定
- main.cf
mydestination = $myhostname, localost.$mydomain, localhost local_transport = local alias_maps = hash:/etc/aliases hash:/opt/mailman/data/aliases virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf hash:/opt/mailman/data/virtual-mailman owner_request_special = no recipient_delimiter = +