|
Postfix基本設定 |
2010年8月8日(日) | 2010年8月17日(火)更新 |
SMTPサーバーを設定、稼動します。CentOSにはsendmailが標準SMTPサーバーとしてインストールされ、稼動しています。当初これを使用しようと開始しましたが慣れないせいもありその難しさに挫折。 従来使いなれたpostfixを使うことにしました。 |
インストール
準備
$ mkdir -p ~/rpm/{BUILD,RPMS/{i386,i586,i686,noarch,ppc},SOURCES,SPECS,SRPMS}
(もしくは /usr/src/redhat-DEFAULT をコピーしrpmと名前変更)
~/.rpmmacros をつくり、以下を書き込み。
%_topdir /home/kiyoshi/rpm
%_sysconfigdir /etc
http://ftp.riken.jp/Linux/centos/5/os/SRPMS/を見てpostfixのバージョン等確認し、ソースをゲット。
$ wget http://ftp.riken.jp/Linux/centos/5/os/SRPMS/postfix-2.3.3-2.1.el5_2.src.rpm
ソースをインストール。
$ rpm -ivh postfix-2.3.3-2.1.el5_2.src.rpm
警告: ユーザ mockbuild は存在しません - root を使用します...と警告が出るが無視。
http://www.postfix-jp.info/link.htmlを見て必要なパッチをゲット。
かの有名なVDAパッチ(Maildirのquotaなどのサポート)も入れよう。
$ wget http://vda.cvs.sourceforge.net/vda/VDA/postfix-2.3.3-vda.patch
rpm/SOURCESに移動。
$ mv postfix-2.3.3-vda.patch rpm/SOURCES/
rpmbuildがインストールされていなかったらインストールしておきます。
SPEC変更
%define MYSQL 1
# Patches に追加
Patch11: postfix-2.3.3-vda.patch
# Apply obligatory patches にも追加
%patch11 -p1 -b .vda
rpm作成
$ rpmbuild -ba ~/rpm/SPECS/postfix.spec
pcre-develがないとかmysql-develがないとか言われ、インストール。
待つこと数分、大量のメッセージが表示され、
rpm/RPMS/i386/ に postfix-2.3.3-2.1.i386.rpm ができます。
インストール
作成したpostfixをインストールします。
$ su
# rpm -ivh rpm/RPMS/i386/postfix-2.3.3-2.1.i386.rpm
エラーも出ず、無事インストールされました。
Yum Extenderの設定→除外で、yum 除外リストに postfix* を書いておきます。この設定は /etc/yumex.conf に書き込まれますが、念のため /etc/yum.conf にも
exclude=postfix*
を書いておきます。
システムのmtaをpostfixに切替えてみます。(切替はこれでちゃんとやらないと問題が起きる。)
# service sendmail stop
# alternatives --config mta
(postfixの番号を選んで[Enter])
# service postfix start
再起動してへんなエラーが出ずにpostfixが起動したのを確認したら設定が済むまでまた元のsendmailに戻しておきます。
以上でpostfixのインストールは完了ですが、これからが長い道のりです。
基本設定
まずは基本設定のみ。設定変更部分のみ記載。
但しディフォルト値を(うっかり変えないよう)明示的に書いてあるだけの部分もあり。
myhostname = mail.iroribata.net
mydomain = iroribata.net
…myhostname, mydomain は運用するドメインに合わせて
myorigin = $myhostname
append_dot_mydomain = no
inet_interfaces = all
local_recipient_maps = $alias_maps
mynetworks_style = subnet
mynetworks = 127.0.0.0/8, 192.168.0.0/16
mydestination= $myhostname, localhost, jiji.iroribata.net
…メールサーバーおよびこのサーバーに設定されているホスト名
relay_domains = $mydestination
home_mailbox = Maildir/ …Maildir形式を使う
header_checks = pcre:/etc/postfix/header_checks
smtpd_banner = $myhostname ESMTP $mail_name …バージョンまで言う必要はない
disable_vrfy_command = yes …VRFYコマンドには応答しない
以上のごく基本的な設定を行った後、ためしにsendmailを止めてpostfixに切替えてみます。
# service sendmail stop
# alternatives --config mta
→ postfixを指定
# service postfix start
無事起動するのを確認し、postfixから再度sendmailに戻しておきます。