Next Previous Contents

7. Cyrus IMAP Configuration

7.1 Editing conf files

  1. Edit /etc/syslog.conf and add the following lines at the bottom:
            local6.debug    /var/adm/imapd.log
            auth.debug      /var/adm/auth.log
    
  2. Edit a new file /etc/imapd.conf and place in it the following lines:
            configdirectory: /var/imap
            partition-default: /var/spool/imap
            admins: cyrus root
            srvtab: /var/imap/srvtab
            allowanonymouslogin: no
            sasl_passwd_check: shadow
    

If you don't want your password check to be the default sasldb, you must specify which one of PAM, kerberos_v4, passwd, shadow you wish to use. If PAM is the authentication you desire for example, you would type:

sasl_passwd_check: pam

instead of the line above

7.2 Creating the necessary directories

This list of instructions will set up all the directories necessary for 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

You are now the user cyrus. This is necessary for the files to have the correct owner and group. Continue:

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

You are now root again. The last command:

chattr +S /var/spool/mqueue

7.3 More configuration file editing

  1. Edit /etc/services and check for the following lines. If they do not exist, add them:
            pop3    110/tcp
            imap    143/tcp
            imsp    406/tcp
            kpop    1109/tcp
            sieve   2000/tcp
    
  2. Edit /etc/inetd.conf and comment out any imap and pop3 lines and add the following:
            imap    stream  tcp     nowait  cyrus   /usr/cyrus/bin/imapd    imapd
            pop3    stream  tcp     nowait  cyrus   /usr/cyrus/bin/pop3d    pop3d
    
  3. Edit /etc/sendmail.mc with care not to add extra spaces and add the following lines(do not copy and paste directly from this text as the tabs won't be added correctly):
      MAILER(local)
      MAILER(cyrus)
      define(`confLOCAL_MAILER',`cyrus') 
      LOCAL_RULE_0
      R$=N                   $: $#local $: $1
      R$=N < @ $=w . >       $: $#local $: $1
      Rbb + $+ < @ $=w . >   $#cyrusbb $: $1
    
    Use tabs to separate the data (i.e. R$=N has three tabs between it and $: $#local $: $1) Then run: m4 sendmail.mc > sendmail.cf
  4. Edit /etc/group and add the user daemon to the mail group.

7.4 If you use postfix instead of sendmail

Postfix is a mail-deliver alternative to sendmail. Most linux installations use sendmail by default. If you use postfix, ignore configuration #3 from the last section and uncomment or add the following line in /etc/postfix/master.cf

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

Also add or uncomment this line in /etc/postfix/main.cf

local_transport = cyrus


Next Previous Contents