openSuSE 13.1: Help needed with Cyrus imapd

Greetings!

In order to get the other half of my mail server up and running (Postfix works the way it is supposed to now), I’m attempting to get Cyrus imapd up and running - however, there are some obstacles that I need to solve.
Unfortunately googling around always presented me some instructions that are either incomplete (some crucial information is absent) or list particular steps that are impossible to perform right now, which in turn has me going round and round in circles.

First of all, I’m in need of the following information:

  • Where is mkimap located?
  • How do I set up SASL (pwcheck_method: auxprop) to make it access Postfix’s pw database for IMAP authentication? Generating a file imapd.conf in /etc/sasl2 doesn’t seem to help, and imapd.conf is lacking an auxprop_plugin parameter.

Right now a login to the server is impossible (uninitialized authentication mechanism), and Postfix cannot deliver any mails that are arriving (mailboxes not set up in the imapd), but instead lets them bounce. Postfix may be talking to the imapd, but gets an error response upon doing so.

My imapd.conf:


configdirectory: /var/lib/imap
partition-default: /var/spool/imap
# sievedir: /var/lib/sieve
admins: cyrus
allowanonymouslogin: no
allowplaintext: yes
autocreatequota: 10000
servername: imap.robidu.de
serverinfo: on
reject8bit: no
quotawarn: 90
timeout: 30
poptimeout: 10
dracinterval: 0
drachost: localhost
sasl_pwcheck_method: saslauthd
sasl_mech_list: PLAIN LOGIN
lmtp_overquota_perm_failure: no
lmtp_downcase_rcpt: yes
virtdomains: on
allowapop: 0
#
# if you want TLS, you have to generate certificates and keys
#
tls_cert_file: /var/lib/imap/certs/selfimap.pem
tls_key_file: /var/lib/imap/certs/selfimap.key
#tls_ca_file: /usr/ssl/CA/CAcert.pem
tls_ca_path: /etc/ssl/certs

The cyrus.conf:


# standard standalone server implementation

START {
  # do not delete this entry!
  recover       cmd="ctl_cyrusdb -r"

  # this is only necessary if using idled for IMAP IDLE
  idled         cmd="idled"
}

# UNIX sockets start with a slash and are put into /var/lib/imap/socket
SERVICES {
  # add or remove based on preferences
#  imap         cmd="imapd" listen="imap" prefork=0
  imaps         cmd="imapd -s" listen="imaps" prefork=0
#  pop3         cmd="pop3d" listen="pop3" prefork=0
  pop3s         cmd="pop3d -s" listen="pop3s" prefork=0
#  sieve                cmd="timsieved" listen="sieve" prefork=0

  # at least one LMTP is required for delivery
#  lmtp         cmd="lmtpd" listen="lmtp" prefork=0
  lmtpunix      cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=0

  # this is only necessary if using notifications
#  notify       cmd="notifyd" listen="/var/lib/imap/socket/notify" proto="udp" prefork=1
}

EVENTS {
  # this is required
  checkpoint    cmd="ctl_cyrusdb -c" period=30

  # this is only necessary if using duplicate delivery suppression
  delprune      cmd="cyr_expire -E 3" at=0400

  # this is only necessary if caching TLS sessions
  tlsprune      cmd="tls_prune" at=0400

  # Uncomment the next entry, if you want to automatically remove
  # old messages of EVERY user.
  # This example calls ipurge every 60 minutes and ipurge will delete
  # ALL messages older then 30 days.
  # enter 'man 8 ipurge' for more details

  # cleanup      cmd="ipurge -d 30 -f" period=60
}