Index ソフト・ハード Mailman | Mailman 導入 |
機能 構成・方式 タスク 導入 CentOS 7 インストール ユーザー パスワードを作成 設定 設定確認 aliases初期化 Postfix ウェブサーバ サイト全体のML パスワードを作成 cron 確認 Defaults.py クラスタ化など |
CentOS 7 ・CentOS 7の公式リポジトリのMailman $ yum info mailman
名前 : mailman
アーキテクチャー : x86_64
バージョン : 2.1.15
リリース : 30.el7
リポジトリー : base/7/x86_64
インストール # yum install mailman 依存関連(インストール) httpd-2.4.6 httpd-tools-2.4.6 自身でビルドする場合は、GIDに注意 Mailman 2.1 には Python 2.1 以上必要 # rpm -qa | grep mailman mailman-2.1.15-30.el7.x86_64グループとユーザの確認 ・パッケージの場合は、作成済を確認 リスト作成用パスワードを作成(変更) ・/etc/mailman/adm.pwファイル # /usr/lib/mailman/bin/mmsitepass xxxxxxxx設定(/etc/mailman/mm_cfg.py) ・/usr/lib/mailman/Mailman/Defaults.py で、変更するものだけを上書き 「from Defaults import *」・mm_cfg.pyファイルの最後に追加(例)
DEFAULT_EMAIL_HOST = 'mail.xxxx.xx'
DEFAULT_URL_HOST = 'www.xxxx.xx'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
DEFAULT_URL_PATTERN = 'https://%s/mailman/'
MTA = 'Postfix'
Mailman/MTA ディレクトリにあるモジュールの 名前を指定
リストが作成/削除されるときに 実行される, メールサーバ固有の関数がある。
DEFAULT_SERVER_LANGUAGE = 'ja'
OWNERS_CAN_DELETE_THEIR_OWN_LISTS = Yes
Web上からMLを削除可能
DEFAULT_NEW_MEMBER_OPTIONS = 256
投稿した本人にはメールを送らない
DEFAULT_LIST_ADVERTISED = No
メーリングリスト一覧を非公開
DEFAULT_SUBJECT_PREFIX = "[%(real_name)s:%%d] "
件名に記事№を付加する
DEFAULT_GENERIC_NONMEMBER_ACTION = 2
非会員からのメールには拒否応答
DEFAULT_REPLY_GOES_TO_LIST = 1
返信先を投稿者ではなくリストにする
・# diff
設定確認・修正 # /usr/lib/mailman/bin/check_perms -f /usr/lib/mailman/Mailman/mm_cfg.pyc グループの誤り (root ですが mailman にしてください) (修正中) /usr/lib/mailman/bin/mailman-update-cfg グループの誤り (root ですが mailman にしてください) (修正中) 問題があります: 2 修正するには -f オプションをつけて mailman か root の権限で実行してください # /usr/lib/mailman/bin/check_perms -f 問題ありませんaliases初期化 ・Defaults.pyファイルのコマンド変数の値を確認
POSTFIX_ALIAS_CMD = '/usr/sbin/postalias'
POSTFIX_MAP_CMD = '/usr/sbin/postmap'
postalias と postmap プログラム を指している。
変更が必要の場合は mm_cfg.py の中で行う。
・genaliasesスクリプトを実行して、aliasesファイルを初期化
# cd /usr/lib/mailman/bin
# ./genaliases
・/etc/mailman/aliasesと/etc/mailman/aliases.db の所有者がmailman、\グループ所有者がmailman
# chown mailman:mailman /etc/mailman/aliases*
# chmod g+w /etc/mailman/aliases*
又は設定確認・修正を再実行 # /usr/lib/mailman/bin/check_perms -f # ls -l /etc/mailman/ -rw-rw---- 1 mailman mailman 355 12月 7 18:37 aliases -rw-rw---- 1 mailman mailman 12288 12月 7 18:37 aliases.db・Postfixのmain.cfファイルのコメントアウト変更 Postfixメールサーバを使う場合 ・mailman-ownerを受ける。 /etc/aliases 追加 # Person who should get root's mail mailman-owner: root root: [email protected]・「-owner」と「-request」のアドレスを特殊扱いしないでMailman に届けてもらう。 「main.cf」追加 owner_request_special = no・VERP形式(送信者アドレスの拡張アドレス部に宛先アドレスの情報を埋め込む。)を有効にする。 「main.cf」追加 recipient_delimiter = +・存在しないローカルユーザについて恒久的なエラーコード を返す。 「main.cf」unknown_local_recipient_reject_code = 550 (デフォルト)・「/etc/mailman/aliases」を追加 「main.cf」追加 alias_maps = hash:/etc/aliases, hash:/etc/mailman/aliases, hash:/etc/postfix/aliases alias_database = hash:/etc/aliases, hash:/etc/mailman/aliases, hash:/etc/postfix/aliasesApache(ウェブサーバ)の設定 ・Mailman のウェブインタフェースをウェブサーバに接続する。 ・mailman.conf (デフォルト、/etc/httpd/conf.d/mailman.conf) httpd configuration settings for use with mailman. パッケージインストールしたマシンに、Apacheが有れば、/etc/httpd/conf.d/に存在する。 httpd.conf に IncludeOptional conf.d/*.conf が有ることを確認・PostfixとApacheを別のマシンで動かして、MailmanをNFS経由で共有 ・ウェブサーバの設定で、/usr/lib/mailman/cgi-bin/ に CGI スクリプトの実行許可
ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/
<Directory /usr/lib/mailman/cgi-bin/>
AllowOverride None
Options ExecCGI
Require all granted
</Directory>
・CGIスクリプトを実行するユーザIDが mailman グループに入っていないこと。 非公開の保存書庫が誰にでも見られないように・Mailman、Python、GNUのロゴをWebサーバのアクセス可能なところにコピー mailman/mm_cfg.py にロゴのベースディレクトリを書いた行を追加 必要なロゴ ( /usr/lib/mailman/icons/ )を /usr/share/httpd/icons にコピー・Pipermailの公開メーリングリスト保存書庫を参照できるようにWebサーバを設定
Alias /pipermail/ /var/lib/mailman/archives/public/
<Directory /var/lib/mailman/archives/public>
Options MultiViews FollowSymLinks
AllowOverride None
Require all granted
AddDefaultCharset Off
</Directory>
サイト全体のメーリングリスト(サイトリスト)作成 ・デフォルト「mailman」という名前のリスト作成 ・パスワード備忘通知の発信者 ・mailmanサイトリストを作成
# /usr/lib/mailman/bin/newlist mailman
標準でない値を修復: personalize
・サイトリストの設定・サイトリストのひな形「/var/lib/mailman/data/sitelist.cfg」を使用 ・mailmanメーリングリスト初期設定(ひな形の「mailman」への適用)
# /usr/lib/mailman/bin/config_list -i /var/lib/mailman/data/sitelist.cfg mailman
標準でない値を修復: personalize
・sitelist.cfg のオプションを適用の後、 リストの管理ページで確認cron ・「/usr/lib/mailman/cron/crontab.in」を「/etc/cron.d/mailman」にコピー 確認 ・mailman と同梱された apache を起動して確認 $ curl localhost:/mailman/listinfoDefaults.py ・一部
# -*- python -*-
import os
def seconds(s): return s
def minutes(m): return m * 60
def hours(h): return h * 60 * 60
def days(d): return d * 60 * 60 * 24
try:
True, False
except NameError:
True = 1
False = 0
Yes = yes = On = on = True
No = no = Off = off = False
IMAGE_LOGOS = '/icons/'
SHORTCUT_ICON = 'mm-icon.png'
MAILMAN_URL = 'http://www.gnu.org/software/mailman/index.html'
DEFAULT_EMAIL_HOST = 'localhost.localdomain'
DEFAULT_URL_HOST = 'localhost.localdomain'
DEFAULT_URL_PATTERN = 'http://%s/mailman/'
DEFAULT_HOST_NAME = None
DEFAULT_URL = None
HOME_PAGE = 'index.html'
MAILMAN_SITE_LIST = 'mailman'
ALLOW_SITE_ADMIN_COOKIES = No
AUTHENTICATION_COOKIE_LIFETIME = 0
FORM_LIFETIME = hours(1)
HTML_TO_PLAIN_TEXT_COMMAND = '/usr/bin/lynx -dump %(filename)s'
ACCEPTABLE_LISTNAME_CHARACTERS = '[-+_.=a-z0-9]'
VIRTUAL_HOSTS = {}
VIRTUAL_HOST_OVERVIEW = On
def add_virtualhost(urlhost, emailhost=None):
DOT = '.'
if emailhost is None:
emailhost = DOT.join(urlhost.split(DOT)[1:])
VIRTUAL_HOSTS[urlhost.lower()] = emailhost.lower()
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
KNOWN_SPAMMERS = []
WEB_BG_COLOR = 'white' # Page background
WEB_HEADER_COLOR = '#99ccff' # Major section headers
WEB_SUBHEADER_COLOR = '#fff0d0' # Minor section headers
WEB_ADMINITEM_COLOR = '#dddddd' # Option field background
WEB_ADMINPW_COLOR = '#99cccc' # Password box color
WEB_ERROR_COLOR = 'red' # Error message foreground
WEB_LINK_COLOR = '' # If true, forces LINK=
WEB_ALINK_COLOR = '' # If true, forces ALINK=
WEB_VLINK_COLOR = '' # If true, forces VLINK=
WEB_HIGHLIGHT_COLOR = '#dddddd' # If true, alternating rows
# in listinfo & admin display
BROKEN_BROWSER_WORKAROUND = No
BROKEN_BROWSER_REPLACEMENTS = {'\x8b': '‹', # single left angle quote
'\x9b': '›', # single right angle quote
'\xbc': '¼', # < plus high order bit
'\xbe': '¾', # > plus high order bit
'\xa2': '¢', # " plus high order bit
}
DEFAULT_ARCHIVE = On
DEFAULT_ARCHIVE_PRIVATE = 0
ARCHIVE_TO_MBOX = 2
DEFAULT_ARCHIVE_VOLUME_FREQUENCY = 1
DEFAULT_DIGEST_VOLUME_FREQUENCY = 1
PUBLIC_EXTERNAL_ARCHIVER = No
PRIVATE_EXTERNAL_ARCHIVER = No
ARCHIVE_SCRUBBER = 'Mailman.Handlers.Scrubber'
SCRUBBER_DONT_USE_ATTACHMENT_FILENAME = True
SCRUBBER_USE_ATTACHMENT_FILENAME_EXTENSION = False
ARCHIVE_HTML_SANITIZER = 1
GZIP_ARCHIVE_TXT_FILES = No
ARCHIVER_CLOBBER_DATE_POLICY = 2
ARCHIVER_ALLOWABLE_SANE_DATE_SKEW = days(15)
ARCHIVER_OBSCURES_EMAILADDRS = Yes
DEFAULT_CHARSET = None
VERBATIM_ENCODING = ['iso-2022-jp']
PUBLIC_MBOX = No
DELIVERY_MODULE = 'SMTPDirect'
MTA = 'Manual'
POSTFIX_STYLE_VIRTUAL_DOMAINS = []
VIRTUAL_MAILMAN_LOCAL_DOMAIN = None
DEFAULT_EMAIL_HOSTPOSTFIX_ALIAS_CMD = '/usr/sbin/postalias'
DEFAULT_EMAIL_HOSTPOSTFIX_MAP_CMD = '/usr/sbin/postmap'
|
All Rights Reserved. Copyright (C) ITCL |