nDiki : qmail

1999年10月28日 (木)

メインノート PCMTA を sendmail から qmail に変更

今日はちょっと時間ができたのと、他の作業に集中できなかったので、この時間をつかって MTA を sendmail から qmail に変更することにした。

現在の Debian GNU/Linux Potato では qmail はソースで提供されている。 がスクリプト一発でインストールできるのでほとんど普通のパッケージとかわらない。この qmail-src パッケージは uscpi-tcp 要求するのだが、これもソースで ucspi-tcp-src として提供されている。 qmail-src をいれるときには uscpi-tcp, ucspi-tcp-src に依存していないので、はいるのだが、これをビルドしていざ qmailインストールする時に、依存関係でごたごたするので、ucspi-tcp を先にインストールしておいた方が楽である(実際ちょっとごたごたした)。

それぞれ、ucspi-tcpsrc, qmail-src パッケージを取得したあと、build-ucspi-tcp, build-qmail コマンドを実行する。

インストールしたら、alias に su して

 $echo '自分のユーザ名' > ~alias/.qmail-postmaster
 $chmod 644 ~alias/.qmail-postmaster

として /etc/init.d/qmail start でサービス開始。

ユーザ側では、

 $maildirmake $HOME/Qmail
 $echo $HOME/Qmail/ >$HOME/.qmail

として maildir を作成する。あとは im の設定。~/.im/Config に

 MBoxStyle=qmail
 Imget.Src=local:${HOME}/Qmail

を追加する(実際にはコメントマークを外して修正)。

これで終了。今回はメールをロストするなく移行できほっと一安心。

と実際は、ちょっとひっかかった点がひとつ。 alias の設定で ~alias/.qmail-root で root へのメールを自分のユーザアカウントに転送しようと思ったらうまくいかない。すべて alias に届いてしまう。

いろいろ調べてみたところ、Debian パッケージでデフォルトで /etc/qmail/users/assign に root その他のいくつかは ~alias/.qmail-postmaster に従って配送されるようになっていた。~alias/.qmail-postmaster は touch しただけで alias に届くようにしていた。のでいくら .qmail-root をいじっても alias にメールが届いてしまったわけだ。

まぁよくよくみればドキュメントに書いてあったんだけど……

追記

今は $HOME/Qmail じゃなくて $HOME/Maildir にしてます(って結構前から)。 (2001年1月17日、追記)

スポンサード リンク
[ 10月28日全て ]

2003年12月5日 (金)

[ Debian ] DynaBook SS -> X31

作業中は、両方同時に使用する事になるのでホームディレクトリを Unison で同期。 DynaBook SSの方はメモリ192MBなのであるが、ホームディレクトリをまるごと転送するとスワッピング発生しまくりで、かなり遅い(それに加えて使用しているのが3C589なので10Base-Tだし)。 同期するファイル群の絶対的なファイル数はそれほどメモリ使用量には関係ないのかな。非同期になっているファイル数に応じてメモリを消費している感じ。-path で何回かに分割すれば良いようだ。

他、/etc、/usr/local、/var の下の一部、/home の下の一部を X31 の /usr/local/ss2 以下に rsync。 もともと DynaBook SS の /usr/local にはさらに前の Debian BOX の 退避ファイルを残してあるので、

 /usr/local
   |
   +- ss2
       |
       +- usr-local
           |
           +- ss
              |
              +- 2代前のDebianBOXの
                 /usr/localファイル

なんて事になっている。 そろそろあきらかに必要のないファイルを削除しないといかんな。

とにかく、ほぼ必要なファイルを転送終了。 qmailMew の設定が無事 X31 で動いたので、今日からこちらで作業する事にする。

[ 12月5日全て ]

2004年1月6日 (火)

[ Debian ] qmail

 apt-get install ucspi-tcp-src
 build-ucspi-tcp
 apt-get install qmail-src
 dpkg --purge exim
 build-qmail
 echo '&naney@mydomain.com' > ~alias/.qmail-postmaster
 chmod 644 ~alias/.qmail-postmaster
 chown alias.qmail ~alias/.qmail-postmaster
 echo 'localhost' > /etc/qmail/locals
 echo 'thishost.mydomain.com' >> /etc/qmail/locals
 echo 'mydomain.com' > /etc/qmail/rcptshosts
 /etc/init.d/qmail start
