MailmanのSSL化、ポート変更

この記事は約3分で読めます。

Mailmanの管理アドレス

http://(ドメイン)/mailman/admin/(メーリングリスト名)
のようなURLを、SSL化、もしくは、ポート変更をする場合

https://(ドメイン)/mailman/admin/(メーリングリスト名)
http://(ドメイン):8081/mailman/admin/(メーリングリスト名)

などのようにアクセスします。

Mailman管理画面で、リンクでエラーが・・・

SSL(ポート変更)でログインして

mailman

設定など、うまくいくことが多いかもしれませんが、
上記の右下の「ログアウト」ボタンは、非SSLのURL(ポート変更前のURL)になっています。

このURLを変更するには、どうするか・・・

解決策、Mailman、mm_cfg.pyの変更

(Mailmanディレクトリ)/Mailman/mm_cfg.py


DEFAULT_URL_PATTERN = 'https://%s/mailman/'
DEFAULT_URL_PATTERN = 'http://%s:8081/mailman/'

というに設定をします。
1行目は、SSL化した場合
2行目は、ポート番号を変更した場合
です。

ただし、これは、メーリンリスト設定前には有効です。

設定後の変更は、次の処理を行います。

解決策、Mailman、config.pckの変更

すでに設定済みのメーリングリストには、この方法を行います。

設定済みの内容をチェックします。

# bin/dumpdb -p lists/(メーリングリスト名)/config.pck |grep web_page
'web_page_url': 'http://(ドメイン名)/mailman/',

となっています。
この設定が、「https://」や「http://(ドメイン名):8081/」などに
なっていればいいのです・・・

この変更は、コマンドで、行います。

# vi change_url.py

def change_url(mlist):
  mlist.Lock()
  mlist.web_page_url = 'http://(ドメイン名):8081/mailman/'
  mlist.Save()

というファイルを作成します。

この「change_url」は、違う名称でも構いません。

そして、「withlist」コマンドで設定を変更します。
withlistコマンドではなく、
メーリングリスト Mailman 2.1系を他のサーバーに移行する方法
のように

/home/mailman/bin/withlist (メーリングリスト名)

として、インタラクティブに設定しても大丈夫です。
# bin/withlist -r change_url (メーリングリスト名)
Importing change_url...
Running change_url.change_url()...(メーリングリスト名)
Loading list (メーリングリスト名) (unlocked)
Unlocking (but not saving) list: (メーリングリスト名)
Finalizing

というメッセージが出てきます。「Finalizing」と出てくれば、OKです。

もう一度、「dumpdb」コマンドで、確認してみます。

# bin/dumpdb -p lists/(メーリングリスト名)/config.pck |grep web_page

'web_page_url': 'http://(ドメイン名):8081/mailman/',

これで、既存のメーリングリストにも変更が反映されました。

タイトルとURLをコピーしました