CYRUS.CONF(5)CYRUS.CONF(5)NAMEcyrus.conf - Cyrus configuration file
DESCRIPTION
/etc/cyrus.conf is the configuration file for the Cyrus
master process. It defines the startup procedures, ser-
vices and events to be spawned by master.
The /etc/cyrus.conf file consists of a series of entries
divided into sections of the form
section {
name arguments
...
...
...
}
where section is the name of the section, name is the name
of the entry and arguments is the whitespace-separated
list of arguments for the entry.
Blank lines and lines beginning with ``#'' are ignored.
SECTION DESCRIPTIONS
The paragraphs below detail the three sections (START,
SERVICES, EVENTS) that can be placed in the
/etc/cyrus.conf file. The arguments that are available
for each entry within the section are described, and each
argument's default value is shown.
Arguments can appear in any order. Some arguments have no
default value, these are listed with ``<no default>''.
For string arguments, the value MUST be enclosed in double
quotes.
START
This section lists the processes to run before any SER-
VICES are spawned. This section is typically used to ini-
tialize databases and start long running daemons.
cmd=<no default>
The command (with options) to spawn as a child pro-
cess. This string argument is required.
SERVICES
This section is the heart of the /etc/cyrus.conf file. It
lists the processes that should be spawned to handle
client connections made on certain Internet/UNIX sockets.
cmd=<no default>
The command (with options) to spawn as a child pro-
cess. This string argument is required.
listen=<no default>
The UNIX or internet socket to listen on. This
string field is required and takes one of the follow-
ing forms:
path
[ host : ] port
where path is the explicit path to a UNIX socket,
host is either the hostname or bracket-enclosed IP
address of a network interface, and port is either a
port number or service name (as listed in /etc/ser-
vices).
proto=tcp
The protocol used for this service (tcp, udp). This
string argument is optional.
prefork=0
The number of instances of this service to always
have running and waiting for a connection (for faster
initial response time). This integer value is
optional.
maxchild=-1
The maximum number of instances of this service to
spawn. A value of -1 means unlimited. This integer
value is optional.
maxfds=256
The maximum number of file descriptors to which to
limit this process. This integer value is optional.
EVENTS
This section lists processes that should be run at spe-
cific intervals, similar to cron jobs. This section is
typically used to perform scheduled cleanup/maintenance.
cmd=<no default>
The command (with options) to spawn as a child pro-
cess. This string argument is required.
period=0
The interval (in minutes) at which to run the com-
mand. This integer value is optional, but SHOULD be
a positive integer > 10.
at=<hhmm>
The time (24-hour format) at which to run the command
each day. If set to a valid time (0000-2359), period
is automatically set to 1440. This string argument
is optional.
EXAMPLE
# example cyrus.conf
START {
recover cmd="ctl_cyrusdb -r"
}
SERVICES {
imap cmd="imapd" listen="imap" prefork=1
imaps cmd="imapd -s" listen="imaps" prefork=0
lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtp"
lmtp cmd="lmtpd" listen="localhost:lmtp"
}
EVENTS {
checkpoint cmd="ctl_cyrusdb -c" period=30
delprune cmd="ctl_deliver -E 3" at=0400
tlsprune cmd="tls_prune" at=0400
}
ACCESS CONTROL
When TCP Wrappers is used to control access to Cyrus ser-
vices, the name of the service entry should be used as the
process name in the hosts_access(5) table. For instance,
in the example above, "imap", "imaps", "lmtpunix" and
"lmtp" would be used as the process names. This allows a
single daemon such as imapd to be run in different modes
or configurations (i.e., SSL and non-SSL enabled) yet
still have separate access control rules.
SEE ALSOmaster(8), imapd(8), pop3d(8), lmtpd(8), timsieved(8),
idled(8), notifyd(8), ctl_cyrusdb(8), ctl_deliver(8),
tls_prune(8), hosts_access(5)CMU Project Cyrus CYRUS.CONF(5)