[ 1月6日全て ]

2004年1月8日 (木)

[ Debian ] woody + qmail + vpopmail + fml

qmailadmin を入れたが動作に不安があるし、qmailadmin から使用する ezlm も使った事がないので、ここは慣れた fml を入れることにする。ルート権限で、

 apt-get install fml
 adduser vpopmail list
 adduser naney list

naney権限で、メーリングリストを作成。

 makefml newml testml

次に vpopmail ユーザで設定をコピー (実際は不要: 注1)。

 cp /var/spool/ml/etc/qmail/alias/.qmail-testml* \
   ~vpopmail/domains/example.co.jp/
 cp /var/spool/ml/etc/qmail/alias/.qmail-owner-testml* \
   ~vpopmail/domains/example.co.jp/

root 権限で qmail の方を設定。 /var/spool/ml/etc/qmail/users/assign の

 +testml:naney:1000:1000:/var/spool/ml/etc/qmail/alias:-:testml:

を参考に、/etc/qmail/users/assign を編集

 +example.co.jp-testml:naney:1000:1000:/var/spool/ml/etc/qmail/alias:-:testml:
 を以下の行
 +example.co.jp-:example.co.jp:64020:64020:/var/lib/vpopmail/domains/example.co.jp:-::
 の前に追加。

(注2)。 追加したら qmail-newu

後は普通の fmlメーリングリストを作成した naney 権限 で、

 makefml config testml
 makefml addadmin testml naney@example.co.jp
 makefml add testml 追加したいユーザ名

でOK。

2005年3月13日追記

(注1) users/assin の方で指定している /var/spool/ml/etc/qmail/alias 以下の設定が優先して使用されるので、~/vpopmail/domains/example.co.jp にコピーする必要はなし。 もしコピーしてそちらを書き換えても設定には反映されない。

2005年3月13日追記

/var/spool/ml/etc/qmail/alias 以下の

(*)のファイルには

 naney

と書かれておりそのままでは、UNIXアカウントの naney の方にメールが届く。 もし naney@example.co.jp というバーチャルドメイン上のアカウントの方に届くようにするようするには、それぞれ

 &naney@example.co.jp

に置き換えるようにする。

2005年4月4日追記

(注2) 上記の例では uid:gid に 1000.1000 (ここでは naney.naney) を指定してしまっている。 Debian 流に list グループでメーリングリストを管理するには、gid を list グループの gid にする必要がある。

[ 1月8日全て ]

2004年1月13日 (火)

Mew の設定とか

SSH 経由で、POP before SMTP なサーバ(qmail + vpopmail)へは

 smtp-server: hoge.example.com
 smtp-ssh-server: hoge.example.com

でなくて

 smtp-server: localhost
 smtp-ssh-server: hoge.example.com

でないと駄目なのかな (SMTPサーバ = SSHサーバ)。 以前は SMTPサーバ と SSHサーバが違うホストの設定を使っていたので、それぞれFQDNを書くだけだったのだが。

[ 1月13日全て ]

2004年1月19日 (月)

[ Debian ] qmail + vpopmail + fml でポカミス

先週末に本格始動した Debian BOX、午前中メーリングリストメールを送ったら配送されない(10日ほど前に設定したやつ)。

log を見る限り permission の様子なのだが。 g+rw したりしたのだが改善されず。 うーん。メーリングリストオーナ(=naney)権限で動くから、その必要もないはずなんだけれどなぁ。vpopmail権限で動いちゃっているのかなぁ。 テストメメーリングリストを作った時には問題なかったのだが。

で小一時間。 /etc/qmail/users/assign

 +xxx.co.jp-testml:naney:1000:1000:/var/spool/ml/etc/qmail/alias:-:testml:

ふう。xxx.co.jp ですよ。 手順まとめた時に伏せ字にしておいたのだが、そのままコピーしてあったよ。 当然実際にはマッチしないので、その後の、

 +yyy.co.jp-:yyy.co.jp:64020:64020:/var/lib/vpopmail/domains/yyy.co.jp:-::

