nDiki : qmail

qmail

MTA

ユーザの作業

Maildir にメールを受信する場合

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

他のメールアドレスに転送するだけの場合

 echo '&myaccount@example.com' > $HOME/.qmail

サーバ設定メモ

ノート PC での設定

locals

 localhost
 thishost.example.com

me

 thishost.example.com

rcpthosts

 localhost
 thishost.example.com

databytes

 1073741824

Debian でのインストール

users/assign

qmail-users(5) 参照。

 =local:user:uid:gid:homedir:dash:ext:
 +loc:user:uid:gid:homedir:dash:pre:

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日全て ]

2005年9月27日 (火)

納品前日なのに /var が壊れた! HDDからのブートで Debian 再インストール

午後になって「今日はメールがあまりこないな」と思っていたら、実はノート PCの /var が 100% を越えていた。 しかし急に何で?

 Filesystem          サイズ  使用  残り 使用% マウント位置
 /dev/hda1             9.2G  7.5G  1.3G  86% /
 tmpfs                 505M   16K  505M   1% /dev/shm
 /dev/hda2              19G   14G  3.9G  79% /home
 /dev/hda3             185M  -64Z  163M 101% /var
 /dev/hda5             1.2G  347M  813M  30% /tmp

いや、そもそも /var は 3.7GB ぐらい取ってあったはず。……ヤバイ? /var を除くと空の /var/lib と、空の lost+found のみ。 おや? あれ?

一旦シャットダウン。/var が無いので各 daemon が悲鳴をあげつつ終了。 でシングルユーザで起動して fsck。 酷い有様のようだ。 ここまで /var が壊れるとどうしようもないなあ。/var/lib/dpkg 以下がごっそり無いのは Debian 的に痛い。

納品を明日に控えているんですけどね。TeX のドキュメントもまだまだ書かなければいけないんですけどね (/var/lib/texmf も無い)。 メールのチェックもままならない(/var/qmail も /var/spool も無い)。

再インストールかぁ。幸い / と /home が生きているから被害は最小限。 下手に無理して使い続けて他に悪影響が出てファイルを壊したりしないうちに、やってしまった方が良さそうだ。

再インストール

まずは sargeDebian GNU/Linux を入れ直す。 USB FDD も USB CD-ROM ドライブも自宅で手元にないという状態の ThinkPad X31 ということで、 HDD からのブートをチョイス。

最初に / パーティションにある /usr/local を /home/naney 以下に退避。 次にGRUBからインストーラが起動するようにする。

 mkdir /boot/newinstall
 cd /boot/newinstall
 wget http://http.us.debian.org/debian/dists/sarge/main\
 /installer-i386/current/images/netboot/debian-installer/i386/initrd.gz
 wget http://http.us.debian.org/debian/dists/sarge/main\
 /installer-i386/current/images/netboot/debian-installer/i386/linux
 mv linux vmlinuz

/boot/grub/menu.lst に

 title New Install
 kernel (hd0,0)/boot/newinstall/vmlinuz root=/dev/ram0 ramdisk_size=12000
 initrd (hd0,0)/boot/newinstall/initrd.gz

を追加してリブート。GRUB のメニューから New Install を選んで起動させ、インストーラを立ち上げる。 パーティションの設定で

  • / と /var があったパーティションは初期化 (ext3)
  • /var と /tmp と のパーティションはそのままマウントするように設定
  • swap は今までと同じ /dev/hda6

あとは普通にネットワークインストール。 思ったより簡単に復旧できそうだ。CD-ROM やフロッピーディスクを作るよりよっぽど簡単。

最小限のパッケージだけ入れたらすぐに sidアップグレードし、後は作業しながら足りないものを順次インストール・設定。

/etc の下のバックアップは自宅にある外付けHDにあり、これを参照しないかゆいところまで手の届いた設定に戻していくのは大変。 とりあえず 会社では qmail の設定など必要な範囲のみに留めておく。

Linu kernel は以前作った deb 一式をとっておいたのでそれで置き換え。 有線LAN + DHCPな難境だったので、ネットワークまわりほぼ設定不要で助かった。

MADWIFIcpufreqd あたりの設定は自宅に戻ってから復旧させた。

被害状況

/var の lost+found をみると 11:35 ぐらいに /var に書き込めなくなったようだ。 気がついたのが 14:30 ぐらいで、再インストールしてある程度作業ができる状態 (メールまわり、XEmacs まわり他)になったのが、19:00すぎ。

問題確認後、作業中のファイルを失わずに Subversion リポジトリにコミットでき、もう一台のデスクトップ Windows PC で作業を継続できたのは不幸中の幸い。

しかし /var の破損の原因は何なんだろう。HDDの問題に起因するとなると今後もこわすぎるな。

[ 9月27日全て ]

2006年5月23日 (火)

ISP から Outbound Port25 Blocking を行うとのお知らせ

ISP から OP25B を行うとのメールがきた。

Mew の設定

