ユーザ用ツール

MailMan

概要

GNU/MailManはメーリングリストの運営と管理を行うためのツールである。 Postfixとの親和性に優れ、比較的簡単に導入することができる。 特に、メーリングリストを新規に作成した際に、FMLなどでは必要であった、aliasesへの登録を自動で行ってくれる点は、運用上、非常に大きなポイントである。 また、管理をブラウザ経由で行うことができるため、管理・運用の敷居が低い。 日本語化もされており、この点も、運用する上でのメリットである。

導入

パッケージなどがあればそれを利用するのが簡単であろう。 とはいえ、スクラッチからビルドする場合でも、それほど難しくはない。 詳細は日本語インストールガイドを参照されたい。

ここではPostfix、Python、Apache2が導入済みであるという前提で、以下に導入について簡単に触れる。

アカウントとグループの作成

MailManの運用は、専用のユーザとグループで行うことが推奨されている。 rootなどの管理権限の強いユーザでの運用を避ける今風のスタイルである。

以下の要領でユーザとグループとを作っておく。

# groupadd mailman
# useradd -c 'GNU MailMan' -s /bin/false -d /var/lib/mailman -m -g mailman mailman

ホームディレクトリはどこでもいいかと思うが、mailman のパッケージの導入先としても使いたいので、上記のようにするのがいいだろう。

運用のため、ホームディレクトリの権限と所有者を以下のようにしておく。

# chown -R mailman.mailman /var/lib/mailman
# chmod -R a+rx,g+ws /var/lib/mailman

dnspythonの導入

MailManはpythonを利用する関係で、dnspythonパッケージが必要となる。 パッケージがあればそれを、なければpipなどで導入する。

# apt install python-dns

または

# pip install dnspython

といった要領である。

ビルドとインストール

ビルドとインストールは、多くのアプリケーションがそうであるように、configureとmakeである。

$ tar -zxf mailman-2.1.29.tgz
$ cd mailman-2.1.29
$ ./configure --prefix=/var/lib/mailman
$ make
$ sudo make install

インストールがすんだら、インストールされているファイルやディレクトリの権限を確認し修正する。

$ cd /var/lib/mailman
$ bin/check_perms

もしここで権限に関する問題が出たら、-f をつけてcheck_permを実行しこれを修正する。

$ sudo bin/check_perms -f

この処理は、管理権限のあるユーザで行う。

設定

Postfix

Postfix に関しては、main.cfに以下の設定を行う。

owner_request_special = no
recipient_delimiter = +
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/postfix/aliases, hash:/var/lib/mailman/data/aliases

alias_mapsには既存のものに加えて hash:/var/lib/mailman/data/aliases を追記する。 これにより、管理画面から追加されたメーリングリストが自動的に配信対象となる。

Apache2

/etc/apache2/conf.d/mailman.conf1) を以下の内容で作成する。

ScriptAlias     /mailman/       /var/lib/mailman/cgi-bin/
Alias           /pipermail/     /var/lib/mailman/archives/public/

MailMan

まず、画像ファイルを適切な場所にコピーする。 例えば以下のようにする。

$ cp icons/*.{jpg,png} /var/www/icons

/var/www/icons が /icons という Locationにマップされているとする。 以下の内容を、MailMan/mm_cfg.py に記述する。

IMAGE_LOGOS = '/icons/'
MTA = 'Postfix'

DEFAULT_EMAIL_HOST = 'メールサーバー'
DEFAULT_URL_HOST = 'ウェブサービスのURI'
DEFAULT_URL_PATTERN = 'https://%s/mailman/'

add_virtualhost(DEFAULT_URL_HOST, DEFAULT_URL_HOST)

DEFAULT_SERVER_LANGUAGE = 'ja'

サービスの自動起動

起動用のスクリプトをコピーして、登録する。

# cp scripts/mailman /etc/init.d
# chkconfig --add mailman
# service mailman start

cronの登録

MailManはダイジェストの送信などをcronで行うので、この登録を行う。

# crontab -u mailman cron/crontab.in

管理パスワードの作成

管理用パスワードには、サイトパスワードとリスト作成用パスワードの二種類がある。 リスト作成用パスワードはMLを作成する権限のみがあり、サイトパスワードはこれを包含しているため、サイトパスワードだけを作成しても運用上問題はない。

複数人で管理を行い、MLの作成権限のみを分与したい場合に、リスト作成用パスワードを作成すればいいだろう。

パスワードは、それぞれ以下のコマンドで作成する。

サイトパスワード:

$ bin/mmsitepass

リスト作成用パスワード:

$ bin/mmsitepass -c

運用

管理画面へのアクセス

管理は基本的にはブラウザ経由で行う。2)

http://<mm_cfg.pyに設定したURI>/mailman/admin

管理画面の言語は、mm_cfg.py のDEFAULT_SERVER_LANGUAGEに従う。

start

1)
設定ファイルの置き場所は、自身のサーバの設定に従うこと。
2)
コマンドラインから行うこともできる。

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information