目次

mailman

参考資料など

インストール

portageからインストールする。

> emerge -av mailman

mailmanの設定

MTA = 'Postfix'   # メールサーバを指定
DEFAULT_SERVER_LANGUAGE = 'ja'   # 表示言語
MAILMAN_SITE_LIST = 'ml-admin'   # サイトの管理者ML名(通常は変更する必要なし)。各種管理用メールの差出人などになる。
DEFAULT_EMAIL_HOST = 'ml.example.com'   # MLサーバのFQDN
DEFAULT_URL_HOST = 'www.example.com'   # 管理用WebインタフェイスのURL
DEFAULT_URL_PATTERN = 'https://%s/mailman/'   # 管理用Webインターフェイスのパス

# DEFAULT_URL_HOST, DEFAULT_EMAIL_HOSTを書き換えた場合に必要
# 管理用WebインターフェイスのURLとドメインを紐づける
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) 

サーバ全体にかかわる設定に加えて、各MLのデフォルト値も設定する。Defaults.pyのパラメータから変更するものを設定していく。

# 例)MLの件名を標準でML名+連番にする
DEFAULT_SUBJECT_PREFIX = "[%(real_name)s %%d] "

これらのほとんどはWebインターフェイスから変更できる。

apacheの設定

# /etc/conf.d/apache2
APACHE2_OPTS="..... -D MAILMAN"

Postfixの設定

owner_request_special = no
recipient_delimiter = +

# mailmanに配送するために、mailmanのaliasデータベースを読み込むようにする
alias_maps = hash:/etc/mail/aliases, hash:/var/lib/mailman/data/aliases

mailman用aliasファイル生成

Postfixからmailmanに配送連携させるためのaliasマップを生成する。

> /usr/lib/mailman/bin/genaliases

Gentooではインストール時にmailmanユーザが作成されているのでmailmanユーザになって実行する。

PATHが通っていないが、mailmanのインストールディレクトリがmailmanユーザのホームディレクトリになっているので、mailmanユーザになれば、ホームディレクトリ以下のbinディレクトリにコマンドがある。

各種ファイルのパーミッション確認

mailman関係のデータファイルは

以下に置かれている。

にあるaliasデータベースはWebインターフェイスを利用する場合、apacheの書き込み権限が必要な場合があるので確認する。

管理者mlをを作成

mm_cfg.pyで設定した管理者MLを作成する。作成は先ほどと同様にmailmanユーザで行う。

> /usr/lib/mailman/bin/newlist ml-admin

# 管理者MLに標準のテンプレートを適用。Web画面などで設定してもよい。 
> $prefix/bin/config_list -i $prefix/data/sitelist.cfg ml-admin

Cronの設定

まとめ送りなどのためにCronを設定する。用意されたcrontabをmailmanユーザのcrontabに設定する。

> cd /usr/lib/mailman/cron
> crontab -u mailman crontab.in

サイトのパスワードを設定

ML全体の管理者パスワードを設定する。どのパスワードボックスに入力しても有効なパスワードであるため管理には十分注意すること。

> /usr/lib/mailman/bin/mmsitepass
# -c オプションでサイト全体ではなくML作成のみのパスワードを生成する。

管理用Webインターフェイス

mm_cfg.pyで設定したURLにアクセスして動作確認する。

バックアップ/リストア

以下のファイルがあればMLの内容は移行できる。

ログなども含めて、/var/lib/mailman全体をバックアップすればよい。