* [[dovecot]] POPサーバです。 #contents ** インストール インストールされているか確かめます。あれば、以下のコマンドで、一覧が表示されます。 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 をソースからコンパイル>http://www.tatsuyoshi.net/toyota/dovecot/CompilingSource.html]]を 参考にしてください。 /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>http://www.dovecot.org/]]~ [[メールサーバ構築>http://centossrv.com/postfix.shtml]]~ [[Dovecot をソースからコンパイル>http://www.tatsuyoshi.net/toyota/dovecot/CompilingSource.html]]~