Deprecated: 関数 add_custom_background は、バージョン 3.4.0 から非推奨になりました ! 代わりに add_theme_support( 'custom-background', $args ) を使用してください。 in /usr/home/WWW/cml-office/memolog/wp-includes/functions.php on line 6131

Notice: 関数 register_sidebar が誤って呼び出されました。「sidebar」サイドバーの引数の配列で id が設定されませんでした。既定では「sidebar-1」です。id に「sidebar-1」を設定することでこの情報を消して、既存のサイドバーのコンテンツを保つことができます。 詳しくは WordPress のデバッグをご覧ください。 (このメッセージはバージョン 4.2.0 で追加されました) in /usr/home/WWW/cml-office/memolog/wp-includes/functions.php on line 6131
1月 | 2015 | メモlog
Archive from 1月, 2015
1月 28, 2015 - コンピューター    qpopper+dracd+postfixでPOP before SMTPのインストールで嵌る はコメントを受け付けていません

qpopper+dracd+postfixでPOP before SMTPのインストールで嵌る

久しぶりに嵌ったのでメモ。
FreeBSD9.1のレンタルサーバでの設定。
portsをアップグレードして、qpopper+dracd+postfixでPOP before SMTPの構築を試みたのだが、あれこれがんばってみても、動かない。
maillogのエラーの1つは
postfix/smtpd[1527]: error: open database /usr/local/etc/dracd.db: Invalid argument
というもので、これ以外にもdracd単独で動くように見えてもpopperでアクセスするとdracd.dbが更新されなかったり、そもそもdracd単独テストでdracd.dbのファイルサイズが0のままになったりといろいろ。これでまる2日ほど嵌った。

まず、portを最新版にしたのがまずかった。dracdは、bdbを使って動くのだけど、bdb5だとまともに動かず、
/usr/local/sbin/rpc.dracd -i
を実行しても、/usr/local/etc/dracd.dbは0バイトのままで何も書き込まれない。また、最新版のportsからdracdを入れると、依存関係を調べてbdb5を入れてくれるので、それでいいのかと思って信用してるとダメだというorz。

まず、portsを丸ごと古いヤツに入れ替える。/usr/portsをそっくり入れ替え。すると/ports/databasesの中にbdb41があるので、間違って入れたこれより上のバージョンの関連ファイルを/usr/local/libなどを探してまるっと削除。その後、portsからbdb41を入れる。普通にmake installすればよい。何かエラーが出るならmake cleanとかmake deinstallで一旦消してからmake install、それでも何か言われたらmake reinstallで入れる。

次に
cd /usr/ports/mail/drac
make instal
を実行。オプションはDB使う、postfixを指定。すると、依存関係のチェックで既にあるbdb4.1を見て続けてくれる。/usr/local/etc/dracd.allowの設定とか自動起動とかをやっておく。ソースから入れるならlibdrac.aとかを/usr/local/libに後から置く必要があるかも。

portsから以前入れたqpopperがdracを見てくれてないぽい。メーラーでつないでもdracd.dbが更新されてない。portsをいろいろ弄ったりしたため、portsから入れようとするとpkgの方で引っかかってエラーになるので、ソースから入れる。ftp.qualcomm.comから最新のソースを引っ張ってきて展開、
./configure -enable-standalone –enable-apop –with-drac=/usr/local/lib –with-popuid=pop –mandir=/usr/share/man
make install
起動は、
/usr/local/sbin/popper -s -S
一回リブートして、rpc.dracdもpopperも自動起動することを確認し、メーラーでつないだら、dracd.dbが更新された。れんけいかくにん、よかった!

で、portから入れてもソースから入れてもdracd.dbを読んでくれなかったpostfixだが、バージョンを2.10系統にしたらあっさり動いた。特にコンパイルオプションを指定せずにmake installで問題なし。maillogに出ている、postrixがdracd.dbを開けないエラーは、dracとpostfixで異なるバージョンのbdbを使うと起きるエラーらしい。しかし、2.11以降はdracとpostfixの組み合わせでは、インストール時にどちらも入れてあるbdb4.1を使うしかないというかそれしか使えない状態でも、postfixがdracd.dbを見ようとすると失敗するみたい。

なお、/etc/aliasesから/etc/aliases.dbを作る時は、postfixと一緒に入るpostaliasを使って作らないと、aliases.dbが開けないというエラーも出る。2.10と2.11では互換性がないっぽい。もしかしたらマイナーバージョンの違いでもこのエラーは出るかもしれない。