<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="font-family: Monaco; font-size: 12px; ">Hello,<br><br>I have managed to get cyrus-imapd working on Mac OS X 10.5.2 (client) <br>but when I go through Mail.app's account setup assistant, after <br>filling out the fields for the IMAP server, the message “Checking <br>connection to mail server localhost” takes one minute to go away.<br><br>Can somebody point out to me what I'm doing wrong here?<br><br><br><br>Here's what gets logged to imapd.log:<br>Mar 10 10:57:11 imap-test-server imap[326]: accepted connection<br>Mar 10 10:57:11 imap-test-server imap[329]: accepted connection<br>Mar 10 10:58:11 imap-test-server imap[326]: accepted connection<br>Mar 10 10:58:11 imap-test-server imap[326]: login: localhost [::1] <br>test CRAM-MD5 User logged in<br>Mar 10 22:59:16 imap-test-server master[26]: process 329 exited, <br>status 0<br>Mar 10 22:59:28 imap-test-server master[26]: process 326 exited, <br>status 0<br><br><br><br>And here's what gets logged to auth.log:<br>Mar 10 22:58:11 imap-test-server imap[326]: no user in db<br>Mar 10 22:58:11 imap-test-server imap[326]: no user in db<br>Mar 10 22:58:41: --- last message repeated 1 time ---<br><br><br><br>Here's an account on what I did to get cyrus-imapd running:<br><br>- Install Mac OS X 10.5.1 from DVD<br>- Upgrade to Mac OS X 10.5.2 using combo package<br>- Install all available updates via Apple's Software Update<br>- Install Xcode 3.0 (not iPhone SDK version)<br><br>- Install MacPorts 1.6.0 using Installer.app<br>- Create missing .profile file in home directory<br>### BEGIN FILE .profile<br>export PATH=/opt/local/bin:/opt/local/sbin:$PATH<br>export MANPATH=/opt/local/share/man:$MANPATH<br>### END FILE .profile<br><br>- Install cyrus-imapd<br>$ port install cyrus-imapd<br><br>- Delete cyrus user created by MacPorts installation<br>$ dscl . -delete /Users/cyrus<br><br>- Add cyrus as RecordName to user _cyrus<br>$ dscl . -append /Users/_cyrus RecordName cyrus<br>- Change the home directory for the cyrus user<br>$ dscl . -change /Users/_cyrus NFSHomeDirectory /var/imap /opt/local/ <br>var/imap<br><br>- Create cyrus user using saslpasswd2<br>$ saslpasswd2 -c cyrus<br><br>- Change owner of sasldb2.db to _cyrus and group to mail<br>$ chown _cyrus:mail /opt/local/etc/sasldb2.db<br><br>- Change owner of pwcheck to _cyrus and group to mail<br>- chown _cyrus:mail /opt/local/var/pwcheck<br>- chmod 750 /opt/local/var/pwcheck<br><br>- Add 'local6.debug<span class="Apple-tab-span" style="white-space: pre; ">        </span>/var/log/imapd.log' to /etc/syslog.conf<br>- Add 'auth.debug<span class="Apple-tab-span" style="white-space: pre; ">        </span>/var/log/auth.log' to /etc/syslog.conf<br>$ pico /etc/syslog.conf<br><br>- Create impad.log and auth.log<br>$ touch /var/log/imapd.log /var/log/auth.log<br><br>- Restart syslogd process<br>$ kill -hup `cat /var/run/syslog.pid`<br><br><br><br>- Create file at /opt/local/etc/cyrus/imapd.conf<br>$ pico /opt/local/etc/cyrus/imapd.conf<br>### BEGIN FILE imapd.conf<br>admins: cyrusimap cyrus _cyrus LOCAL_MACOSX_ADMIN_USER<br>configdirectory: /opt/local/var/imap<br>partition-default: /opt/local/var/spool/imap<br>unixhierarchysep: yes<br>altnamespace: yes<br>lmtp_downcase_rcpt: 1<br>sendmail: /usr/sbin/sendmail<br>sasl_pwcheck_method: auxprop<br>### END FILE imapd.conf<br><br><br><br>- Create file at /opt/local/etc/cyrus/imapd.conf<br>$ pico /opt/local/etc/cyrus/cyrus.conf<br>### BEGIN FILE cyrus.conf<br># standard standalone server implementation<br><br>START {<br><br> # do not delete this entry!<br> recover cmd="ctl_cyrusdb -r"<br> # this is only necessary if using idled for IMAP IDLE<br> idled cmd="idled"<br>}<br><br># UNIX sockets start with a slash and are put into /var/imap/socket<br>SERVICES {<br><br> # add or remove based on preferences<br> imap cmd="imapd" listen="imap" prefork=0<br># imaps cmd="imapd -s" listen="imaps" prefork=0<br># pop3 cmd="pop3d" listen="pop3" prefork=0<br># pop3s cmd="pop3d -s" listen="pop3s" prefork=0<br># sieve cmd="timsieved" listen="sieve" prefork=0<br> # at least one LMTP is required for delivery<br># lmtp cmd="lmtpd" listen="lmtp" prefork=0<br> lmtpunix cmd="lmtpd" listen="/opt/local/var/imap/socket/lmtp" <br>prefork=0<br> # this is only necessary if using notifications<br># notify cmd="notifyd" listen="/opt/local/var/imap/socket/ <br>notify" proto="udp" prefork=1<br>}<br><br>EVENTS {<br> # this is required<br> checkpoint cmd="ctl_cyrusdb -c" period=30<br><br> # this is only necessary if using duplicate delivery suppression<br> delprune cmd="cyr_expire -E 3" at=0400<br><br> # this is only necessary if caching TLS sessions<br> tlsprune cmd="tls_prune" at=0400<br>}<br><br>LIMITS {<br> imaplimit value=0<br>}<br>### END FILE cyrus.conf<br><br><br><br><br>- Change the owner of the two imap directories<br>$ chown -R _cyrus:mail /opt/local/var/imap/<br>$ chown -R _cyrus:mail /opt/local/var/spool/imap/<br><br>- Create imap directories<br>$ sudo -u _cyrus /opt/local/bin/mkimap<br><br>- Specify correct path to deliver executable in master.cf<br>$ pico /private/etc/postfix/master.cf<br>-----> The path should be: /opt/local/bin/deliver<br><br>- Create aliases file for postfix and start it<br>$ newaliases<br>$ postmap /private/etc/postfix/virtual<br>$ postfix start<br><br><br><br>- Create LaunchDaemon for cyrus<br>$ pico /System/Library/LaunchDaemons/edu.cmu.andrew.cyrus.master.plist<br>### BEGIN FILE edu.cmu.andrew.cyrus.master.plist<br><?xml version="1.0" encoding="UTF-8"?><br><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "<a href="http://www.apple.com/DTDs/PropertyList-1.0.dtd">http://www.apple.com/DTDs/PropertyList-1.0.dtd</a> <br>"><br><plist version="1.0"><br><dict><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><key>Label</key><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><string>edu.cmu.andrew.cyrus.master</string><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><key>OnDemand</key><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><false/><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><key>Program</key><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><string>/opt/local/bin/master</string><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><key>ProgramArguments</key><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><array><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><string>master</string><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><string>-l</string><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><string>256</string><br><span class="Apple-tab-span" style="white-space: pre; ">        </span></array><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><key>ServiceIPC</key><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><false/><br></dict><br></plist><br>### END FILE edu.cmu.andrew.cyrus.master.plist<br><br>- Load LaunchDaemon configuration<br>$ launchctl load -w /System/Library/LaunchDaemons/ <br>edu.cmu.andrew.cyrus.master.plist<br><br><br><br><br>- Create LaunchDaemon for postfix<br>$ pico /System/Library/LaunchDaemons/org.postfix.master.plist<br>### BEGIN FILE org.postfix.master.plist<br><?xml version="1.0" encoding="UTF-8"?><br><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "<a href="http://www.apple.com/DTDs/PropertyList-1.0.dtd">http://www.apple.com/DTDs/PropertyList-1.0.dtd</a> <br>"><br><plist version="1.0"><br><dict><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><key>Label</key><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><string>org.postfix.master</string><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><key>Program</key><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><string>/usr/libexec/postfix/master</string><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><key>ProgramArguments</key><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><array><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><string>master</string><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><string>-e</string><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><string>60</string><br><span class="Apple-tab-span" style="white-space: pre; ">        </span></array><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><key>QueueDirectories</key><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><array><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><string>/var/spool/postfix/maildrop</string><br><span class="Apple-tab-span" style="white-space: pre; ">        </span></array><br></dict><br></plist><br>### END FILE org.postfix.master.plist<br><br>- Load LaunchDaemon configuration (might be already loaded)<br>$ launchctl load -w /System/Library/LaunchDaemons/org.postfix.master.plist</span></body></html>