コマンドラインでユーザ一覧を取得する

mailman の bin ディレクトリに list_members というコマンドがあり、これを使って取得できる。

使い方は簡単。

bin/list_members <ML名>

こんだけ。

設定内容を取得する

mailman の bin ディレクトリに dumpdb というコマンドがある。 引数に *.pck ファイルを指定すると、内容を書き出してくれる。便利。

bin/dumpdb hoge.pck

インストール

portsを使って簡単に。

cd /usr/ports/mail/mailman
make install

ただし、これでインストールとセットアップまで終わって、いざ動かしてみるとエラーになって配送されない。 FreeBSD 7.0Rでの話だけど、4系でも同じ。

テスト用MLを作って、メールを出してみると、

<test@anseilen.org>: Command died with status 2:
 "/usr/local/mailman/mail/mailman post test". Command output: Group mismatch
   error.  Mailman expected the mail wrapper script to be executed as group
   "mailman", but the system's mail server executed the mail script as group
   "nobody".  Try tweaking the mail server to run the script as group
   "mailman", or re-run configure,  providing the command line option
   `--with-mail-gid=nobody'.

と言うエラーになる。

 読んだとおり、MTA(ここではpostifixを使っている)がnobodyで動いているから、

  • MTAをmailmanユーザで動かすようにする
  • mailmanを、--with-mail-gid=nobodyとしてmakeするか

のどちらかをするように言っている。

mailmanを作り直すことにした。

cd /usr/ports/mail/mailman
make MAIL_GID=nobody
make deinstall
make reinstall

これでOK

サーバ移行

サーバ移行のためのテストをしていて、インストールは、portsで行い、mailmanのバージョンレベルはきちんと一致している。

で、/usr/local/mailman以下をごっそり元サーバから持ってきて展開。

apacheの設定もそろえてあるので、すぐに管理画面も表示できた。

が、サービスの起動に問題が発生した。

/usr/local/etc/rc.d/mailman start

としても、qrunnerプロセスがでてこないのだ。

何度やってもダメ。

/usr/local/etc/rc.d/mailmanスクリプトは、中で/usr/local/mailman/bin/mailmanctl をコールしているので、そのコマンドを単独でたたくと、ヘルプが表示される。

mailmanスクリプト内では-qオプションがついててエラーメッセージが表示されないようになっているため、これを外して手動でコマンドをたたいてみた。

% /usr/local/mailman/bin/mailmanctl -s start
Mailman のマスター qrunner を起動します

起動できた…

でも、mailmanスクリプト(起動スクリプト)で操作できないのは困る。

何でだろうと思って、元サーバ上のmailmanスクリプトを試してみたら、できねーじゃん(笑)。 元々できてないのか…

仕方ないので、とりあえず、mailmanスクリプトの-qオプションは外して、エラーが標準出力に出るようにしといた。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS