Ari Luotonen, CERN, 1994


If you have problems, first make sure you're using the newest version. You'll find that out by peeking into

When something goes wrong you should run server in verbose mode (the -v flag) to see exactly what is the problem. If you usually run it from inet daemon start it now standalone to some other port (with -p port flag) with otherwise the same parameters as in /etc/inetd.conf.

My Scripts Get Served As Text Files...

...or are completely unaccessible.

It's important to understand that rules in the configuration file (Map, Pass, Exec, Fail, Protect, DefProt and Redirect) are translated from top to bottom, and the first matching Pass, Exec or Fail will terminate rule translation.

So, make sure that your Exec rule is before any general Mappings.

How do I...


There used to be one zombie when running cern_httpd standalone; this was fixed in version 2.17beta. If you still see zombies (more than two that don't go away in a few minutes) it is a bug.

Inet daemon complains about looping...

...and terminates WWW service. :-(

This is a hard-coded inetd limitation on at least SunOS-4.1.* and NeXT, which limits maximum allowed connections from a given host to 40 per minute. This can be exceeded by scripts doing Web-roaming, or documents having masses of small inlined images.

There is a fix for at least SunOS inetd (100178-08), and in Solaris this is fixed. You can also run httpd standalone (preferably with the -fork command line option).

Most importantly, you should stop running httpd from inetd and rather run it standalone. This is because running from inetd is inefficient.

Server looks at funny directories and finds nothing

From version 2.0 until 2.15, you need to have an explicit map to file system in your rule file, e.g.:
        Map    /*    file:/*
but 2.15 doesn't have this limitation anymore.

But the document says rule file is no longer needed

True, but it also says you must remember to give your Web directory as a parameter to httpd, e.g.
        httpd  /home/me/MyGloriousWeb