免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1253 | 回复: 0
打印 上一主题 下一主题

dovecot 1.0 beta3 安装配置笔记 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-13 14:11 |只看该作者 |倒序浏览
2006年3月13
anstan的安装笔记

最近公司的邮件服务器经常出I/O error的错误,需要重启courier-imap才可以,所以有了换个imap服务器的想法,用了一下dovecot。因为邮件系统是老系统,存在mysql中的用户密码是不加密的,底下的配置是针对这种情况。

# wget
http://www.dovecot.org/releases/dovecot-1.0.beta3.tar.gz
# tar zxvf dovecot-1.0.beta3.tar.gz
# cd dovecot-1.0.beta3
# ./configure --prefix=/usr/local/dovecot --sysconfdir=/usr/local/etc --with-mysql --without-ssl --disable-ipv6
# make
# make install
# cp /usr/local/etc/dovecot-example.conf /usr/local/etc/dovecot.conf

# useradd -s/sbin/nologin -d/dev/null dovecot

配置dovecot

配置方法一:
编辑/usr/local/etc/dovecot.conf
# vi /usr/local/etc/dovecot.conf
protocols = imap pop3
listen = *
ssl_disable = yes
disable_plaintext_auth = no
default_mail_env = maildir:/var/mailbox/%d/%n
protocol pop3 {
  pop3_uidl_format = %u
}
auth default {
  mechanisms = plain
  passdb sql {
    args = /usr/local/etc/dovecot.passdb.mysql
    }
  userdb sql {
    args = /usr/local/etc/dovecot.userdb.mysql
  }
}

建立/usr/local/etc/dovecot.passdb.mysql文件
# vi /usr/local/etc/dovecot.passdb.mysql
driver = mysql
connect = host=localhost dbname=postfix user=postfix password=postfix
default_pass_scheme = PLAIN
password_query = SELECT password FROM mailbox WHERE username = '%u'

建立/usr/local/etc/dovecot.userdb.mysql文件
# vi /usr/local/etc/dovecot.userdb.mysql
driver = mysql
connect = host=localhost dbname=postfix user=postfix password=postfix
default_pass_scheme = PLAIN
user_query = SELECT maildir AS home, 1001 AS uid, 1001 AS gid FROM mailbox WHERE username = '%u'

配置方法二:
为了避免两次SQL查询,你也可以把dovecot.conf中的userdb sql改成userdb prefetch,这种情况下,sql查询返回的userdb的字段要加前缀“userdb_”,详细的配置文件如下
编辑/usr/local/etc/dovecot.conf
# vi /usr/local/etc/dovecot.conf
protocols = imap pop3
listen = *
ssl_disable = yes
disable_plaintext_auth = no
default_mail_env = maildir:/var/mailbox/%d/%n
protocol pop3 {
  pop3_uidl_format = %u
}
auth default {
  mechanisms = plain
  passdb sql {
    args = /usr/local/etc/dovecot.passdb.mysql
    }
  userdb prefetch {
  }
}

建立/usr/local/etc/dovecot.passdb.mysql文件
# vi /usr/local/etc/dovecot.passdb.mysql
driver = mysql
connect = host=localhost dbname=postfix user=postfix password=postfix
default_pass_scheme = PLAIN
password_query = SELECT  password, maildir as userdb_home, 1001 as userdb_uid, 1001 as userdb_gid FROM mailbox WHERE username = '%u'

启动脚本
# vi /etc/init.d/dovecot

#------------------------start----------------------------
#!/bin/bash
#
#       /etc/rc.d/init.d/dovecot
#
# Starts the dovecot daemon
#
# chkconfig: - 54 54
# description: Dovecot Imap Server
# processname: dovecot
# Source function library.
. /etc/init.d/functions
test -x /usr/local/dovecot/sbin/dovecot || exit 0
RETVAL=0
prog="Dovecot Imap"
start() {
        echo -n $"Starting $prog: "
        daemon /usr/local/dovecot/sbin/dovecot
        RETVAL=$?
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dovecot
        echo
}
stop() {
        echo -n $"Stopping $prog: "
        killproc /usr/local/dovecot/sbin/dovecot
        RETVAL=$?
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dovecot
        echo
}
#
#       See how we were called.
#
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload|restart)
        stop
        start
        RETVAL=$?
        ;;
  condrestart)
        if [ -f /var/lock/subsys/dovecot ]; then
            stop
            start
        fi
        ;;
  status)
        status /usr/local/dovecot/sbin/dovecot
        RETVAL=$?
        ;;
  *)
        echo $"Usage: $0 {condrestart|start|stop|restart|reload|status}"
        exit 1
esac
exit $RETVAL
#------------------end--------------------------------------------

# chmod 755 /etc/init.d/dovecot
# chkconfig --add dovecot
# service dovecot start


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/2694/showart_84490.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP