1CYRUS.CONF(5) File Formats Manual CYRUS.CONF(5)
2
3
4
6 cyrus.conf - Cyrus configuration file
7
9 /etc/cyrus.conf is the configuration file for the Cyrus master process.
10 It defines the startup procedures, services and events to be spawned by
11 master.
12
13 The /etc/cyrus.conf file consists of a series of entries divided into
14 sections of the form
15
16 section {
17 name arguments
18 ...
19 ...
20 ...
21 }
22
23 where section is the name of the section, name is the name of the entry
24 and arguments is the whitespace-separated list of arguments for the
25 entry.
26
27 Blank lines and lines beginning with ``#'' are ignored.
28
30 The paragraphs below detail the three sections (START, SERVICES,
31 EVENTS) that can be placed in the /etc/cyrus.conf file. The arguments
32 that are available for each entry within the section are described, and
33 each argument's default value is shown.
34
35 Arguments can appear in any order. Some arguments have no default
36 value, these are listed with ``<no default>''. For string arguments,
37 the value MUST be enclosed in double quotes.
38
39 START
40 This section lists the processes to run before any SERVICES are
41 spawned. This section is typically used to initialize databases and
42 start long running daemons.
43
44 cmd=<no default>
45 The command (with options) to spawn as a child process. This
46 string argument is required.
47
48 SERVICES
49 This section is the heart of the /etc/cyrus.conf file. It lists the
50 processes that should be spawned to handle client connections made on
51 certain Internet/UNIX sockets.
52
53 cmd=<no default>
54 The command (with options) to spawn as a child process. This
55 string argument is required.
56
57 listen=<no default>
58 The UNIX or internet socket to listen on. This string field is
59 required and takes one of the following forms:
60
61 path
62 [ host : ] port
63
64 where path is the explicit path to a UNIX socket, host is either
65 the hostname or bracket-enclosed IP address of a network inter‐
66 face, and port is either a port number or service name (as listed
67 in /etc/services).
68
69 proto=tcp
70 The protocol used for this service (tcp, tcp4, tcp6, udp, udp4,
71 udp6). This string argument is optional.
72
73 tcp4, udp4: These arguments are used to bind the service to IPv4
74 only.
75 tcp6, udp6: These arguments are used to bind the service to IPv6
76 only, if the operating system supports this.
77 tcp, udp: These arguments are used to bind to both IPv4 and IPv6
78 if possible.
79
80 prefork=0
81 The number of instances of this service to always have running and
82 waiting for a connection (for faster initial response time). This
83 integer value is optional.
84
85 provide_uuid=0
86 Provide the service the required information for constructing uni‐
87 versally unique identifiers (UUIDs) for messages. This option
88 should be given to all IMAP, NNTP and LMTP services on the master
89 side of a replicated configuration. Possible values are 0 (false)
90 or 1 (true). The UUID will be created based on the sync_machineid
91 value specified in imapd.conf.
92
93 maxchild=-1
94 The maximum number of instances of this service to spawn. A value
95 of -1 means unlimited. This integer value is optional.
96
97 maxfds=256
98 The maximum number of file descriptors to which to limit this
99 process. This integer value is optional.
100
101 EVENTS
102 This section lists processes that should be run at specific intervals,
103 similar to cron jobs. This section is typically used to perform sched‐
104 uled cleanup/maintenance.
105
106 cmd=<no default>
107 The command (with options) to spawn as a child process. This
108 string argument is required.
109
110 period=0
111 The interval (in minutes) at which to run the command. This inte‐
112 ger value is optional, but SHOULD be a positive integer > 10.
113
114 at=<hhmm>
115 The time (24-hour format) at which to run the command each day.
116 If set to a valid time (0000-2359), period is automatically set to
117 1440. This string argument is optional.
118
120 # example cyrus.conf
121
122 START {
123 recover cmd="ctl_cyrusdb -r"
124 }
125
126 SERVICES {
127 imap cmd="imapd" listen="imap" prefork=1
128 imaps cmd="imapd -s" listen="imaps" prefork=0
129 lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtp"
130 lmtp cmd="lmtpd" listen="localhost:lmtp"
131 }
132
133 EVENTS {
134 checkpoint cmd="ctl_cyrusdb -c" period=30
135 delprune cmd="cyr_expire -E 3" at=0400
136 tlsprune cmd="tls_prune" at=0400
137 }
138
140 When TCP Wrappers is used to control access to Cyrus services, the name
141 of the service entry should be used as the process name in the
142 hosts_access(5) table. For instance, in the example above, "imap",
143 "imaps", "lmtpunix" and "lmtp" would be used as the process names.
144 This allows a single daemon such as imapd to be run in different modes
145 or configurations (i.e., SSL and non-SSL enabled) yet still have sepa‐
146 rate access control rules.
147
149 cyrus-master(8), imapd(8), pop3d(8), lmtpd(8), timsieved(8), idled(8),
150 notifyd(8), ctl_cyrusdb(8), ctl_deliver(8), tls_prune(8),
151 hosts_access(5)
152
153
154
155CMU Project Cyrus CYRUS.CONF(5)