広告・Googleアドセンス728px

Article(記事)

メールサーバ構築(postfix)

投稿日:2004年8月2日 更新日:

ご注意ください
この記事は2年以上前に書かれたものですので、内容が古い可能性があります。

あってもなくてもいいのだが、内部用のMTAとしてpostfixを導入。

設定概要
①/etc/postfix/main.cfの編集
②/var/spool/postfix/etc/resolv.confの編集

①/etc/postfix/main.cfの編集

/etc/postfix/main.cfを編集する。うちの環境では以下の通り

myhostname = kamatafl01.kamata-net.com
mydomain = kamata-net.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain $mydomain
mynetworks_style = subnet
mynetworks = 192.168.10.0/24, 192.168.30.0/24, 127.0.0.0/8
relayhost = kamatawww1
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mail_spool_directory = /var/spool/mail

②/var/spool/postfix/etc/resolv.confの編集
postfix は内部でchrootしているそうなんで、/var/spool/postfix/etc/resolv.confを読むらしい。なもんで

# cp -p /etc/resolv.conf /var/spool/postfix/etc/resolv.conf

トラブル関連

Aug 2 20:47:32 kamatafl01_in postfix/local[3872]: fatal: open database /etc/aliases.db: Permission denied

/var/log/maillogに上記エラーが吐かれていてメールがキューに溜まったまま。
いろいろ調べてみると、以下の文献あり。

postfix

 "fatal: open database /etc/aliases.db" が意味するのは?
=======================================
=DB ファイルは Berkelaey DB ライブラリによって保守されています。 上記のメッセージは次のどれかを意味します:
=ファイルが Berkeley DB バージョン 1 で作成されていて、あなたは バージョン 2 か 3 を使っている (もしくはその逆)。
=ファイルが "btree" 形式でかかれていて、Postfix が "hash" 形式を期待している (もしくはその逆)。
=問題を修正するには、 root で次のコマンドを実行して下さい:
=# newaliases
=これは Postfix が期待する形式の aliases.dbを作成します。
=または全く違う問題かも知れません。newaliases を実行した 結果が長さ 0 の aliases.db ファイルであれば、
=次の問題により苦しめられています。
= Postfix は Berkeley DB バージョン X 用のファイルを #include したのに対し、Berkeley DB バージョン Y のオブジェクト ライブ =  ラリをリンクしてコンパイルされました。ここで、X と Y は違うバージョンの Berkeley DB ライブラリです。
=これを修正するには、Berkeley DB ライブラリを適切にインストールします。例えば、RedHat version 7.0 は Berkeley DB version 3 =オブジェクト ライブラリをデフォルトで使用していますが、/usr/include/db.h ファイルはデフォルトではインストールされていません。
=正しく Postfixを構築するには、db3-devel パッケージをインストールしなければいけません。
=正しくインストールされたシステムでは、 ファイルを インクルードし、-ldb でリンクすることで同じバージョンの
=Berkeley DB ライブラリからファイルをアクセスします。
=========================================

ところがnewaliasesしてもうまくいかず…。

試行錯誤して、以下で解決。

/etc/postfix/main.cf
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/aliases

なんでかはよくわからん…^^;
しかもnewaliasesコマンドはうまくDBを作ってくれないので# postalias /etc/postfix/aliasesとしなければいけない模様。うーん。使いづらい。

この記事は役に立ちましたか?評価をお願いいたします。
[合計: 0 平均: 0]

広告336px

広告336px

-Article(記事)
-Linux, Mail

Copyright© 蒲田ネット , 2017 AllRights Reserved.