1,000円を切る低価格で登場、「さくらのVPS」をチェック――サーバー構築編 11ページ

POP3/IMAP4サーバーの設定

 外部からVPSサーバーのメールボックスにアクセスするには、POP3もしくはIMAP4サーバーのインストールおよび設定が必要となる。POP3/IMAP4サーバーはデフォルトではインストールされていないため、POP3およびIMAP4サーバー機能を提供する「dovecot」をインストールする。

$ sudo yum install dovecot

 続いて、設定ファイルである「/etc/dovecot.conf」を編集する。

$ sudo vi /etc/dovecot.conf

 まず、プロトコルとして「imap」および「pop3」を有効にする。

# Protocols we want to be serving: imap imaps pop3 pop3s
# If you only want to use dovecot-auth, you can set this to "none".
#protocols = imap imaps pop3 pop3s
protocols = imap pop3  ←imapおよびpop3を有効にする

 次に、メールの保存場所を指定する。CentOSのsendmailのでフォルト設定ではメールの保存形式としてmbox形式が使われており、「‾/mail」および「/var/mail/<ユーザー名>」にメールが保存されているので、次のように指定する。

#mail_location =
mail_location = mbox:‾/mail:INBOX=/var/mail/%u  ←メールの保存場所を指定

 最後にdovecotサービスを起動すれば設定は完了だ。

$ sudo /sbin/service dovecot start
$ sudo /sbin/chkconfig dovecot on

 なお、VPSのファイアウォールのデフォルト設定ではPOP3やIMAP3はブロックするようになっている。system-config-securitylevel-tuiでファイアウォールの設定を変更し、これらのポートに外部からアクセスできるよう設定しておこう(図11)。

図11 ファイアウォールの設定で「Other ports」に「imap:tcp pop3:tcp」を追加しておく
図11 ファイアウォールの設定で「Other ports」に「imap:tcp pop3:tcp」を追加しておく

dovecotでCRAM-MD5認証を使う

 dovecotのデフォルト設定では認証方法として平文(plaintext)によるパスワード認証が用いられているため、盗聴の可能性がある。そのため、こちらについても後述のIMAP4S/POP3S(IMAP4/POP3 over SSL)といった暗号化通信を使用するのが好ましい。何らかの事情でIMAP4S/POP3Sが利用できない場合は、パスワードを暗号化してやり取りする「CRAM-MD5」や「DIGEST-MD5」などの認証方法を使用することをお勧めする。

 dovecotでCRAM-MD5認証やDIGEST-MD5認証を使用するには、/etc/dovecot.conf内の設定項目を次のように変更する。まず、「# mechanisms = plain」行のコメントアウトを外し、「digest-md5 cram-md5」を追加する。

auth default {
  # Space separated list of wanted authentication mechanisms:
  #   plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi
  # NOTE: See also disable_plaintext_auth setting.
  # mechanisms = plain
  mechanisms = plain digest-md5 cram-md5  ←認証メカニズムにdigest-md5とcram-md5を追加

 次に、パスワードを保存しておくパスワードファイルを指定する。「passdb passwd-file」のコメントアウトを外し、「args = 」でパスワードファイルを指定する。

  #passdb passwd-file {
    # File contains a list of usernames, one per line
    #args = /etc/dovecot.deny
    #deny = yes
  #}
# 上記の部分を下記のように変更する
  passdb passwd-file {  ←コメントアウトを外す
    # File contains a list of usernames, one per line
    #args = /etc/dovecot.deny
    args = /etc/cram-md5.pwd  ←「/etc/cram-md5.pwd」ファイルにパスワードを保存する
    #deny = yes
  }  ←コメントアウトを外す

 続いてパスワードファイルを作成する。

$ sudo touch /etc/cram-md5.pwd
$ sudo  chmod 600 /etc/cram-md5.pwd

 パスワードファイルへの暗号化パスワードの追加は、手動で行う必要がある。暗号化パスワードは「/usr/sbin/dovecotpw」コマンドで作成できる。

$ /usr/sbin/dovecotpw
Enter new password:   ←パスワードを入力
Retype new password:   ←同じパスワードを再入力
{HMAC-MD5}b90d13d7c68395839ebf54fa85bd82d1f814ebf55a39feac1ac02e5a347d1ede  ←暗号化されたパスワードが表示される

 dovecotpwコマンドで表示されたパスワードを、手動で「<ユーザー名>:<暗号化パスワード>」という形式でパスワードファイルに追加する。たとえば「foobar」というユーザーに対し、上記で作成したパスワードを設定する場合、次のようにする。

$ sudo vi /etc/cram-md5.pwd
foobar:{HMAC-MD5}b90d13d7c68395839ebf54fa85bd82d1f814ebf55a39feac1ac02e5a347d1ede

 最後に、dovecotサービスを再起動すれば完了だ。

$ sudo /sbin/service dovecot restart
stopping Dovecot Imap:                                     [  OK  ]
starting Dovecot Imap:                                     [  OK  ]