(yyy は本当の名前ね)

行により vpopmail 扱われたと。 で「/var/lib/vpopmail/domains/yyy.co.jp/.qmail-メーリングリスト名」が一応あるから、vpopmail 権限で fml.pl が動いて。

午前中つぶしてしまったよ。

[ 1月19日全て ]

2004年1月20日 (火)

[ Linux ] qmail-smtpd に2GB以上のSMTPセッションを受けるとバッファオーバーフローを引き起こす可能性

/etc/qmail/databytes (Debian の場合の場所)に2GB以下の数値を指定すればよいらしい。

[ 1月20日全て ]

2004年1月22日 (木)

ブレーカー + メーリングリストアカウント中の'-'

qmail + vpopmail + fml 運用で、'-' の入ったメーリングリストを作ったら、他のユーザがPOPできなくなってしまった。 やばいやばい。とりあえず元に戻さなければ...って作業してたら突然真っ暗に。

掃除当番のスタッフが掃除機をかけていたら、ブレーカーが落ちてしまったらしい。 (まだ)サーバ、UPSにつながってないし。 例によって作業端末はノート PC なので実害はないのだが。

[ 1月22日全て ]

2005年3月12日 (土)

UNIXアカウントの方に大量にたまっていたfml管理メール

先日メールサーバのメンテをしていたら、自分のアカウントにメールが700通弱たまっているのを発見。

常用しているバーチャルドメインの naney@example.co.jp の方はもちろん定期的に fetch している。 naney 宛のメールも全て naney@example.co.jp に流れると勘違いしていた。 UNIXアカウントの方にもたまっているとは思っていなかったので見落し。マズイ。

吸い出し

vpopmail のPOPサーバから吸い出そうとしたところ失敗。

 maildirmake maildirmake $HOME/Maildir
 echo $HOME/Maildir/ > $HOME/.qmail

naney UNIX用アカウント用の maildir を作成し.qmail を書いて、mbox からこちらへ一旦流すことで吸い出せるようになった。

幸い「メーリングリストが配送するメールの中に配送できないアドレス(退職により削除されたアドレス)があるよ」というエラーメールがほどんどで、重要なものはなかった。 一安心。

fmlの管理メールアドレスの送り先を修正

/var/spool/ml/etc/qmail/alias 以下にある設定ファイルで、転送先が

 naney

となっているのを

 &naney@example.co.jp

に修正し、vpopmail 上のバーチャルアカウントの方に届くようにする。

 for f in `grep -l naney .*`; do echo '&naney@example.co.jp' > $f ; done

以前 qmail+vpopmail+fml設定をした時にこれらのファイルを ~vpopmail/domains/example.co.jp/ にコピーしたのだが、確認したところ実はこれは不要だった。削除。

[ 3月12日全て ]

2005年4月4日 (月)

Debian + qmail + fml で複数管理者の場合は user/assign に注意

メーリングリストが正しく配送されなくなったという苦情が午前中に入る。

確認したところ、新たに list グループに登録した管理者(仮に foo)の作業の後に問題が起きているようだ。

原因

管理者 foo がメーリングリスト(仮に testml)に makefml コマンドでユーザの登録・削除をした際に、ファイル「members」の所有者が naney.list から foo.list にかわる。

一方、最初にメーリングリストを作成した時の /etc/qmail/users/assign への記述

 +example.co.jp-testml:naney:1000:1000:/var/spool/ml/etc/qmail/alias:-:testml:

では uid.gid に 1000.1000(naney.naney)を指定してしまっている。 naney.naney 権限 で 0660 (foo.list)なファイル「members」を読めずに配送できなくなったというのが原因。

複数の管理者で管理することを想定しないで当初設定してしまったというありがちなミス。

 +example.co.jp-testml:naney:1000:38:/var/spool/ml/etc/qmail/alias:-:testml:

に修正したところ問題なくなった (38 は list グループの gid)。

[ 4月4日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.049812s / load averages: 0.56, 0.76, 0.72
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker