■Mailmanのインストール
メーリングリストソフトといえば昔ながらのFMLがありますが、今ではMailmanのほうが主流でしょうか。FMLはPerlで書かれているのにたいし、Mailmanはpythonという言語で記載されており、動作が軽快と思われます。先ずはmailmanをyumからインストールします。mailmanはapache経由で管理を行うのでインストールされていない場合はapacheも合わせてインストールされます。
# yum install mailman # rpm -qa | grep mailman mailman-2.1.15-17.el7.x86_64 |
まずmailmanの管理用のパスワードを以下のコマンドで設定しておきます。このパスワードはWeb経由でmailmanを管理するときに入力するパスワードです。
# /usr/lib/mailman/bin/mmsitepass New site password:[password入力] Again to confirm password:[password入力] Password changed. |
■Mailmanの設定ファイルの編集
mailmanは/etc/mailman/mm_cfg.pyが設定ファイルとなります。以下、編集部分のみ記載致します。
# vi /etc/mailman/mm_cfg.py DEFAULT_URL_HOST = 'unix-power.net' DEFAULT_EMAIL_HOST = 'unix-power.net' [ 以下は追記 ] MTA = 'Postfix' # MTAにPostfixを指定 DEFAULT_URL_PATTERN = 'http://%s/mailman/' # URLを指定 DEFAULT_SERVER_LANGUAGE = 'ja' # 日本語を指定 OWNERS_CAN_DELETE_THEIR_OWN_LISTS = Yes # Web上からMLを削除可能にする DEFAULT_SUBJECT_PREFIX = "[%(real_name)s:%%d] " # Subjectに通し番号をつける DEFAULT_REPLY_GOES_TO_LIST = 1 # 返信先はMLにする DEFAULT_GENERIC_NONMEMBER_ACTION = 1 # 誰でも投稿可能にする |
その他の設定については/usr/lib/mailman/Mailman/Defaults.pyを参照してください。
引き続きmailman関連ファイルの属性 ( パーミッション ) が正しく設定されているか以下のコマンドでチェックを行います。
# /usr/lib/mailman/bin/check_perms /etc/mailman/adm.pw グループの誤り (root ですが mailman にしてください) /usr/lib/mailman/Mailman/mm_cfg.pyc グループの誤り (root ですが mailman にしてください) /usr/lib/mailman/bin/mailman-update-cfg グループの誤り (root ですが mailman にしてください) 問題があります: 3 修正するには -f オプションをつけて mailman か root の権限で実行してください |
例えば上記のようにエラーっぽいメッセージが表示された場合は表示されたメッセージに従い-fオプションをつけて再度実行します。「問題ありません」と表示されるまで下記のコマンドを繰り返し実行してください。「問題ありません」と表示されればOKです。
# /usr/lib/mailman/bin/check_perms -f |
ここまででMailmanの設定は一旦終了です。
■Postfix設定変更
MailmanはPostfixと連携して動作しますので、Postfix側にもそれようの設定が必要となってきます。以下、main.cfの抜粋した設定内容です。
# vi /etc/postfix/main.cf #alias_maps = hash:/etc/aliases alias_maps = hash:/etc/aliases, hash:/etc/mailman/aliases #alias_database = hash:/etc/aliases alias_database = hash:/etc/aliases, hash:/etc/mailman/aliases allow_mail_to_commands = alias,forward,include |
上記で指定しているMailmanのエイリアスファイル( /etc/mail/aliases ) を以下のコマンドで初期化し属性を正しく設定しておきます。
# /usr/lib/mailman/bin/genaliases # chmod 666 /etc/mailman/aliases* |
Postfixを再起動しておきます。
# systemctl restart postfix.service |
最初の段階でサイトリストと呼ばれる管理用のメーリングリスト「mailman」をコマンドベースで作成しておきます。
# /usr/lib/mailman/bin/newlist mailman リスト管理者のメールアドレスを入力してください: webmaster@unix-power.net mailman の初期パスワード: Enter を押して mailman の管理者にメール通知する... |
/etc/mailman/aliases にリストが追加されます。
# more /etc/mailman/aliases # This file is generated by Mailman, and is kept in sync with the # binary hash file aliases.db. YOU SHOULD NOT MANUALLY EDIT THIS FILE # unless you know what you're doing, and can keep the two files properly # in sync. If you screw it up, you're on your own. # The ultimate loop stopper address mailman-loop: /var/lib/mailman/data/owner-bounces.mbox # STANZA START: mailman # CREATED: Tue Aug 19 16:08:30 2014 mailman: "|/usr/lib/mailman/mail/mailman post mailman" mailman-admin: "|/usr/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/usr/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/usr/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/usr/lib/mailman/mail/mailman join mailman" mailman-leave: "|/usr/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/usr/lib/mailman/mail/mailman owner mailman" mailman-request: "|/usr/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/usr/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe mailman" # STANZA END: mailman |
そしてmailmanとapacheを起動します。
# systemctl enable mailman.service # systemctl start mailman.service # systemctl restart httpd.service |
http://url/mailman/adminで画面が見れれば成功です。
以下の画面からメーリングリストを作成することが出来ます。
画面最下部にある「リスト作成者の認証パスワード」は最初の段階でmmsitepassで設定したパスワードを入力します。MLに関する詳細な設定は全てWeb画面上から行うことが可能です。
Mailmanの初期設定で個人的に実施しておいたほうが良いと思われる設定箇所をメモ書きしておきます。
■全体的オプション
上記を0にすることで投稿するメールのサイズに制限がなくなります。
■会員管理 – 会員リスト
デフォルトでは「控え無」にチェックが入っているのですが、これだと送信者自身にメールが送信されません。自分自身にもメールを送りたい場合はチェックを外すことで送信されるようになります。
■プライバシーオプション – 送信者フィルタ
会員リストではない方がメールを送ったときの動作定義です。誰でも投稿可能にする場合は承認を選択します。
■プライバシーオプション – 宛先フィルタ
メールを送るときの宛先数を無制限にする場合は0を設定します。