さぁ、自宅サーバーをメールサーバーにしましょう。メールサーバーを構築することで取得したドメインのアカウントでのメールの送受信が可能になります。しかもメールアカウントは作りたい放題!!メールの容量の制限もまったくなしです。

 さて、早速メールサーバーを構築するのですが、今まではメール送信に使われていたのはSendmailというデーモン(プログラム)でした。しかし、Sendmailはバグからセキュリティーホールをつかれたり、設定が複雑になってきたりとしてきたため、最近ではqmailやPostfixが使われるようになってきました。
 ここではPostfixを使ってメールサーバーを構築していきます。


サーバーのインストール時にPostfixのインストールを選択していなかった場合は以下のコマンドもしくはアプリケーションの追加と削除の中のメールサーバーからPostfixを選択してインストールしましょう。

#yum -y install postfix                                         


 それでは続いて設定に入っていきましょう。

# vi /etc/postfix/main.cf                                       

上記コマンドでPostfixの設定ファイルを編集します。ここではviコマンドを使って編集していますが別にviでなくても他の使いやすいエディッタを使って頂いて結構です。用は必要なところを変更できればいいので


 変更箇所は以下の所になります。
変更前 変更後 
#myhostname = host.domain.tld myhostname = ns1.otyanoma.com ns1.otyanoma.comは私のサーバ名です。それぞれ皆さんのホスト名に変えて入力してください。
#mydomain = domain.tld mydomain = otyanoma.com 上記同様皆さんのドメイン名をいれてください
#myorigin = $myhostname myorigin = $myhostname
#inet_interfaces = all inet_interfaces = all
inet_interfaces = localhost #inet_interfaces = localhost
mydestination = $myhostname, localhost.$mydomain, localhost mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mynetworks_style = subnet mynetworks_style = subnet
#mynetworks = 168.100.189.0/28, 127.0.0.0/8 mynetworks = 192.168.0.0/24, 192.168.30.0/24, 127.0.0.0/8 私のサーバーはNICが2枚ささっているために192.168.0.0/24と192.168.30.0/24のふたつを入力してます
#relay_domains = $mydestination relay_domains = $mydestination
#home_mailbox = Maildir/ home_mailbox = Maildir/
#header_checks = regexp:/etc/postfix/header_checks header_checks = regexp:/etc/postfix/header_checks
追加項目 smtpd_banner = $myhostname ESMTP unknown

上記項目箇所を変更するわけですが、ドメイン名は自分の取得したドメイン名、また#(コメント)の有無に注意してください。



次にヘッダーチェックの設定をします。/etc/postfix/header_checks に

/^Received:/ IGNORE

を追加します。これは内部ネットワークのアドレスが外部に漏れたりしないようにするための措置です。



さて、次にシステムがroot宛に送ってくるメールをinfoというユーザーに転送するように設定します。infoユーザーはすでに登録されているものとします。

#sed -i '/^info/d' /etc/aliases
#sed -i '/^root/d' /etc/aliases
#echo "root: info" >> /etc/aliases
#newaliases                                               


以上でroot宛のメールはすべてinfoというユーザーに転送されるようになりました。

さて、それではPostfixを起動する前に以下のコマンドでSendmailを停止しておきましょう。 また、再起同時にsendmailが立ち上がってこないようにサービスの設定からSendmailのチェックをはずしておくか以下のコマンドで停止させます。

#/etc/init.d/sendmail stop                                      
#chkconfig sendmail off


さぁ以下のコマンドでPostfixをOS起動時に自動起動にして、Postfixを手動起動しましょう。

#chkconfig --add postfix                                       
#/etc/init.d/postfix start


以上でメールの送信ができるようになりました。

でもメール送信できても受信ができなければ意味ないですね。ということで、dovecotを使ってメールを受信できるようにします。こちらも以下のコマンドかアプリケーションの追加と削除からメールサーバのナカノdovecotを選択してインストールしましょう。


#yum -y install dovecot                                        



さて、dovecotの設定ですが/etc/dovecot.confに以下の変更を加えます。

変更前 変更後
#default_mail_env = default_mail_env = maildir:~/Maildir


これで設定は完了です。早速dovecontを以下のコマンドで起動しましょう。

#chkconfig dovecot on
#/etc/init.d/dovecot start                                      



どうですか?これでメールの送受信ができるようになりました。ただし、メールの送信は外部からはできないようになっています。必ずメールサーバーと同じセグメント(私の場合は192.168.0.0/24と192.168.30.0/24)から送信しましょう。
そうでないとSPAM等の踏み台にされてしまいますからね。もし、外部からもメール送信できるようにしたい場合は”SMTP-Auth”や”POP before SMTP"などを利用するようにしましょう。


戻る