VPSでメールサーバーを構築しよう(前編)

VPSでメールサーバーを運用することもできます。メールサーバーは設定することが比較的多いので、前後編の2回に分けて解説します。前編では、メールサーバーのPostfixのインストールと基本的な設定までを取り上げます。

 

 

■メールサーバー構築の概要

■メールサーバー関係のポートの開放

■DNSの設定

■サーバーおよび関連ソフトのインストール

■Postfixの設定

 

 

■メールサーバー構築の概要

メールサーバーは、Webサーバーと比べると設定が多く、手順がやや複雑になります。大まかな手順は以下のようになります。

 

①ポートの開放

②DNSの設定

③サーバーおよび関連ソフトのインストール

④SMTPのサーバー(Postfix)の設定

⑤Submissionの設定

⑥POP3/IMAPのサーバー(Dovecot)の設定

⑦メールアカウントの設定

⑧動作の確認

 

今回は、上記の④までを解説します。

 

 

■メールサーバー関係のポートの開放

メールサーバーを構築する前に、まずメールサーバーが使うポートを開放しておきます。

メールの送受信の際には、表1の4つのポートを使います。セキュリティグループの設定に後のリストを追加して、これら4つのポートを開放します。

 

表1 メール関係のポート

ポート番号 プロトコル
25 SMTP
110 POP3
143 IMAP
587 SMPT(Submission)

 

リスト セキュリティグループに追加する内容

tcp:25,25,ip4:0.0.0.0/32

tcp:110,110,ip4:0.0.0.0/32

tcp:143,143,ip4:0.0.0.0/32

tcp:587,587,ip4:0.0.0.0/32

 

■DNSの設定

メールサーバーを動作させるには、DNSにメールサーバーのレコード(MXレコード)を追加することも必要です。

例えば、VPSで「foo.com」というドメインを運用するとします。また、メールサーバーのFQDNを「mail.foo.com」にするとします。この場合、「mail.foo.comが、foo.comの優先度10のMXレコードである」というような設定を、DNSに追加します。

なお、MXレコードの設定手順は、お使いのドメイン業者などによって異なります。各業者のマニュアルなどをご参照ください。

 

 

■サーバーおよび関連ソフトのインストール

メールサーバーの構築に関係するソフトとして、表2のものがあります。

 

表2 メールサーバー構築関係のソフト

種類 名前
SMTPサーバー Postfix
POP3/IMAPサーバー Dovecot
認証 SASL

 

最初に、次のコマンドを実行して、これらのソフトをまとめてインストールしておきます。

 

リスト メールサーバー構築関係ソフトのインストール

sudo yum -y install postfix dovecot cyrus-sasl

また、SMTPサーバーとして、「Sendmail」というソフトもすでにインストールされていて、標準ではそちらが有効になっています。次のコマンドを実行して、SMTPサーバーをPostfixに切り替えます。

 

リスト メールサーバーソフトの切り替え

sudo alternatives --config mta

 

次のようなメッセージが表示されますので、「2」のキーを押したあとEnterキーを押します。

 

リスト alternativesコマンドのメッセージ

There are 2 programs which provide 'mta'.

 

Selection    Command

-----------------------------------------------

*+ 1           /usr/sbin/sendmail.sendmail

2           /usr/sbin/sendmail.postfix

 

Enter to keep the current selection[+], or type selection number:

 

 

■Postfixの設定

次に、Postfixの設定に進みます。

Postfixの設定ファイルは「/etc/postfix/main.cf」というファイルです。次のコマンドを実行して、main.cfファイルを編集する状態にします。

 

リスト main.cfファイルの編集

sudo nano /etc/postfix/main.cf

 

・ドメインの設定

まず、メールサーバーのドメインを設定します。

nanoでCtrl+xキーを押し、「#myhostname」を検索します。すると、myhostnameの設定を行う部分が見つかります。この部分の後に、「myhostname = ドメイン名」のような行を追加します。

例えば、「foo.com」というドメインを運用する場合だと、この部分に次の赤字の行を追加します。

 

リスト myhostnameの設定の例

# The myhostname parameter specifies the internet hostname of this

# mail system. The default is to use the fully-qualified domain name

# from gethostname(). $myhostname is used as a default value for many

# other configuration parameters.

#

#myhostname = host.domain.tld

#myhostname = virtual.domain.tld

myhostname = foo.com

 

次に、「#mydomain」を検索します。すると、mydomainの設定を行う部分が見つかります。その最後に、「mydomain = ドメイン」のような行を追加します。

例えば、「foo.com」というドメインを運用する場合だと、この部分に次の赤字の行を追加します。

 

リスト mydomainの設定の例

# The mydomain parameter specifies the local internet domain name.

# The default is to use $myhostname minus the first component.

# $mydomain is used as a default value for many other configuration

# parameters.

#

#mydomain = domain.tld

mydomain = foo.com

 

さらに、「#myorigin」を検索して、その部分の最後に「myorigin = $mydomain」の行を追加します。

 

 

リスト myoriginの設定の追加

# For the sake of consistency between sender and recipient addresses,

# myorigin also specifies the default domain name that is appended

# to recipient addresses that have no @domain part.

#

#myorigin = $myhostname

#myorigin = $mydomain

myorigin = $mydomain

 

・受信関係の設定

次に、受信関係の設定を行います。「inet_interface」で検索し、その部分の最後の行の「inet_interface = localhost」を「inet_interface = all」に書き換えます。

 

リスト inet_interfaceの設定

#inet_interfaces = all

#inet_interfaces = $myhostname

#inet_interfaces = $myhostname, localhost

inet_interfaces = all

 

・メールボックスの設定

次に、受信したメールの保存方法(メールボックス)を設定します。

「#home_mailbox」で検索すると、設定の行が2行見つかります。そのうちの「#home_mailbox = MailDir/」の行で、先頭の「#」を削除します。

 

リスト home_mailboxの設定

# The home_mailbox parameter specifies the optional pathname of a

# mailbox file relative to a user's home directory. The default

# mailbox file is /var/spool/mail/user or /var/mail/user.  Specify

# "Maildir/" for qmail-style delivery (the / is required).

#

#home_mailbox = Mailbox

home_mailbox = Maildir/

 

・SMTP認証の設定

かつてのメールサーバーは、誰でも送信に使うことができるものでした。しかし現在では、そのようなメールサーバーは迷惑メールなどの送信に使われてしまいます。

そこで、メールサーバーに接続する際に、ユーザー名とパスワードで認証することが一般的になっています。そのための設定を追加します。

main.cfファイルの一番最後までスクロールして、次のリストを追加します。

 

リスト SMTP認証の設定

smtpd_sasl_auth_enable = yes

broken_sasl_auth_clients = yes

smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination

 

・設定の保存とPostfix/saslauthdの起動

ここまでの設定が終わったら、nanoを終了してmain.cfファイルを保存します。そして、次のコマンドを実行して、PostfixとSMTP認証(saslauthd)を起動します。

 

リスト Postfixの起動

sudo service postfix start

sudo service saslauthd start

 

さらに、次のコマンドを実行して、インスタンスの起動時にPostfixとSMTP認証も起動するように設定します。

 

リスト インスタンスの起動時にPostfixとSMTP認証も起動する

sudo chkconfig postfix on

sudo chkconfig saslauthd on

 

 

 

うちだ
サービスクリエーション本部所属        (監修:とみなが)       

オススメ記事

関連サービス

VPS VPSクラウド