ユーザ用ツール

サイト用ツール


linux:mailman

mailman

参考資料など

インストール

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

> emerge -av mailman

mailmanの設定

  • /etc/mailman/mm_cfg.py
    • Gentoo Linuxでは、/usr/lib64/mailman/Mailman/mm_cfg.pyにシンボリックリンクされている。
    • /usr/lib64/mailman/Mailman/Defaults.pyの各パラメータを上書きするように設定する。
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/apache2/modules.d/50_mailman.conf
    • mailmanのWebインターフェイス関係の設定ファイル
  • /etc/conf.d/apache2
    • apache側でmailmanの設定ファイルを有効にする
# /etc/conf.d/apache2
APACHE2_OPTS="..... -D MAILMAN"

Postfixの設定

  • /etc/postfix/main.cf – 以下の項目を確認
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関係のデータファイルは

  • /var/lib/mailman/

以下に置かれている。

  • /var/lib/mailman/data/

にある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
    • /var/lib/mailman/archives # MLの過去ログ
    • /var/lib/mailman/lists # 各MLの設定ファイル
    • /usr/lib/mailman/data # mailman全体の設定ファイル
  • /etc/mailman/

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

linux/mailman.txt · 最終更新: 2013/04/07 23:49 (外部編集)