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

EXAMPLE

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

ACCESS CONTROL

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

SEE ALSO

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