.
Mailサーバー => メールサーバ構築 20144.メーリングリスト管理システム > Mailman のインストール
Linux 活用ガイド:目次

サーバ構築ガイド

レンタル ガイド

ショップ 構築ガイド

情報漏洩対策

メーリングリスト管理システム Mailman インストールと設定

引き続き、本稿で構築したメールサーバーを活用する目的で、メーリングリストを管理、運用するツールを導入します。設定内容は継承してます。

Mailman のインストール

Mailman を導入するにあたり、事前に必要な条件は以下の通りです。

  • Apache Webサーバーが稼働していること
  • 本稿で構築したメールサーバの動作確認が取れていること

CentOS 6.x ではパッケージで提供されています。セットアップ時のバージョンは Ver 2.1.2 でした。

# yum instal mailman

以下のファイル、ディレクトリにインストールされます。mailman は Python で書かれています。

  • /usr/lib/mailman 本体
  • /etc/mailman 本体設定ファイル
  • /etc/httpd/conf.d/mailman.conf Apache公開設定ファイル
  • /etc/cron.d/mailman アーカイブ処理の定期実行

SyntaxError: Non-ASCII character 対策

セットアップに入る前に Python エラー対策を行っておきます。/usr/lib/python2.6/site-packages ディレクトリに sitecustomize.py というファイルを作成します。

# touch /usr/lib/python2.6/site-packages/sitecustomize.py
# vi /usr/lib/python2.6/site-packages/sitecustomize.py

以下、sitecustomize.py の内容です。

/usr/lib/python2.6/site-packages/sitecustomize.py

import sys
sys.setdefaultencoding('utf-8')

.

Mailman の設定

Mailman の設定は mm_cfg.py で行います。

# vi /etc/mailman/mm_cfg.py

以下を新たに追記します。DEFAULT_* については、Mailman の初期値を変更しています。これらの明示的な記載が mm_cfg.py に無ければデフォルト値が提供されます。セキュリティに関わる項目もあります。

etc/mailman/mm_cfg.py

MTA = 'Postfix'
DEFAULT_SERVER_LANGUAGE = 'ja'
DEFAULT_URL_HOST = 'hoge.hoge.net'
DEFAULT_EMAIL_HOST = 'hoge.hoge.net'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
DEFAULT_URL_PATTERN = 'https://%s/mailman/
DEFAULT_LIST_ADVERTISED = No
DEFAULT_REPLY_GOES_TO_LIST = 1
DEFAULT_NEW_MEMBER_OPTIONS = 258
DEFAULT_GENERIC_NONMEMBER_ACTION = 2

# 以下はセキュリティ上極めて重要な初期値
DEFAULT_ARCHIVE = Off
DEFAULT_ARCHIVE_PRIVATE = 1
DEFAULT_SEND_REMINDERS = No
OWNERS_CAN_DELETE_THEIR_OWN_LISTS = Yes

# 記事No.の桁数
DEFAULT_SUBJECT_PREFIX = "[%(real_name)s:%%05d]"

要点解説

上記、設定内容は以下の通りです。


DEFAULT_ARCHIVE = Off ※1

デフォルトでは 書庫機能が有効になっています。書庫機能とは、MLでやり取りされたメールをスレッド化して、HTMLでアーカイブする機能です。ネット検索をしているとMLのスレッドとおぼしきページを一度は見たことがある人も多いと思います。デフォルトでは On となっていますので、必要に応じてアーカイブ機能をMailmanのインターフェイスから有効にするように運用方法を変えます。


DEFAULT_ARCHIVE_PRIVATE = 1

これは書庫機能が有効になっている場合、デフォルトでは認証なしにHP公開されます。つまり、MLを普通に作成すると、それらのやりとりは全てネットに公開されるという事になります。この書庫機能を知らないと業務のやり取りをMLで行なうと機密情報の垂れ流しです。これが Mailman のデフォルトとなっています。この指定を追記することで、デフォルトでは書庫機能を有効にした場合、第三者による書庫の閲覧には パスワードが必要になりますが、何れにしても、社内の仕事で使うMLが、パスワードを要求するとは言え、公開されてる窓口があることは情報機密を守る観点で好ましくありません。ML管理者はこれらの書庫機能の有効、無効を切り替えたり、パスワードなしで第三者に公開する特権を有しているので、システム管理者が第三者にML管理権限を譲渡する場合は注意が必要です。この辺はおいおい順を追って説明します。


DEFAULT_SEND_REMINDERS = No

MLに参加しているメールアドレスにデフォルトでは毎月1回、忘れないように、ということで、ML参加時に登録したパスワードをそのメール宛に送信します。デフォルトでは Yes になっているので Noに変更します。

その他の規定値変更については、ドキュメントを参照して下さい。

これらの設定は Mailman の画面から全て行えることですが、デフォルトの初期値をMLの運用目的に合わせて、ここで事前に変更しておくということになります。ML作成後にこのファイルを修正しても変更は適用されないので、GUIから修正する必要があります。

.

セットアップスクリプトの実行

Mailman には設定を容易にするためのスクリプトが用意されています。FMLにもセットアップスクリプトは用意されていますが、こちらは yum でインストールされたパッケージなので、環境に依存する問題が無いので楽です。

セットアップを自動化するスクリプトは /usr/lib/mailman/bin ディレクトリに複数用意されています。

Mailman 用 ailias の作成

Mailman が使用する ailias を生成するスクリプトを実行します。

# /usr/lib/mailman/bin/genaliases

権限の確認

root権限で以下を実行します。問題がある箇所をリストアップしてくれます。

# /usr/lib/mailman/bin/check_perms

表示された問題を修復するには -f オプションをつけて実行します。

# /usr/lib/mailman/bin/check_perms -f

再度 -f オプションナシで実行して問題が解決されている事を確認します。

# /usr/lib/mailman/bin/check_perms

システム管理者の設定

Mailman の管理者を設定します。

# /usr/lib/mailman/bin/mmsitepass 管理者名 :passwd
パスワードの確認:

このパスワードはシステム管理者が MLを発行する際に求められるパスワードです。管理者がMLを作成したら、そのMLに管理権限を持つユーザーにML
を管理するためのインターフェイスを提供する、という流れです。

最初に mailman というMLを作成します。これがないと mailman は起動しませんので必ず作成します。

# /usr/lib/mailman/bin/newlist mailman
Mailman MLシステム管理者用のメールアドレスを入れて下さい:hogehoge@hoge.com

引き続き Postfix と関係する Apache の設定を行います。

bottom_mark
ページ最上部
ページ最上部 前のページ