Redhat9.0 : Postfix2.0のインストールと設定

2002.08.02


上へ
qmailって良いの?
Postfixのインストール
SMTP AUTHの設定
PostfixでMaildir
SMTP AUTH(PAM)
Postfix2.0
Postfix2.x SMTP AUTHの設定
Postfix2.x  SASL2の設定

Index

bulletPostfixのバージョンアップ
bulletRedhatのPostfixのインプリメンテーション
bullet手順
bulletPostfixの設定
bulletドキュメントの参照
bullet注意事項
bulletPostfix1.1.11からの移行
bulletその他

horizontal rule

Postfixのバージョンアップ

『Software Design 2003/5号』で,Postfix2.0とLDAPの連携が掲載されました。ちょうど,LDAPを試してみたいことだし,Postfixもバージョンが,2.0が出て安定してきたことなんで,バージョンアップをする時期と思い立ち,記事とその他の情報を参考に,まずは,Postfixを2.0にバージョンアップしてみました。

RedhatのPostfixのインプリメンテーション

まずは,RedHatのサイトに行ってみて探してみました。

bulletRPM   ftp://ftp.redhat.com/pub/redhat/linux/rawhide/i386/RedHat/RPMS/postfix-2.0.6-2.i386.rpm
bulletSRPM ftp://ftp.redhat.com/pub/redhat/linux/rawhide/SRPMS/SRPMS/postfix-2.0.6-2.src.rpm

中を見ると,RedHat9のPostfix1.1.11にあった「chroot設定」でないようです。これまでと運用が変わるのは嫌なので,そのSRPMとRedHat9のPostfix.1.1.11のSPECファイルをマージしてみました。

