下一页 上一页 目录

7. Cyrus IMAP 配置

7.1 编辑配置文件

  1. 编辑 /etc/syslog.conf 并在文件末尾添加以下行
            local6.debug    /var/adm/imapd.log
            auth.debug      /var/adm/auth.log
    
  2. 编辑一个新文件 /etc/imapd.conf 并在其中放入以下行
            configdirectory: /var/imap
            partition-default: /var/spool/imap
            admins: cyrus root
            srvtab: /var/imap/srvtab
            allowanonymouslogin: no
            sasl_passwd_check: shadow
    

如果您不希望您的密码检查使用默认的 sasldb,您必须指定您希望使用的 PAM、kerberos_v4、passwd、shadow 中的哪一个。 例如,如果您希望使用 PAM 进行身份验证,您需要输入

sasl_passwd_check: pam

而不是上面这行

7.2 创建必要的目录

以下指令列表将设置 imap 所需的所有目录。

  1. mkdir /var/adm
  2. touch /var/adm/imapd.log /var/adm/auth.log
  3. mkdir /var/imap /var/spool/imap /var/imap/srvtab
  4. chown cyrus /var/imap /var/spool/imap /var/imap/srvtab
  5. chgrp mail /var/imap /var/spool/imap /var/imap/srvtab
  6. chmod 750 /var/imap /var/spool/imap /var/imap/srvtab
  7. su cyrus

您现在是用户 cyrus。 这是必要的,为了文件具有正确的属主和属组。 继续

  1. tools/mkimap
  2. cd /var/imap
  3. chattr +S . user quota user/* quota/*
  4. chattr +S /var/spool/imap
  5. exit

您现在再次成为 root 用户。 最后一条命令

chattr +S /var/spool/mqueue

7.3 更多配置文件编辑

  1. 编辑 /etc/services 并检查以下行。 如果它们不存在,添加它们
            pop3    110/tcp
            imap    143/tcp
            imsp    406/tcp
            kpop    1109/tcp
            sieve   2000/tcp
    
  2. 编辑 /etc/inetd.conf 并注释掉任何 imap 和 pop3 行,并添加以下内容
            imap    stream  tcp     nowait  cyrus   /usr/cyrus/bin/imapd    imapd
            pop3    stream  tcp     nowait  cyrus   /usr/cyrus/bin/pop3d    pop3d
    
  3. 小心编辑 /etc/sendmail.mc,不要添加额外的空格,并添加以下行(不要直接从本文档复制粘贴,因为制表符可能无法正确添加)
      MAILER(local)
      MAILER(cyrus)
      define(`confLOCAL_MAILER',`cyrus') 
      LOCAL_RULE_0
      R$=N                   $: $#local $: $1
      R$=N < @ $=w . >       $: $#local $: $1
      Rbb + $+ < @ $=w . >   $#cyrusbb $: $1
    
    使用制表符分隔数据(例如 R$=N 与 $: $#local $: $1 之间有三个制表符)然后运行: m4 sendmail.mc > sendmail.cf
  4. 编辑 /etc/group 并将用户 daemon 添加到 mail 组。

7.4 如果您使用 postfix 而不是 sendmail

Postfix 是 sendmail 的邮件投递替代方案。 大多数 Linux 安装默认使用 sendmail。 如果您使用 postfix,请忽略上一节中的配置 #3,并在 /etc/postfix/master.cf 中取消注释或添加以下行

cyrus   unix    -       n       n       -       -       pipe    flags=R user=cyrus      argv=/usr/sbin/cyrdeliver -e -m ${extension} ${user}

同样在 /etc/postfix/main.cf 中添加或取消注释此行

local_transport = cyrus


下一页 上一页 目录