I'm trying to run two instances of cyrusimap for configuration purposes to avoid destroying vendor supplied functionality on one IP while I utilize upstream functionality on the another IP.

While I can specify the alternate config file to use, it seems I have an issue with a pid file.

Here's the log error:
Jun 1 05:23:22 dellc master[2601]: cannot get exclusive lock on pidfile (is another master still running?)
Jun  1 05:23:22 dellc master[2601]: exiting

How do I specify an alternate pid file to avoid the conflict or is there another/better solution for this??


I made the assumption that the default config file was cyrus.conf.

cyrus is started with the following command through launchd: (This is how my vendor starts things)
/usr/bin/cyrus/bin/master -c /etc/cyrusalt.conf

Launchd is a daemon startup processing environment and it does allowse some flexibility of adding additional arguments.



Here's the current launchd script for the alt config:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http:// www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>edu.cmu.andrew.cyrusalt.master</string>
    <key>OnDemand</key>
    <false/>
    <key>Program</key>
    <string>/usr/bin/cyrus/bin/master</string>
    <key>ProgramArguments</key>
    <array>
        <string>master</string>
        <string>-c</string>
        <string>/etc/cyrusalt.conf</string>
    </array>
    <key>ServiceIPC</key>
    <false/>
</dict>
</plist>




Here is the /etc/cyrusalt.conf file: (hope this is correct)
# 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/imap/socket
SERVICES {

  # add or remove based on preferences
imapalt cmd="imapd -c /etc/imapdalt.conf" listen="[10.1.100.11:]imap" prefork=0
#  imaps        cmd="imapd -s" listen="imaps" prefork=0
pop3alt cmd="pop3d -c /etc/imapdalt.conf" listen="[10.1.100.11:]pop3" prefork=0
#  pop3s        cmd="pop3d -s" listen="pop3s" prefork=0
sievealt cmd="timsieved -c /etc/imapdalt.conf" listen="[10.1.100.11:]sieve" prefork=0
  # at least one LMTP is required for delivery
#  lmtp        cmd="lmtpd" listen="lmtp" prefork=0
lmtpaltunix cmd="lmtpd -c /etc/imapdalt.conf" listen="/var/imap/ socket/lmtpalt" prefork=0
  # this is only necessary if using notifications
# notify cmd="notifyd" listen="/var/imap/socket/notify" proto="udp" prefork=1

}

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

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

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

LIMITS {
  imaplimit    value=0
}

---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Reply via email to