- Home
- Download
- Contribute
- Support
- Cyrus SASL

# httpd

HTTP server process

## Synopsis

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

## Description

httpd is an HTTP server. It accepts commands on its standard input and responds on its standard output. It MUST invoked by cyrusmaster(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.

## Options

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

`-D```

  Run external debugger specified in debug_command.

`-s```

  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.

`-q```

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

## Examples

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

    SERVICES {
        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
    }

## History

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.

## Files

/etc/imapd.conf

## See Also

imapd.conf(5), cyrusmaster(8)