postfix 2.2.10とかのログのエラーと対処┐(´д`)┌

  • 投稿日:
  • by
  • カテゴリ:

Starpitを使いたかったので、2.2.10を入れ-DSNAPSHOTオプションをつけコンパイルした。
で、前日とかの日記のBerkeley関連の読み込みでうまくできなかった┐(´д`)┌ ウンザリ
問題なくコンパイルできるようになったのだが、エラーログがいくつかあったのでその対処について
..._〆(゚▽゚*)

☆その1 /var/log/maillog に 「private/anvil」 が出た場合
Jul 12 21:50:29 oscar2 postfix/smtpd[21809]: warning: connect to private/anvil: Connection refused
Jul 12 21:50:29 oscar2 postfix/smtpd[21809]: warning: problem talking to server private/anvil: Connectionrefused

のように出ていた場合、2.1 や 2.0 からアップデートした際に以下のコマンドをやっていない場合
出る場合があった。

sh /etc/postfix/post-install upgrade-configuration
sh /etc/postfix/post-install create-missing
postfix check

post-install を使うことによって、足りないもの、修正が必要なものは直るらしい。
アップグレードインストールの場合はやること。

それでもエラーが出ている場合は、
master.cf に以下の設定があるかを確認する。

anvil unix - - n - 1 anvil

これが無かった場合は追加して reload すれば直るでしょう。

☆その2 /var/log/maillog に 「do not list domain ~」 が出た場合
Jul 10 23:20:30 oscar2 postfix/trivial-rewrite[2191]: warning: do not list domain tmlug.org in BOTH mydestination and virtual_alias_domains

これは、main.cf 自体に tmlug.org を記載しているが、virtual_alias_domains にも書いているぞ( ゚Д゚)
ということらしい。

do not list domain ~と出た場合は、BOTH以降に出ている設定の見直しをすれば直るでしょう。

☆その3 /var/log/maillog に 「unable to open Berkeley db /etc/sasldb2: Invalid argument」 が出た場合
Jul 9 20:49:26 oscar2 postfix/smtpd[10837]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: Invalid argument

何点か可能性があるみたいです。
○postfix と cyrus-sasl のコンパイルの際に使った Berkeley db のバージョンが違う場合など問題になる場合があるみたいです。
僕の場合は、postfix コンパイル時に 別途入れていた Berkeley db を取り込んでたらしく、
うまく動かなかった。

○sasldblistusers2/saslpasswd2を使った場合にエラーが出る場合も Berkeley db のバージョンが違うためにおきた現象だった。
確認方法として、ldd /usr/sbin/saslpasswd2 をすると読み込まれているライブラリが何かわかる。
[root@oscar2 sbin]# ldd /usr/sbin/saslpasswd2
libsasl2.so.2 => /usr/local/lib/libsasl2.so.2 (0x4001f000)
libdl.so.2 => /lib/libdl.so.2 (0x40033000)
libcrypto.so.4 => /lib/libcrypto.so.4 (0x40036000)
libdb-4.2.so => /lib/libdb-4.2.so (0x40134000)
libresolv.so.2 => /lib/libresolv.so.2 (0x40208000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x4021a000)
libc.so.6 => /lib/i686/libc.so.6 (0x40248000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

別途 libを追加した場合は、
/etc/ld.so.conf に追記して、「ldconfig」 を行う。

自分の鯖の読み込んでいるライブラリの確認を行う場合は、「ldconfig -v」 をすると良いでしょう。

あと、 /lib に libdb-4.*.so をコピーしたらコンパイルがうまくいった場合がありました。
apache2 のコンパイル時に、BerkeleyDB のバージョンを指定しているのにコンパイルできない
状態になった...とりあえず、/lib にコピーしたらうまくいった。┐(´д`)┌ ウンザリ