dovecot

POPサーバです。

インストール

インストールされているか確かめます。あれば、以下のコマンドで、一覧が表示されます。

rpm -qa |grep dovecot

なければ、http://dovecot.org/releases/から最新版をダウンロードします。
yumでインストールする場合はmysql5.0がセットでインストールされます。
今回はmysql4が起動しているテスト環境に入れるのでmakeします。
http://dovecot.org/releases/2.2/dovecot-2.2.15.tar.gzをダウンロードしました。 ダウンロードして、解凍して、解凍したディレクトリで

./configure
make
make install

します。 今回はconfigureオプションは指定していませんが 指定する場合はDovecot をソースからコンパイルを 参考にしてください。 /usr/local/sbin/dovecot にいます。

環境設定

ユーザを作っておきます。

useradd  -c Dovecot -s /sbin/nologin -d /var/empty/dovecot dovecot

次に設定ファイルを編集します。
/usr/local/etc/dovecotにはREADMEだけです。
内容を見てみると 「設定ファイルをここにおいてね。設定ファイルは /usr/local/share/doc/dovecot/example-configにいるよ」 と書かれていますので指示に従います。

example-configの中のdovecot.confとconf.dディレクトリを /usr/local/etc/dovecotにコピーします。

では、設定ファイルを編集します。

★dovecot.conf
//25行目あたりに追加
protocols = imap pop3
★conf.d/10-mail.conf
//31行目あたりに追加
mail_location = maildir:~/Maildir

以上。

では、起動させてみましょう。

/usr/local/sbin/dovecot
doveconf: Fatal: Error in configuration file /usr/local/etc/dovecot/conf.d/10-ssl.conf line 12: ssl_cert: Can't open file /etc/ssl/certs/dovecot.pem: No such file or directory

エラーが出ました。
ssl証明書のファイルがないと怒ってます。

今回はテスト環境用なのでSSLは不要です。 設定ファイルを編集します。

★conf.d/10-ssl.conf
//7行目あたりに追加
ssl = no
//13行目あたりコメントアウト
#ssl_cert = </etc/ssl/certs/dovecot.pem
#ssl_key = </etc/ssl/private/dovecot.pem

ではもう一度起動してみます。

doveconf: Fatal: Error in configuration file /usr/local/etc/dovecot/dovecot.conf: default_login_user doesn't exist: dovenull

違うエラーになりました。

dovecot2系からdovenullというユーザーも必要なようです。 ユーザーを作成します。

useradd  -c Dovecot -s /sbin/nologin -d /var/empty/dovenull dovenull

設定ファイルに追記します。

★dovecot.conf
//最後に追加
default_login_user = dovenull

再度起動してみます。

doveconf: Fatal: Error in configuration file /usr/local/etc/dovecot/dovecot.conf: default_internal_user doesn't exist: dovecot


設定ファイルに追記します。

★dovecot.conf
//最後に追加
default_internal_user = dovecot

起動します。


無事に起動できました。

ps aux|grep dovecot

で起動を確認できます。

では、起動用のスクリプトです。

#!/bin/bash
#
# /etc/rc.d/init.d/dovecot
#
# Starts the dovecot daemon
#
# chkconfig: 235 65 35
# description: Dovecot Imap Server
# processname: dovecot
# config: /usr/local/etc/dovecot/dovecot.conf
# config: /etc/sysconfig/dovecot
# pidfile: /usr/local/var/run/dovecot/master.pid
# Source function library.
. /etc/init.d/functions
if [ -f /etc/sysconfig/dovecot -a $UID -eq 0 ]; then
	. /etc/sysconfig/dovecot
fi
RETVAL=0
PATH=$PATH:/usr/local/sbin
prog="Dovecot Imap"
exec="/usr/local/sbin/dovecot"
config="/usr/local/etc/dovecot/dovecot.conf"
pidfile="/usr/local/var/run/dovecot/master.pid"
lockfile="/var/lock/subsys/dovecot"
start() {
	[ $UID -eq 0 ] || exit 4
	[ -x $exec ] || exit 5
	[ -f $config ] || exit 6
	echo -n $"Starting $prog: "
	daemon --pidfile $pidfile $exec $OPTIONS
	RETVAL=$?
	[ $RETVAL -eq 0 ] && touch $lockfile
	echo
}
stop() {
	[ $UID -eq 0 ] || exit 4
	echo -n $"Stopping $prog: "
	killproc -p $pidfile $exec
	RETVAL=$?
	[ $RETVAL -eq 0 ] && rm -f $lockfile
	echo
}
reload() {
	[ $UID -eq 0 ] || exit 4
	echo -n $"Reloading $prog: "
	killproc -p $pidfile $exec -HUP
	RETVAL=$?
	echo
}
#
#	See how we were called.
#
case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	reload)
		reload
		;;
	force-reload|restart)
		stop
		sleep 1
		start
		RETVAL=$?
		;;
	condrestart|try-restart)
		if [ -f $lockfile ]; then
			stop
			sleep 3
			start
		fi
		;;
	status)
		status -p $pidfile $exec
		RETVAL=$?
		;;
	*)
		echo $"Usage: $0 {condrestart|try-start|start|stop|restart|reload|force-reload|status}"
	RETVAL=2
	[ "$1" = 'usage' ] && RETVAL=0
esac
exit $RETVAL

起動・停止・再起動を確認して問題がなければOKです。

次にメールフォルダを作成します。
mail_locationの設定でホーム直下のMaildirを指定しましたので
ユーザーのホームディレクトリにMaildirを作成します。

su - auctest1
mkdir Maildir

Maildirの中にnew, cur, tmpディレクトリを作成します。

cd Maildir/
mkdir new
mkdir cur
mkdir tmp

パーミッションの設定をします。

cd ../
chmod -R 700 Maildir/

以上で終了です。
newフォルダにメールを置くと取り込めます。

2014-12-10追記 ログを出力するようにします。

dovecot.confに以下を追記

log_path=/var/log/dovecot.log
log_timestamp="%Y-%m-%d %H:%M:%S "

以上

外部から接続する

10-auth.confのdisable_plaintext_authをnoにして対応。 本当はplaintextではないほうがいいと思います。

リンク

dovecot
メールサーバ構築
Dovecot をソースからコンパイル


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-01-08 (木) 12:52:00 (3416d)