HTTP server process


httpd [ -C config-file ] [ -U uses ] [ -T timeout ] [ -D ]
    [ -s ] [ -p ssf ] [ -q ]


httpd is an HTTP server. It accepts commands on its standard input and responds on its standard output. It MUST be invoked by master(8) with those descriptors attached to a remote client connection.

httpd reads its configuration options out of the imapd.conf(5) file unless specified otherwise by -C.

If the directory <configdirectory>/log/user exists, then httpd will create protocol telemetry logs for sessions authenticating as user. The telemetry logs will be stored in the log/user directory with a filename of the httpd process-id.


-C config-file

Use the specified configuration file config-file rather than the default imapd.conf(5).

-U  uses

The maximum number of times that the process should be used for new connections before shutting down. The default is 250.

-T  timeout

The number of seconds that the process will wait for a new connection before shutting down. Note that a value of 0 (zero) will disable the timeout. The default is 60.


Run external debugger specified in debug_command.


Serve HTTP over SSL (https). All data to and from httpd is encrypted using the Secure Sockets Layer.

-p  ssf

Tell httpd that an external layer exists. An SSF (security strength factor) of 1 means an integrity protection layer exists. Any higher SSF implies some form of privacy protection.


Ignore quotas on DAV appends. This feature was introduced in version 3.0.


httpd is commonly included in the SERVICES section of cyrus.conf(5) like so:

    imap        cmd="imapd -U 30" listen="imap" prefork=0
    imaps       cmd="imapd -s -U 30" listen="imaps" prefork=0 maxchild=100
    lmtpunix    cmd="lmtpd" listen="/var/run/cyrus/socket/lmtp" prefork=0 maxchild=20
    sieve       cmd="timsieved" listen="sieve" prefork=0
    notify      cmd="notifyd" listen="/var/run/cyrus/socket/notify" proto="udp" prefork=1
    httpd       cmd="httpd" listen=8080 prefork=1 maxchild=20


A beta release of httpd was first introduced in the caldav branch of Cyrus in version 2.4.17, and was included in the mainline releases beginning in version 2.5.0.

The quota override option, -q, was introduced with Cyrus version 3.0.