行きがけの駄賃で,以下のファイルもマージしました。
(「Postfixのページ<http://www.kobitosan.net/postfix/>」池田さんのWEB)

bullet 日本語Postfix マニュアル
bullet 日本語Postfix サンプル
bullet 日本語Postfix ドキュメント

作成する際に,次のようにしました。

bulletchrootで動作する(/etc/postfix/master.cf)
bulletSASLは,Version2。RPMのSPECファイルの中では,Version1か2の選択ができるようになっています。 (redhat8.0で,LDAPとの関係から,SASL Version1にすると,コメントがあったから)
bulletSPECファイルのでのMySQLの前提条件の変更。そのままでは,mysqlclient9がないとエラーとなりますが,いらないようです。MySQLは,OFFにしています。
bulletRedHat9のalternativeの仕組み
bullet TLSのパッチ
bullet日本語のマニュアルが表示される。(元のマニュアルは,「mailq.sendmail」のようにリネームしている)
一応,rpm -eでPostfixを削除した場合,元のドキュメントに戻るようにしていますが,全てのパターンでテストをしているわけではありません。

手順

  1. 以前のPostfixをアンインストールする
  2. Postfix2.0をインストールする
  3. update-alternatives で,mtaを選択する
  4. main.cfを編集する

Postfixの設定

コマンド

説明
# hostname
localhost.localdomain
インストール前に,自分のマシンのホスト名を確認する。もし,ホスト名がフルドメイン名でなければ,次のRPMのインストールの時に,失敗する。

ひとまず,先のように"localhost.localdomain"でも問題なし。

# rpm -ivh postfix-2.0.9-2j.i386.rpm rpmでインストールをする
update-alternatives --config mta


There are 2 programs which provide 'mta'.

Selection Command
-----------------------------------------------
* 1 /usr/sbin/sendmail.sendmail
+ 2 /usr/sbin/sendmail.postfix

Enter to keep the default[*], or type selection number: 2
デフォルトで,Redhat7.3をインストールしていた場合,MTAが,sendmailとPostfixの2つから選択できるので,Postfixを選択する。

# vi /etc/postfix/main.cf

とりあえず,以下の項目を設定するだけで使えるようになります。 設定されていない場合でも,hostnameがフルドメイン名(ex. foo.example.com)で設定されていれば,動作します。

 

変更箇所
myhostname = ホスト名  自分のマシンのホスト名。このホスト名当てのメールを受信する。

FQDNで指定する。

Ex
myhostname=mail.example.com

mydomain = ドメイン名 設定しないでもOK。
設定してある場合,そのドメイン当てのメールは全て受信する。
inet_interface=all 全てのインタフェースを使用する。デフォルトはローカルのみなので,他とのやりとりをする場合は,ALLとする。
myorigin = $mydomain

または

myorigin = $myhostname

これは,環境に応じて設定します。

メールの宛先に,フルドメイン名で記述していない場合,myoriginで指定されたホスト名が追加されます。

例: mail test < text.txt の場合
mydomain=example.com
myorigin=$mydomain

test@$myorigin -> test@example.com 宛になる。

aliasesファイルで,別名をつけたときに,ユーザ名ので見合ったら,$myoriginのドメインが追加される

mydestination = $myhostname, localhost.$mydomain これは,環境に応じて設定します。

このサーバが受け付けるメールアドレスになります。
左記の例の場合,
 

myhostname=mail.example.com
mydomain=example.com

 

usr@mail.example.com

usr@localhost.example.com

のメールを受け付けます。

 
# newliases /etc/postfix/aliases.dbを作成する。

必要で有れば,この前に,/etc/postfix/aliasesファイルを編集する。

最低限,rootの宛先を変えておいた方が良いでしょう。(デフォルトはpostfixユーザ)

以下のAliasも必要でなければ,コメントアウトした方が良いでしょう(marketingへSPAMが来たことがあります)

# The following aliases are required by RFC 2142
info: staff
marketing: staff
sales: staff
support: staff
 

# postfix start

または,

# /etc/rc.d/init.d/postfix start

postfix を実行する

ドキュメントの参照

bulletman postfix  (/usr/share/man/ja/ 配下)
日本語環境であれば,日本語表示されます。
bulletコンフィグレーションサンプル ( /usr/share/doc/postfix-{Version}/samples/jp/ 配下)
日本語に翻訳されたサンプルがあります
bullethtml ドキュメント ( /usr/share/doc/postfix-{Version}/html/jp/ 配下)
htmlのドキュメントがあります。
/etc/httpd/conf.d/postfix.conf のようなファイルを作成すれば,自分のWEBサイトhttp://localhost/postfix/ja/でドキュメントが参照できます。

注意事項

up2dateを使用する場合,up2dateがRedHatのPostfixをダウンロードし,上書きインストールをします。

/etc/sysconfig/rhn/up2date ファイル内で,以下のようにするとRedHatのpostfixをインストールしないようになります。

pkgSkipList=kernel*;postfix*;

Postfix1.1.11からの移行

以下のパラメータが変更になりました。

Postfix1.1.11 Postfix2.x 備考
reject_maps_rbl reject_rbl_client RBLサーバ smtpd_recipient_restrictions等で使用する
check_relay_domains reject_unauth_destination check_relay_domains が廃止され,reject_unauth_destination を使うことが推奨されるようになりました。

smtpd_recipient_restrictions等で使用する

permit_naked_ip_address permit_mynetworks  
regexpのルックアップテーブル

/pattern1/!/pattern2/

 

if !/pattern2/..endif

man regexp_table
qmgr_site_hog_factor qmgr_clog_warn_time  
postqueue postqueue キュー操作が変わった
  MIMEサポート conf/sample-mime.cf
  reject_rbl_client rbl.domain.tld  
  reject_rhsbl_sender rbl.domain.tld  
  rbl_reply_maps  
virtual_maps virtual_alias_maps

virtual_alias_domains

 

その他

saslの設定は,Postfix1.1.11とは若干違ってきます。

 

horizontal rule

改正歴

2003.05.05 初版
2003.07.09 コンパイルオプション(SPECファイルの設定)の変更を加えた。現在,ftpサーバにあるバージョンは,Postfix 2.0.13です。
2003.08.02 ちょっと言葉をいじった
2003.09.23 脱字修正

horizontal rule