HTTPD(8)

πŸ’– HTTPD(8) β€” Cyrus IMAP πŸ’–

okay bestie, welcome to the httpd manual page, fresh off the Cyrus IMAP press ✨


✨ NAME ✨

httpd β€” Cyrus IMAP documentation

like… it's the HTTP server process 🫢


🌸 SYNOPSIS 🌸

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

πŸ¦‹ DESCRIPTION πŸ¦‹

so httpd is an HTTP server, periodt. it takes commands on its standard input and it answers back on its standard output. and here's the thing β€” it MUST be started by master(8) with those descriptors already attached to a remote client connection. like, no solo runs, it's giving strictly group project energy 😭

httpd pulls its configuration options out of the imapd.conf(5) file, unless you tell it otherwise with -C.

and listen β€” if the directory <configdirectory>/log/user exists, then httpd will spin up protocol telemetry logs for sessions that authenticate as user. those telemetry logs live in the log/user directory, and the filename is literally the httpd process-id. iconic behavior fr fr πŸ’…


πŸ’… OPTIONS πŸ’…

  • -C config-file β€” use this specific config file config-file instead of the default imapd.conf(5). your file, your rules, slay.
  • -U uses β€” the max number of times this process should be used for new connections before it shuts itself down. default is 250. know your limits bestie.
  • -T timeout β€” how many seconds the process will wait for a new connection before shutting down. heads up tho: a value of 0 (zero) disables the timeout entirely. default is 60.
  • -D β€” run the external debugger specified in debug_command. detective mode πŸ”
  • -H β€” tells httpd to expect a HAProxy protocol header from the sender. manifesting that header into existence ✨
  • -s β€” serve HTTP over SSL (https). all the data going to and from httpd gets encrypted using the Secure Sockets Layer. privacy queen πŸ‘‘
  • -p ssf β€” tells 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. numbers up = vibes sealed πŸ”₯
  • -q β€” ignore quotas on DAV appends. this feature was introduced in version 3.0. no cap, it really was.

πŸŽ€ 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
}

see how httpd is just sitting in there with everybody else? main character energy in a crowd, honestly 😌


⭐ HISTORY ⭐

a beta release of httpd was first introduced in the caldav branch of Cyrus in version 2.4.17, and then it made it into the mainline releases starting in version 2.5.0. glow-up complete 🌈

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


πŸ’œ FILES πŸ’œ

  • /etc/imapd.conf

🌺 SEE ALSO 🌺

imapd.conf(5), master(8)


πŸ‘‘ AUTHOR πŸ‘‘

The Cyrus Team, Nic Bernstein (Onlight) 🫢


1993–2026, The Cyrus Team


and that's the whole page, bestie! go forth and serve some HTTP πŸ’–

okay so this was version 3.12.3, dated Jul 15, 2026, and the manual name is HTTPD(8) β€” cute little sign-off, love that for us βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from