はじめに †
新しいドメインを取得して同じサーバーに設定したときに,Mailmanで運用しているメーリング・リストを新しいドメインに移行する方法についてのメモです.
以下の環境で確認しました.
- Mailman
- Postfix
Postfixにおけるバーチャル・ホストの設定 †
ここでは,現在 example.com で運用しているMailmanの ml という名前のメーリング・リストを同じサーバーで運用しているバーチャル・ホスト virtual.org へ移行します.
/etc/postfix/main.cf に以下の行を追加します.
# Virtual domains virtual_alias_domains = virtual.org virtual_alias_maps = hash:/etc/postfix/virtual, hash:/etc/mailman/virtual-mailman
バーチャル・ホストの設定ファイルを作成します.
# touch /etc/mailman/virtual-mailman # chown apache:mailman /etc/mailman/virtual-mailman
バーチャル・ホストの設定ファイルに設定を書き込みます.
virtual.org IGNORE @virtual.org @example.com
ここでは,virtual.org ドメイン宛のメールをすべて元の example.com ドメイン宛に転送しています.
バーチャル・ホストの設定を反映させ,Postfixを再起動します.
# postmap /etc/mailman/virtual-mailman # /etc/rc.d/init.d/postfix restart
Mailmanにおけるメーリング・リストの設定変更 †
/etc/mailman/mm_cfg.py に次の行を追加します.
add_virtualhost('www.virtual.org', 'virtual.org')
前者はURLのホスト名,後者はメールのホスト名です.
withlist コマンドを使ってメーリング・リストの設定を変更します.
# /usr/lib/mailman/bin/withlist ml ml のリストを読み込中 (ロック解除) 変数 `m' が ml の MailList インスタンスです >>> m.Lock() >>> m.host_name='virtual.org' >>> m.web_page_url='http://www.virtual.org/mailman/' >>> m.Save() >>> リストをロック解除 (保存はしてません): ml 最終処理中
Ctrl-D で終了しています.
Mailmanを再起動します.
# /etc/rc.d/init.d/mailman restart
以上です.