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

NAME

6       cyrus.conf - Cyrus configuration file
7

DESCRIPTION

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

SECTION DESCRIPTIONS

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

EXAMPLE

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

ACCESS CONTROL

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

SEE ALSO

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)
Impressum