cyrus.conf(5)


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)





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.