引き続き、本稿で構築したメールサーバーを活用する目的で、メーリングリストを管理、運用するツールを導入します。設定内容は継承してます。
Mailman を導入するにあたり、事前に必要な条件は以下の通りです。
CentOS 6.x ではパッケージで提供されています。セットアップ時のバージョンは Ver 2.1.2 でした。
以下のファイル、ディレクトリにインストールされます。mailman は Python で書かれています。
セットアップに入る前に Python エラー対策を行っておきます。/usr/lib/python2.6/site-packages ディレクトリに sitecustomize.py というファイルを作成します。
以下、sitecustomize.py の内容です。
import sys
sys.setdefaultencoding('utf-8')
Mailman の設定は mm_cfg.py で行います。
以下を新たに追記します。DEFAULT_* については、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 を生成するスクリプトを実行します。
root権限で以下を実行します。問題がある箇所をリストアップしてくれます。
表示された問題を修復するには -f オプションをつけて実行します。
再度 -f オプションナシで実行して問題が解決されている事を確認します。
Mailman の管理者を設定します。
このパスワードはシステム管理者が MLを発行する際に求められるパスワードです。管理者がMLを作成したら、そのMLに管理権限を持つユーザーにML
を管理するためのインターフェイスを提供する、という流れです。
最初に mailman というMLを作成します。これがないと mailman は起動しませんので必ず作成します。
引き続き Postfix と関係する Apache の設定を行います。