mailman-2.1.5-7(+sendmail)

[サーバの実験室 Redhat/Fedora]

作成 : 2004/07/09

"サーバの実験室"の検索


mailman

mailmanはメーリングリストソフト。 国際化(もちろん日本語OK)されたWEBページから、メーリングリストの設定や管理ができる。

mailmanに必要なパッケージ

pythonとpython-develが必要らしい。 あと、MTAとしてsendmail、WEBサーバとしてapacheをインストール済み。

mailman-2.1.5-7のインストール

yumでインストール。

# yum install mailman

Gathering header information file(s) from server(s)
Server: Fedora Core 2 - i386 - Base
Server: Fedora Core 2 - i386 - Released Updates
Finding updated packages
Downloading needed headers
Resolving dependencies
Dependencies resolved
I will do the following:
[install: mailman 3:2.1.5-7.i386]
Is this ok [y/N]: y    <---よければyを
Downloading Packages
Running test transaction:
Test transaction complete, Success!
mailman 100 % done 1/1
Installed:  mailman 3:2.1.5-7.i386
Transaction(s) Complete

mailman-2.1.5-7の設定

パッケージをインストールすると、メーリングリストWEBページにアクセスするための設定ファイル/etc/httpd/conf.d/mailman.confが作成される。 WEBサーバがインターネットに公開されている場合、だれでもメーリングリストWEBページにアクセスできるようになる。 後で設定するサイト管理者パスワードやメーリングリストパスワードがわかれば設定を変更できてしまうので、パスワードの扱いには気をつけること。 (この時点では、パスワードが設定されていないので、なにもできない)

/etc/httpd/conf.d/mailman.conf

ScriptAlias /mailman/ /var/mailman/cgi-bin/
Alias /pipermail/ /var/mailman/archives/public/
<Directory /var/mailman/archives>
    Options +FollowSymlinks
</Directory>

/etc/httpd/conf.d/mailman.confファイルを有効にするため、httpdを再起動する。

# /etc/init.d/httpd restart

サイト管理者パスワードを設定する。

# /var/mailman/bin/mmsitepass

New site password: admin
Again to confirm password: admin
Password changed.

リスト作成者パスワードを設定する。

# /var/mailman/bin/mmsitepass -c

New list creator password: list-admin
Again to confirm password:  list-admin
Password changed.

mailmanの設定ファイル/var/mailman/Mailman/mm_cfg.pyを編集する。 mm_cfg.pyに記述した設定は、デフォルトの設定ファイルDefaults.pyに記述された設定を上書きする。

/var/mailman/Mailman/mm_cfg.py

DEFAULT_URL_HOST   = 'www.nina.jp'    <---WEBサーバのFQDN
DEFAULT_EMAIL_HOST = 'nina.jp'    <---メールドメイン
....
DEFAULT_SERVER_LANGUAGE = 'ja'    <---デフォルトの言語を日本語に

管理用メーリングリストを作成する。 mailman以外の名前にしたい場合は、mm_cfg.pyファイルにMAILMAN_SITE_LISTという設定を追加する。

# /var/mailman/bin/newlist mailman

Enter the email of the person running the list: admin@nina.jp    <---メーリングリスト管理者のアドレス
Initial mailman password: mailman    <---メーリングリストのパスワード
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:

ここから下をaliasesファイルに追加
## mailman mailing list
mailman:              "|/var/mailman/mail/mailman post mailman"
mailman-admin:        "|/var/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/var/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/var/mailman/mail/mailman confirm mailman"
mailman-join:         "|/var/mailman/mail/mailman join mailman"
mailman-leave:        "|/var/mailman/mail/mailman leave mailman"
mailman-owner:        "|/var/mailman/mail/mailman owner mailman"
mailman-request:      "|/var/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/var/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/var/mailman/mail/mailman unsubscribe mailman"

Hit enter to notify mailman owner... (Enter)

MTAとしてPostfixを使用する場合は、自動的に新規メーリングリストのエイリアスが追加されるらしい。 sendmailの場合は、/etc/aliasesファイルに手動で追加する。

/etc/aliases
....
## mailman mailing list
mailman:              "|/var/mailman/mail/mailman post mailman"
mailman-admin:        "|/var/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/var/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/var/mailman/mail/mailman confirm mailman"
mailman-join:         "|/var/mailman/mail/mailman join mailman"
mailman-leave:        "|/var/mailman/mail/mailman leave mailman"
mailman-owner:        "|/var/mailman/mail/mailman owner mailman"
mailman-request:      "|/var/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/var/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/var/mailman/mail/mailman unsubscribe mailman"

