Provided by: cyrus-common_2.5.10-3ubuntu1.1_amd64 bug

NAME

       cyrus.conf - Cyrus configuration file

DESCRIPTION

       /etc/cyrus.conf  is  the  configuration  file  for  the  Cyrus cyrmaster process.  It defines the startup
       procedures, services and events to be spawned by cyrmaster.

       The /etc/cyrus.conf file consists of a series of entries divided into sections of the form

              section {
                     name arguments
                          ...
                          ...
                          ...
              }

       where section is the name of the section, name is the name of the entry and arguments is the  whitespace-
       separated  list  of  arguments  for  the  entry.   The name may be any sequence of alphabetic and numeric
       characters, but may not contain punctuation such as '-' or '_'.  In the SERVICES section, names  must  be
       unique.

       Blank lines and lines beginning with ``#'' are ignored.

SECTION DESCRIPTIONS

       The  paragraphs  below  detail  the  three  sections  (START, SERVICES, EVENTS) that can be placed in the
       /etc/cyrus.conf file.  The arguments that are available for each entry within the section are  described,
       and each argument's default value is shown.

       Arguments  can  appear  in  any order.  Some arguments have no default value, these are listed with ``<no
       default>''.  For string arguments, the value MUST be enclosed in double quotes.

   START
       This section lists the processes to run before any SERVICES are spawned.  This section is typically  used
       to initialize databases and start long running daemons.

       cmd=<no default>
            The command (with options) to spawn as a child process.  This string argument is required.

   SERVICES
       This  section is the heart of the /etc/cyrus.conf file.  It lists the processes that should be spawned to
       handle client connections made on certain Internet/UNIX sockets.

       babysit=0
            Integer value - if non-zero, will make sure at least one process is pre-forked,  and  will  set  the
            maxforkrate to 10 if it's zero.

       cmd=<no default>
            The command (with options) to spawn as a child process.  This string argument is required.

       listen=<no default>
            The  UNIX  or  internet  socket  to  listen  on.  This string field is required and takes one of the
            following forms:

            path
            [ host : ] port

            where path is the explicit (absolute) path to a UNIX socket, host is either the hostname or bracket-
            enclosed IP address of a network interface, and port is either a port number  or  service  name  (as
            listed in /etc/services).

       proto=tcp
            The  protocol  used  for  this  service (tcp, tcp4, tcp6, udp, udp4, udp6).  This string argument is
            optional.

            tcp4, udp4: These arguments are used to bind the service to IPv4 only.
            tcp6, udp6: These arguments are used to bind the service to  IPv6  only,  if  the  operating  system
            supports this.
            tcp, udp: These arguments are used to bind to both IPv4 and IPv6 if possible.

       prefork=0
            The  number  of  instances  of this service to always have running and waiting for a connection (for
            faster initial response time).  This integer value is optional.  Note that if you are  listening  on
            multiple  network  types  (i.e.  ipv4  and  ipv6)  then one process will be forked for each address,
            causing twice as many processes as you might expect.

       maxchild=-1
            The maximum number of instances of this service to spawn.  A value  of  -1  means  unlimited.   This
            integer value is optional.

       maxfds=256
            The  maximum  number  of  file  descriptors  to  which to limit this process.  This integer value is
            optional.

       maxforkrate=0
            Maximum number of processes to fork per second - the master will insert sleeps to ensure it  doesn't
            fork faster than this on average.

   EVENTS
       This  section  lists  processes  that  should  be  run at specific intervals, similar to cron jobs.  This
       section is typically used to perform scheduled cleanup/maintenance.

       cmd=<no default>
            The command (with options) to spawn as a child process.  This string argument is required.

       period=0
            The interval (in minutes) at which to run the command.  This integer value is optional,  but  SHOULD
            be a positive integer > 10.

       at=<hhmm>
            The time (24-hour format) at which to run the command each day.  If set to a valid time (0000-2359),
            period is automatically set to 1440.  This string argument is optional.

EXAMPLE

       # example cyrus.conf

       START {
         recover   cmd="ctl_cyrusdb -r"
       }

       SERVICES {
         imap      cmd="imapd" listen="imap" prefork=1
         imaps          cmd="imapd -s" listen="imaps" prefork=0
         lmtpunix  cmd="lmtpd" listen="/var/imap/socket/lmtp"
         lmtp      cmd="lmtpd" listen="localhost:lmtp"
       }

       EVENTS {
         checkpoint     cmd="ctl_cyrusdb -c" period=30
         delprune  cmd="cyr_expire -E 3" at=0400
         tlsprune  cmd="tls_prune" at=0400
       }

ACCESS CONTROL

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

SEE ALSO

       cyrmaster(8),   imapd(8),   pop3d(8),   lmtpd(8),  timsieved(8),  idled(8),  notifyd(8),  ctl_cyrusdb(8),
       ctl_deliver(8), tls_prune(8), hosts_access(5)

CMU                                               Project Cyrus                                    CYRUS.CONF(5)