Postfixのインストールと設定
2005年2月13日 掲載
2006年6月21日 改訂
Vine LinuxではPostfixが標準でインストールされ、自動起動もする状態になっている。だが、念のためにrpmコマンドでインストールされているかを確かめておこう。次のように表示されれば大丈夫だ。もし何も表示されなければ、apt-getコマンドでインストールをすればいい。コマンドラインで「apt-get install postfix」とするだけでインストールが終わる。
$ rpm -qa | grep postfix postfix-2.0.20-0vl5 $
次に、psコマンドでPostfixが起動しているかどうか確かめよう。次のように表示されれば、あとは設定を行うだけでいい。
$ ps ax | grep postfix 661 ? S 0:00 /usr/lib/postfix/master $
もし何も表示されなければ「/etc/rc.d/init.d/postfix start」でPostfixを起動する。起動や再起動の操作はsuコマンドでスーパーユーザーになっておこなうことを忘れないようにしよう。
$ su - Password: # /etc/rc.d/init.d/postfix start Postfixを起動中: [ OK ] #
自動起動が設定されているかはchkconfigコマンドで調べる。「chkconfig --list」と入力するとサービスの一覧が表示されるので、postfixの行に「3:on」という記述があるかどうか調べる。もしoffになっていたら、「chkconfig postfix on」でサービスを追加する。
# chkconfig --list syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off httpd 0:off 1:off 2:off 3:on 4:off 5:on 6:off keytable 0:off 1:off 2:on 3:on 4:on 5:on 6:off postfix 0:off 1:off 2:off 3:off 4:off 5:off 6:off proftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off autofs 0:off 1:off 2:off 3:on 4:on 5:on 6:off rawdevices 0:off 1:off 2:off 3:on 4:on 5:on 6:off netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off random 0:off 1:off 2:on 3:on 4:on 5:on 6:off iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off murasaki 0:off 1:off 2:off 3:on 4:on 5:on 6:off sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off # chkconfig on postfix #
設定ファイルの編集
Postfixの設定ファイルは「/etc/postfix/」ディレクトリの中にある「main.cf」だ。これをviで編集していく。まずは必要最小限の設定からしていこう。いちどにあちこち変更すると、うまく動かなかったときに原因を突き止めるのが大変だ。
この設定ではLANの中にあるパソコンからしかメールを送信できない。外部から要求された中継はすべて拒否する設定になっている。安全である反面、外出先からノートパソコンで自宅のサーバー経由のメール送信ができなくなってしまう。外出先ではプロバイダのSMTPサーバーを使うようにするしかない。外出先からも送信できるようにする方法として、AMTP AUTHやPOP before SMTPなどの手法があるが、設定がちょっと複雑なのでここでは取り上げない。
myhostname = jitaku-server.net mydomain = jitaku-server.net 自分が取得したドメイン名を指定する。 myhostnameもmydomainも同じ設定でいい。 myorigin = $myhostname サーバー自体から送られるメールにどのドメインを付加するか。 小規模ネットワークでは$myhostnameを選ぶ。 inet_interfaces = all メールを受信する範囲を指定する。 LAN内だけでメールをやりとりするなら$myhostnameにする。 mydestination = $myhostname, localhost.$mydomain $mydomain メールを最終的に受信するドメイン名。 mynetworks_style = subnet メールの中継を許可する方法を指定する。 同じサブネットのLANの中だけ許可をする。 home_mailbox = Maildir/ POPサーバーとしてCourier-IMAPを使うなら、 メールボックスの形式をMaildir/に変更する。
ここまでの編集を終えたら、main.cfを保存して、Postfixを再起動する。これでメールを送受信する準備は整った。
# /etc/rc.d/init.d/postfix restart Postfixを停止中: [ OK ] Postfixを起動中: [ OK ] #
ルーターの設定を変更する
SMTPサーバーはメールの送受信にTCPの25番を使用する。このため、ルーターの設定を変更して、TCP 25番へのリクエストをサーバーへ中継するように設定しておかなければ、メールを受け取ることができない。また、LANの外からPOPサーバーにアクセスしてメールを受信するには、TCP 110番も開けておく必要がある。このあたりの理屈と方法はこちらのページを参照してほしい。
まだ、パソコンでメールを受信することはできないが、送信はできるようになっている。メールソフトのSMTPサーバー(送信サーバー)のところにサーバーのプライベートIPアドレスを入力して、メールが送信できるかテストしてみよう。

不正中継のテストを行う
念のために自分のサーバーがメールの不正中継を行う設定になっていないかをテストしておこう。こちらのThird Party Relay Checkを開き、「ホスト名」のところに自分のドメイン名を入力する。19種類の方法で不正中継を試みるが、正しく設定されていればすべての中継を拒否するはず。「No relay accepted」と表示されれば大丈夫だ。
また、こちらのMail Relay Testingでも同じようなテストを行える。こちらは「Address to test」のところに自分のグローバルIPアドレスを入力し、「Test for relay」をクリックする。グローバルIPを確認するにはルーターの設定ページを開くか、こちらのサイトにアクセスする。