/etc/aliasesファイル変更を有効にするため、newaliasesを実行する。

# newaliases

mailmanデーモンを起動する。

# /etc/init.d/mailman start

システム起動時、mailmanデーモンが起動するようにする。

# cd /etc/rc3.d/
# ln -s ../init.d/mailman S98mailman

プロセスを確認してみる。

# ps -ef | grep mailman

mailman   2152     1  0 22:57 ?        00:00:00 /usr/bin/python /var/mailman/bin/mailmanctl -s -q start
mailman   2153  2152  3 22:57 ?        00:00:00 /usr/bin/python /var/mailman/bin/qrunner --runner=ArchRunner:0:1 -s
mailman   2154  2152  3 22:57 ?        00:00:00 /usr/bin/python /var/mailman/bin/qrunner --runner=BounceRunner:0:1 -s
mailman   2155  2152  3 22:57 ?        00:00:00 /usr/bin/python /var/mailman/bin/qrunner --runner=CommandRunner:0:1 -s
mailman   2156  2152  3 22:57 ?        00:00:00 /usr/bin/python /var/mailman/bin/qrunner --runner=IncomingRunner:0:1 -s
mailman   2157  2152  3 22:57 ?        00:00:00 /usr/bin/python /var/mailman/bin/qrunner --runner=NewsRunner:0:1 -s
mailman   2158  2152  4 22:57 ?        00:00:00 /usr/bin/python /var/mailman/bin/qrunner --runner=OutgoingRunner:0:1 -s
mailman   2159  2152  4 22:57 ?        00:00:00 /usr/bin/python /var/mailman/bin/qrunner --runner=VirginRunner:0:1 -s
mailman   2160  2152  3 22:57 ?        00:00:00 /usr/bin/python /var/mailman/bin/qrunner --runner=RetryRunner:0:1 -s

メーリングリストWEBページへのアクセス

ブラウザからhttp://xxxx/mailman/listinfoへアクセスする。 次のような画面が表示されれば、OK。

メーリングリスト一覧のページ

メーリングリストWEBページにアクセスできることを確認したら、管理用メーリングリストの設定ページ(http://xxxx/mailman/admin/mailman <---管理用メーリングリストの名前がmailmanの場合)にアクセスする。 次の項目は、設定を変更しておいたほうが、いいような気がする。

項目変更後の値備考
会員登録 ---> まとめて会員登録管理用メーリングリストのメンバーを登録登録しておかないと、メールが配信されない。ただし、アーカイブを取る設定にしておけば、ブラウザで閲覧することはできる。
プライバシー・オプション ---> 入会規則 ---> このマシンでどんなリストがあるか聞かれた時に 広告しますか?いいえ「はい」にしておくと、メーリングリスト一覧に表示される。
プライバシー・オプション ---> 入会規則 ---> 入会にはどのような手順が必要ですか?承認管理用メーリングリストへの入会申請は、基本的に拒否だよね。
プライバシー・オプション ---> 送信者フィルタ ---> 動作が定義されていない非会員からの投稿に対する動作承認メンバー以外からの投稿を、メーリングリストに配信する。
保存書庫オプション --->保存書庫を作成しますか?いいえ管理用メーリングリストにアーカイブはいらないかな。

「まとめて会員登録」でメンバーを登録した場合は、http://xxxx/mailman/options/mailman(<---管理用メーリングリストの名前がmailmanの場合)にアクセスして、メンバーのパスワードを設定しておくこと。 これは、メンバーの情報を書き換えられるのを防ぐため。

新しいメーリングリストの登録

ブラウザからhttp://xxxx/mailman/createへアクセスして、必要な情報を入力する。 新しいメーリングリストを登録するには、リスト作成者かサイト管理者のパスワードが必要。

メーリングリストの削除

ブラウザからhttp://xxxx/mailman/rmlist/foobar(<---削除したいメーリングリストの名前がfoobarの場合)へアクセスすると、素敵なメッセージが表示される。

サイト管理者として...

メーリングリストの削除はコマンドラインから実行するらしい。

# /var/mailman/bin/rmlist -a foobar

/etc/aiasesファイルから、該当メーリングリストに関連する行を削除し、newaliasesを実行する。

# newaliases

[サーバの実験室 Redhat/Fedora]