メーリングリスト、mailmanの設定のこと

いまさら、qmail関連の情報なんて役に立たなさそうだけど、メモ。

未だに会社のメールサーバはqmailPleskとかいうウェブベースのコントロールパネルでお手軽サーバ管理が出来てラクチンなのだが、そのおかげでMTAが変更できない(というか難しい)。
メーリングリストmailman。そのmailmanにて、メーリングリストを作成したのだが。

98069-Mar 12 15:48:52 www qmail: 1205304532.000311 new msg 1441800
98130-Mar 12 15:48:52 www qmail: 1205304532.000361 info msg 1441800: bytes 992 from <foo@example.com> qp 19695 uid 2020
98246:Mar 12 15:48:52 www qmail: 1205304532.004486 starting delivery 2: msg 1441800 to local 1-foo-ml@example.com
98353-Mar 12 15:48:52 www qmail: 1205304532.005115 status: local 1/10 remote 0/20
98429-Mar 12 15:48:52 www qmail: 1205304532.013054 delivery 2: success: Failure_to_exec_mailman_wrapper._WANTED_gid_110,_GOT_gid_101.__(Reconfigure_to_take_101?)/did_0+0+1/
98596-Mar 12 15:48:52 www qmail: 1205304532.013373 status: local 0/10 remote 0/20
98672-Mar 12 15:48:52 www qmail: 1205304532.013422 end msg 1441800

こんなエラーがでる。MLが初期設定の状態で使えるよ!なんていうサーバ(多分)なのに、人をバカにするにも程がある。

google先生に相談してみると、http://kb.swsoft.com/article_61_942_en.html このような解決策があった。

ようするに、mailmangidが110のユーザでないと、mailman_wrapperなるものの起動に失敗すると言うわけだ。とりあえず、英語の解決策の通りに、gidを変えてあげることにする。

  • /etc/group
popuser:x:101:
↓
popuser:x:110:
  • /etc/passwd
popuser:x:110:101:POP3 service user:/:/bin/false
↓
popuser:x:110:110:POP3 service user:/:/bin/false

上記のように、gidを変えちゃったんで、それまでpopuserのグループになっていたファイルの権限を矯正してあげることが必要になるのだ。こんな感じでやってあげる。

# find /var -gid 101 -print0 | xargs -r0 chgrp popuser

/var以外のディレクトリにもmail関連のgid 101のファイルやディレクトリがあれば、同じようにして直してあげる。この英語の解決策は、ここで終わっているのだが、実はこれだけではダメ。qmailの場合、/var/qmail/user/assignの

=1-foo:popuser:110:101:/var/qmail/mailnames/example.com/foo:::
=1-bar:popuser:110:101:/var/qmail/mailnames/example.com/bar:::
+1:popuser:110:101:/var/qmail/mailnames/example.com:::

こんな感じになっているところが良くないみたい。何が良くないかというと、gidが101のままなのだ。てなわけで、101になっている箇所をすべて、110に直してあげる。こんな風に。

=1-foo:popuser:110:110:/var/qmail/mailnames/example.com/foo:::
=1-bar:popuser:110:110:/var/qmail/mailnames/example.com/bar:::
+1:popuser:110:110:/var/qmail/mailnames/example.com:::

最後に、/var/qmail/user/assignの反映をコミットする。

# /var/qmail/bin/qmail-newu

qmail再起動の必要はないが、念のため、再起動しておいた。そして、MLは正常に配送されるようになった。めでたしめでたし。

いつか、postfixあたりでメールサーバを再構築したいです。