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