ノート PC の設定変更が面倒だな……と思ったが、考えてみたら普段手で書いて送っているメールMew から「直接 www.naney.org か会社の SMTP サーバへ SSH port forwarding 経由で送っている」から、こちらは別に関係ないのか。

qmail の設定

とはいえローカルの qmail から送っているメールもあるから、これの設定をする必要あり。 こいつはどうやって設定しようか。

  1. 自宅にいる時は「プロバイダSMTP サーバ (25番ポート)経由」、外(別の接続からの時)では「ローカルの qmail から直接」
    • 切り替えが必要
  2. プロバイダのサブミッションポート 587番 + POP before SMTP 経由」
  3. 「他のサブミッションポート 587番 で提供されている SMTP サーバ経由」
    • SMTP サーバのあてがない

さて、どうしたものか。 皆はそうしているのか、要調査。

[ 5月23日全て ]

2006年7月29日 (土)

Debian GNU/Linux sid 環境を新 HDD

朝から ThinkPad X31HDD 新しく入れ替えて Debian GNU/Linux sid のインストールを開始。

Debian GNU/Linux のインストール

今日は sarge のネットワークインストール CD イメージからブートしてインストール。 今回はブートドライブにできる「ThinkPad USB ポータブルCD-ROMドライブ」があり、またこのイメージで起動して e1000 が認識できるので楽勝である。

(第1回目USB FDD + PC カード NIC でインストール、第2回目HDD 上のインストーラから GRUB からの起動によるインストールだった)

最低限のものを入れたらすぐ sidアップグレード

HDD からのコピー

ヤバイ状態の旧 HDDUSB 外付け HDD ケースに詰めて

  • /home 全部
  • /usr/local で必要なもの
  • 参照用に /etc の複製
  • /var/www、/var/spool

を新しい HDD にコピー。

次に環境の復旧。 以下備忘録。

MADWIFI

以前作った Linux kernel 2.6.15 deb パッケージをインストールした後 module-assistant で madwifi をインストールするも、ビルドした GCC のバージョンが違ってロードできず。 kernel は GCC 4.0 の時にビルドしたもので、madwifi は現在のバージョンである GCC 4.1 によるビルドであることが問題。

まずは前にビルドした 2.6.15 のソースディレクトリでカーネルパッケージを GCC 4.1 で作りなおしてインストールし、あらためて module-assistant。

 module-assistant prepare
 module-assistant auto-install madwifi

で /etc/network/interfaces を書き戻す。

SMTP サーバを Postfix

ここずっと使っていた qmail をこの機会にやめることにした。 Postfix へ。

全体の設定はインストーラに従って設定。

個人設定は、

~/.qmail

 | preline /usr/bin/procmail

として procmail を使っていたので、~/.forward を作って同様に procmail に流すようにする。

 "|IFS='' && exec /usr/bin/procmail -f- || exit 75 #naney"

~/.procmailrc は以前のまま。ClamAVbsfilter でふるいにかけた後、Maildir へ。

bsfilter は deb のものに

以前入れた時は deb が古かったので /usr/local に自前でインストールした。 まずはこれを古い HDD から戻して動作確認後 deb のものに切り替え。

.mew.el の中も

 (load "/usr/share/doc/bsfilter/examples/mua/mew4/mew.el")

に変更。

Samba

/etc/samba/smb.conf を書き戻す。smbpasswd でパスワード再設定。

X

とりあえずインストール時の設定で xorg.conf を作る。

 Load "freetype"

をコメントアウトして、

 Load "xtt"

に変更。

KDE

sid は現在 3.5.3 と 3.5.4 混在状態になっているため、依存関係の問題で簡単にはインストールできずてこずった。 kdebase-data と kdelibs-data の 3.5.3 を http://snapshot.debian.net/ からとってきて hold して 3.5.3 系 KDE として各種パッケージをインストール。

フレッシュリーダー

以前インスールした状態に復旧

  1. libapache2-mod-suphp php5-cli をインストール
  2. /var/www/freshreader、/etc/apache2/sites-available/freshreader を戻す
  3. a2ensite freshreader
  4. /etc/init.d/apache2 reload
  5. /etc/hosts に freshreader を追加

cpufreqd

  1. cpufreqd をインストール
  2. /etc/cpufreqd.conf を戻す
  3. /etc/init.d/cpufreqd restart

Skype

skype-beta-1.3.0.30-1_i386.deb をインストール。

cron

一般ユーザ naney の crontab ファイルを再登録。

Perl モジュール

足りないと気がついた時点で順次インストール。

autofs + smbfs (2006年8月3日)

/etc/auto.master、/etc/auto.misc を書き戻して /etc/init.d/autofs restart。

mt-daapd (2006年8月22日)

deb パッケージを公式サイトからダウンロードし、/etc/mt-daapd.conf を書き戻して /etc/init.d/mt-daapd restart

[ 7月29日全て ]

About

Naney Naneymx

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

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

Process Time: 0.022236s / load averages: 0.21, 0.24, 0.23