テスト用dovecot インストール
テスト用dovecot インストールの目的
テスト用のpop/imap serverが欲しくなったので、dovecotをインストールします。 本インストールの手順は、CentOS6でのpop/imapコマンド及び、pop/imapクライアントのテスト用pop/imap server構築を目的としています。実用的なpop/imapサーバーの構築は目的としていません。
dovecot 概要
- dovecotは、Linux等のUnix系サーバで動作するオープンソースのPOP/IMAPサーバ。読み方はダヴコット。
- 公式サイト: http://www.dovecot.org
- Dovecot Wiki: http://wiki2.dovecot.org/FrontPage
dovecotのインストール
WikiのDevcot installationに従いインストールします。 今回は、ビルド済みバイナリ(RPM)をインストールします。
Fedora and RHEL (and CentOS/Scientific Linux/...)なのでyumでインストールする。
$ sudo yum install dovecot $ rpm -q dovecot $ dovecot --version
参考: http://wiki2.dovecot.org/FrontPage#Dovecot_installation
メールの配送場所の確認
Maildir形式を使用します。conf.d/10-mail.confに設定します。
$ sudo vi /etc/dovecot/conf.d/10-mail.conf # See doc/wiki/Variables.txt for full list. Some examples: # mail_location = maildir:~/Maildir 上記サンプルに従い、以下を追記。保存して終了。 mail_location = maildir:~/Maildir
テスト用のUnixユーザで、以下のコマンドを実行し、ユーザ用メールディレクトリを作成します。
$ mkdir ~/Maildir
参考: http://wiki2.dovecot.org/FindMailLocation
基本設定
基本設定を行います。以下コマンドでconfigurationファイルを場所を確認します。
doveconf -n | head -n1
認証設定
テスト用のユーザで、以下のコマンドを実行し、usersファイルを作成します。 passwordの箇所は変更を推奨です。
$ echo "$USER:{PLAIN}password:$UID:$GID::$HOME" > users # usersファイルの各値を確認する。環境変数がとれていない場合等は、以下のコマンドを実行。 $ echo "`whoami`:{PLAIN}password:`id -u`:`id -g`::$HOME" $ sudo mv users /etc/dovecot/
passwd-fileを使用するようにconf.d/10-auth.confを変更します。
$ sudo vi /etc/dovecot/conf.d/10-auth.conf # 以下をコメントアウト。 #!include auth-system.conf.ext # 以下のコメントアウトを削除。 !include auth-passwdfile.conf.ext
conf.d/auth-passwdfile.conf.ext の記述を確認します。
$ cat /etc/dovecot/conf.d/auth-passwdfile.conf.ext ... passdb { driver = passwd-file args = scheme=CRYPT username_format=%u /etc/dovecot/users } userdb { driver = passwd-file args = username_format=%u /etc/dovecot/users }
以下のコマンドでも同様の結果を得られる事を確認します。
$ doveconf -n passdb userdb passdb { args = scheme=CRYPT username_format=%u /etc/dovecot/users driver = passwd-file } userdb { args = username_format=%u /etc/dovecot/users driver = passwd-file }
参考: http://wiki2.dovecot.org/BasicConfiguration
dovecot 起動
dovecotを起動します。
$ sudo dovecot
プロセス、ログ、pop port、imap portを確認します。
$ ps auxw | grep dovcot $ sudo tail -f /var/log/maillog $ ss -nl | grep '110' $ ss -nl | grep '143'
参考: http://wiki2.dovecot.org/RunningDovecot,http://wiki2.dovecot.org/Logging
POP/IMAP導通確認
imapの導通
認証設定で作成したユーザで、導通確認します。
- login
- select
- append
- fetch
- logout
$ telnet 127.0.0.1 143 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN] Dovecot ready. a login USER PASSWORD # 認証設定で作成したユーザでlogin a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in b select INBOX * FLAGS (\Answered \Flagged \Deleted \Seen \Draft) * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted. * 0 EXISTS * 0 RECENT * OK [UIDVALIDITY 1399824069] UIDs valid * OK [UIDNEXT 1] Predicted next UID * OK [HIGHESTMODSEQ 1] Highest b OK [READ-WRITE] Select completed. c append INBOX {9} + OK TEST MAIL * 1 EXISTS * 1 RECENT c OK [APPENDUID 1399824069 1] Append completed. d fetch 1 rfc822 * 1 FETCH (FLAGS (\Seen \Recent) RFC822 {9} TEST MAIL) d OK Fetch completed. e close INBOX e OK Close completed. f logout * BYE Logging out f OK Logout completed. Connection closed by foreign host. $
popの導通
認証設定で作成したユーザで、導通確認します。
- user
- pass
- stat
- list
- retr
- quit
$ telnet 127.0.0.1 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK Dovecot ready. user USER # 認証設定で作成したユーザでlogin +OK pass PASSWORD # 認証設定で作成したユーザでlogin +OK Logged in. stat +OK 1 9 list +OK 1 messages: 1 9 . retr 1 +OK 9 octets TEST MAIL . quit +OK Logging out. Connection closed by foreign host. $
参考: http://wiki2.dovecot.org/TestInstallation
テスト用dovecotインストール完了。