2016年3月15日火曜日

postfixをベースにメーリングリストを運用できるか

このご時世にオンプレミスでLinuxでしかもpostfix+devcot+mailmanな運用に、果たしてシアワセがあるのだろうか!? と思わないでもないのだが。私は、知らないことを他人様にお話しできてしまう霊能力者ではないので、試してみる。

習わせていただく(倣わせていただく)のはUnixPower on Neworkingさんから

CentOS7 Mailmanのインストールと基本設定
http://www.unix-power.net/centos7/mailman.html

これをyumで探してみると、少し引っかかる点が。

Dependencies Resolved

================================================================================================================================
 Package                     Arch                   Version                                          Repository            Size
================================================================================================================================
Installing:
 mailman                     x86_64                 3:2.1.15-21.el7_1                                base                 5.4 M
Installing for dependencies:
 apr                         x86_64                 1.4.8-3.el7                                      base                 103 k
 apr-util                    x86_64                 1.5.2-6.el7                                      base                  92 k
 httpd                       x86_64                 2.4.6-40.el7.centos                              base                 2.7 M
 httpd-tools                 x86_64                 2.4.6-40.el7.centos                              base                  82 k
 mailcap                     noarch                 2.1.41-2.el7                                     base                  31 k
 python-dns                  noarch                 1.12.0-1.20150617git465785f.el7                  base                 233 k

Transaction Summary

python-dns、はて!? メール関連のツールでDNS? これのことだろうか。

dnspython
http://www.dnspython.org/


このツールにおけるDNS、もさることながらこのテスト環境のDNSをどうするか、作っている当事者が考えていない。既に遅いが整理しておかなくては。何より、sambaのDNS機能をそもそも全くわかっちゃいない。

日本Sambaユーザ会 samba-tool(8)
http://www.samba.gr.jp/project/translation/4.0/htmldocs/manpages/samba-tool.8.html

# /usr/local/samba/bin/samba-tool dns zonelist dc02.samba4-ad.local
Password for [Administrator@SAMBA4-AD.LOCAL]:
  2 zone(s) found

  pszZoneName                 : samba4-ad.local
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY
  Version                     : 50
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_DOMAIN_DEFAULT DNS_DP_ENLISTED
  pszDpFqdn                   : DomainDnsZones.samba4-ad.local

  pszZoneName                 : _msdcs.samba4-ad.local
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY
  Version                     : 50
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_FOREST_DEFAULT DNS_DP_ENLISTED
  pszDpFqdn                   : ForestDnsZones.samba4-ad.local
#

Aレコードは一覧できないか。このツールのオプション説明には無いので、Windowsから確認する。DC1台目と2台目それぞれに接続し、一方のレコードを変更してみると...

・DC1台目のレコードがほどなくDC2に反映された
・DC2のレコードはDC1へ...直ちには反映されない

タイムスタンプがきりのいい時間なので、ひょっとして60分毎の更新か!? しばらく様子を見る。その後の、DC2-->DC1のレコード複製も定時なタイプスタンプだ。が、07分ごろにDC1で更新した内容が13分の時点では反映されており、しかしタイムスタンプが00分になっている。タイムスタンプは追加分しかわからないが、削除についてもログ上は00分な扱いになるのだろうか? また、その後も25分ごろの追加エントリが00分扱いで一方に更新されるも、この逆方向の更新がなされない? これは表示/再読み込みの問題かもしれないが。


さておき、とりあえずSamba ADの内部DNSについては、BDCを組むだけである程度の冗長性を確保できそうだ。ここまで python-dns 追加前の状況確認。

では、mailmanをインストール。yum の次は管理者パスワード設定。

# /usr/lib/mailman/bin/mmsitepass
New site password:
Again to confirm password:
Passwords do not match; no changes made.
# /usr/lib/mailman/bin/mmsitepass
New site password:
Again to confirm password:
Password changed.
#

そして、

# vi /etc/mailman/mm_cfg.py
#

設定ファイルを書き換えた後、


# /usr/lib/mailman/bin/check_perms
/usr/lib/mailman/Mailman/mm_cfg.pyc bad group (has: root, expected mailman)
/usr/lib/mailman/bin/mailman-update-cfg bad group (has: root, expected mailman)
Problems found: 2
Re-run as mailman (or root) with -f flag to fix
#
# /usr/lib/mailman/bin/check_perms -f
/usr/lib/mailman/Mailman/mm_cfg.pyc bad group (has: root, expected mailman) (fixing)
/usr/lib/mailman/bin/mailman-update-cfg bad group (has: root, expected mailman) (fixing)
Problems found: 2
Re-run as mailman (or root) with -f flag to fix
#
# /usr/lib/mailman/bin/check_perms -f
No problems found
#

-f オプションでチェックを繰り返して自動修復させる、ですか。そんなんでいいのか。

以降、UPoNさんの手順通りで、既設のpostfixユーザ動作は問題なし。ただ、わざわざWebGUIでの管理機能を追加しながら、メーリングリストそのものの作成はコマンドラインでしかできない? イミフ仕様かもしれない。Webでのユーザ管理作法も洗練されているとは言い難く。さらに謎であるのは


# /usr/lib/mailman/bin/newlist メーリングリストの名称
Enter the email of the person running the list: メーリングリストの管理者アドレス
Initial yokuwakaran password:
Hit enter to notify yokuwakaran owner...

#

で設定をした後、投稿/メーリングリストの配信は可能となるものの、なぜか管理者だけは配送されない。どうやらこのツールの概念上、管理者と参加者の間には大きな隔たりがあるようだ。とはいえ、機能としては何ら問題は無い。


0 件のコメント:

コメントを投稿