1CYRUS.CONF(5)                 File Formats Manual                CYRUS.CONF(5)
2
3
4
5 *
6

NAME

8       cyrus.conf - Cyrus configuration file
9

DESCRIPTION

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

SECTION DESCRIPTIONS

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       babysit=0
56            Integer value - if non-zero, will make sure at least  one  process
57            is pre-forked, and will set the maxforkrate to 10 if it's zero.
58
59       cmd=<no default>
60            The  command  (with  options)  to  spawn as a child process.  This
61            string argument is required.
62
63       listen=<no default>
64            The UNIX or internet socket to listen on.  This  string  field  is
65            required and takes one of the following forms:
66
67            path
68            [ host : ] port
69
70            where  path  is the explicit path to a UNIX socket, host is either
71            the hostname or bracket-enclosed IP address of  a  network  inter‐
72            face,  and port is either a port number or service name (as listed
73            in /etc/services).
74
75       proto=tcp
76            The protocol used for this service (tcp, tcp4,  tcp6,  udp,  udp4,
77            udp6).  This string argument is optional.
78
79            tcp4,  udp4:  These arguments are used to bind the service to IPv4
80            only.
81            tcp6, udp6: These arguments are used to bind the service  to  IPv6
82            only, if the operating system supports this.
83            tcp,  udp:  These arguments are used to bind to both IPv4 and IPv6
84            if possible.
85
86       prefork=0
87            The number of instances of this service to always have running and
88            waiting for a connection (for faster initial response time).  This
89            integer value is optional.  Note that if you are listening on mul‐
90            tiple  network types (i.e. ipv4 and ipv6) then one process will be
91            forked for each address, causing twice as many  processes  as  you
92            might expect.
93
94       maxchild=-1
95            The maximum number of instances of this service to spawn.  A value
96            of -1 means unlimited.  This integer value is optional.
97
98       maxfds=256
99            The maximum number of file descriptors  to  which  to  limit  this
100            process.  This integer value is optional.
101
102       maxforkrate=0
103            Maximum  number  of processes to fork per second - the master will
104            insert sleeps to ensure it doesn't fork faster than this on  aver‐
105            age.
106
107   EVENTS
108       This  section lists processes that should be run at specific intervals,
109       similar to cron jobs.  This section is typically used to perform sched‐
110       uled cleanup/maintenance.
111
112       cmd=<no default>
113            The  command  (with  options)  to  spawn as a child process.  This
114            string argument is required.
115
116       period=0
117            The interval (in minutes) at which to run the command.  This inte‐
118            ger value is optional, but SHOULD be a positive integer > 10.
119
120       at=<hhmm>
121            The  time  (24-hour  format) at which to run the command each day.
122            If set to a valid time (0000-2359), period is automatically set to
123            1440.  This string argument is optional.
124

EXAMPLE

126       # example cyrus.conf
127
128       START {
129         recover cmd="ctl_cyrusdb -r"
130       }
131
132       SERVICES {
133         imap         cmd="imapd" listen="imap" prefork=1
134         imaps        cmd="imapd -s" listen="imaps" prefork=0
135         lmtpunix     cmd="lmtpd" listen="/var/imap/socket/lmtp"
136         lmtp         cmd="lmtpd" listen="localhost:lmtp"
137       }
138
139       EVENTS {
140         checkpoint   cmd="ctl_cyrusdb -c" period=30
141         delprune     cmd="cyr_expire -E 3" at=0400
142         tlsprune     cmd="tls_prune" at=0400
143       }
144

ACCESS CONTROL

146       When TCP Wrappers is used to control access to Cyrus services, the name
147       of the service entry  should  be  used  as  the  process  name  in  the
148       hosts_access(5)  table.   For  instance,  in the example above, "imap",
149       "imaps", "lmtpunix" and "lmtp" would be  used  as  the  process  names.
150       This  allows a single daemon such as imapd to be run in different modes
151       or configurations (i.e., SSL and non-SSL enabled) yet still have  sepa‐
152       rate access control rules.
153

SEE ALSO

155       cyrus-master(8),  imapd(8), pop3d(8), lmtpd(8), timsieved(8), idled(8),
156       notifyd(8),     ctl_cyrusdb(8),      ctl_deliver(8),      tls_prune(8),
157       hosts_access(5)
158
159
160
161CMU                              Project Cyrus                   CYRUS.CONF(5)
Impressum