Debian Mailman 2から3へのアップグレード インストール編

さて、問題はMailman 2から3へのアップグレードだ。Mailman 2と3は根本的に設計が異なるので、そのまますんなりパッケージをインストールするだけでアップグレードしてくれたりはしない。どころか、GNU本家であるDebianのパッケージですらインストールしただけではまともに動かないという体たらく。しかし、これを突破しないとBullseyeへのアップグレードはできないので、頑張ることにする。

さて、最初に移行作業中にMailman 2が働かないようにMailman 2のサービスを停止しよう。

sudo service mailman stop

Mailman 3のパッケージはさすがにMailman 2と共存できるようには配慮されているので、このままMailman 3をインストールする。

sudo apt install mailman3-full

インストール中にmailman3とmailman3-webのデータベースを自動作成するかどうか聞いてくるので<Yes>と答え、データベースの種類はsqlite3を選択する。このサーバーではMariaDBが稼働しているのでMySQLでもいけそうな気がするが、実際にやってみると設定に失敗して壊れたパッケージインストール状態になるので、おとなしくsqlite3で設定する。

インストールが完了するとmailman3とmailman3-webのサービスが起動しているはずである。

勇気がある人はこの時点でMailman 2をアンインストールしてしまおう。 🙂

ここからはMailman 3の設定。sudo bashでroot権限のシェルを起動してrootで作業をする。

まずはPostfixと連携するための設定をする。/etc/postfix/main.cfに以下のMailman 3用の設定を追加する。

owner_request_special = no
transport_maps = hash:/var/lib/mailman3/data/postfix_lmtp
local_recipient_maps = proxy:unix:passwd.byname $alias_maps hash:/var/lib/mailman3/data/postfix_lmtp
relay_domains = ${{$compatibility_level} < {2} ? {$mydestination} : {}} hash:/var/lib/mailman3/data/postfix_domains

次に/etc/mailman3/mailman.cfgのサイトオーナーの連絡先を書き換えておく。

site_owner: MYADDRESS@MYDOMAIN.COM

ここからmailman3-webが稼働できるように設定する。

まずはapache2のproxy_uwsgiを有効にする。

a2enmod proxy_uwsgi

次にapache2でPostorius(Mailman 3のウェブフロントエンド)のページを表示できるようにする。これはapache2で読み込まれる設定を置くディレクトリにMailman 3に付属する設定をシンボリックリンクで置く。

ln -s /etc/mailman3/apache.conf /etc/apache2/conf-enabled/mailman3-web.conf

現在のmailman3-webのパッケージでインストールされるこの設定ファイル/etc/mailman3/apache.confはバグがあるので手作業で修正しておく。

ProxyPass /mailman3 unix:/run/mailman3-web/uwsgi.sock|uwsgi://localhost/

という行のlocalhost/の最後の余分な/を削除するだけである。

最後に/etc/mailman3/mailman-web.pyのいくつかの設定を変更する。

EMAILNAME = ‘FQDN.COM’
ACCOUNT_DEFAULT_HTTP_PROTOCOL = “http”

本サーバーはHTTPSで接続することができないので、認証はHTTPでできるように二行目の設定変更が必要だ。

以上の設定が完了したらサーバーを再起動して変更した設定を反映させる。もちろん、コマンドラインで手動でapache2とmailman3, mailman3-webのサービスを再起動させてもいい。

もしサーバーを再起動したらMailman 2のサービスが起動してしまうので、忘れずに停止させておこう。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください