2022/12/31(土)fml8 の新規インストール

fml は、昔は最も多く利用された電子メールによるメーリングリストの配送支援ソフトウェアです。
fml4 は、今となっては運用に難があり、fml8 (作者の趣味・志向で 4 → 8 というビットシフト的バージョンアップを企てている)が、後継ですが、長らくリリース候補版(7.99.1) です。

fml8 インストールの準備

fml8 は、Perl で組まれているため、運用には必然的に下記が必要です:
 perl5-5.36.0_2 (Ports カテゴリ:lang)   ※注:FreeBSD Ports におけるパッケージ表記です。
Perl 5.26 以上が要求されます。

インストールに先立ち、fml8 の運用セキュリティに従うために、実行ユーザ fmladmin を用意します:
vipw でやる場合は、下記の1行を追加します:
fmladmin::2007:3000::0:0:FML Administrator:/home/staff/fmladmin:/bin/csh
また、/etc/group の該当行を下記のように変更しておきます:
mailuser:*:3000:opendkim,milter-manager,postfix,fmladmin
続いて、下記手順でインストールを、必ず root ユーザで実行します:
# passwd fmladmin
# mkdir /home/staff/fmladmin
# chown fmladmin:mailuser /home/staff/fmladmin
# cp fml-7.99.1.tar.gz /usr/local/src
# cd /usr/local/src
# tar xvzf fml-7.99.1.tar.gz
# cd fml-7.99.1
# ./configure --with-fml-owner=fmladmin --with-fml-group=mailuser
# make install

fml8 の新規セットアップ

# vi /usr/local/etc/fml/site_default_config.cf
として、最低限下記2行を変更または追加します:
use_article_mime_component_filter = no
use_article_filter = no
これを設定しないと、ISO-2022-JP 文字コード以外で記述された電子メールを拒絶してしまいます。
昨今では、UTF-8 や UTF-7 でメッセージ交換するのが普通になっているため、今となっては時代遅れになってしまった余計な機能になっています。

○ 収容バーチャルドメインにおけるMLの運用準備
% su
# makefml newdomain example.com /var/mail/example.com/~ml (バーチャルドメイン運用初回のみ)

〔参考 ※バーチャルドメイン削除の場合〕
# makefml rmdomain exmple.com               (バーチャルドメイン上から MLドライバ削除)
○ メーリングリストの新規作成
# su fmladmin
% makefml newml test-ml@example.com           (ML 新規作成)

〔参考 ※メーリングリスト削除の場合〕
% makefml rmml test-ml@example.com                       (ML の削除)
% exit
《※ postfix の設定を変更》
# vi /usr/local/etc/postfix/main.cf

《下記の例のように、alias を追加》
alias_maps = hash:/etc/mail/aliases
             hash:/var/mail/example.com/~ml/etc/mail/aliases

virtual_alias_maps = hash:/usr/local/etc/postfix/virtualtbl/forwardlist
                     hash:/var/mail/example.com/~ml/etc/postfix/virtual
# vi /etc/mail/aliases

《下記を追加》
fmladmin:       root

《追加後、下記を実行》
# newaliases
上記、makefml newml の実行で、雛形ファイルが自動生成されますので、それを流用します。
ただし、そのままでは使えないため、一部変更します:
# cd /var/mail/example.com/~ml/etc/postfix
# vi virtual

----- 以下、変更 -----
# example.com is one of $mydestination
# CAUTION: DO NOT REMOVE THE FOLLOWING LINE.
# example.com     example.com         ← コメントアウトまたは削除

### <VIRTUAL test-ml@example.com ML> ###

# 以下の5行に、@realmx.example.jp (postfix main.cf で指定の myhostname で示す実ホスト名)を追加
test-ml@example.com               test-ml=example.com@realmx.example.jp
test-ml-ctl@example.com           test-ml-ctl=example.com@realmx.example.jp
test-ml-request@example.com       test-ml-request=example.com@realmx.example.jp
test-ml-admin@example.com         test-ml-admin=example.com@realmx.example.jp
test-ml-error@example.com         test-ml-error=example.com@realmx.example.jp

### </VIRTUAL test-ml@example.com ML> ###
----- 変更はここまで -----

※ MLごとの個別変更で、題名に通し番号を追加する(デフォルトでは通し番号はつかない)

# cd /var/mail/example.com/~ml/text-ml
# vi config.cf

----- 以下を、変更または追加(位置的には =cut 行の前) -----
article_header_rewrite_rules += rewrite_article_subject_tag
article_subject_tag = [$ml_name:%05d]
----- 変更はここまで -----
※ この設定で[test-ml:12345] みたいなのがメールタイトルの先頭に自動追加されるようになります。


# postmap hash:virtual
# postfix reload
○ 投稿メンバ兼配送メンバの追加
makefml add test-ml@example.com test@example.net
○ 投稿メンバ兼配送メンバの削除
makefml bye test-ml@example.com test@example.net