# WASD Hypertext Services - Technical Overview

## 7 - Server Configuration Directives

> 7.1 - Functional Groupings
> 7.2 - Alphabetic Listing

[next] [previous] [contents] [full-page]

> NOTE

> The format of the configuration file has been changed between version 3 and version 4. This was to support on-line server configuration and administration (see 15 - Server Administration). The version 3 format will still be read by the HTTPd but the first time the configuration is updated on-line it is saved in the version 4 format, described below. The example configuration file can be used as a template.

Some directives take a single parameter, such as an integer, string or boolean value. Other directives can/must have multiple parameters. The version 4 configuration requires the directive to be placed on a line by itself and each separate parameter on a separate line following it. All parameter lines apply to the most recently encountered directive.

Note that all boolean directives are disabled (OFF) by default. This is done so that there can be no confusion about what is enabled and disabled by default. To use directive controlled facility it must be explicitly enabled.

###
7.1 - Functional Groupings

Authentication/Authorization

[AuthBasic] | enable BASIC method
| [AuthCacheMinutes] | minutes before explicitly reauthorizing user from sources | [AuthDigest] | enable DIGEST method | [AuthDigestGetLife] | DIGEST method GET lifetime | [AuthDigestPutLife] | DIGEST method PUT lifetime | [AuthFailureLimit] | retries allowed before username is marked as intruder | [AuthRevalidateLoginCookie] | helps prevent redundant authorization requests when user revalidation is enabled | [AuthRevalidateUserMinutes] | minutes before use needs to reenter password

Buffer Sizes

[BufferSizeDclCgiPlusIn] | number of bytes allocated to scripting subprocess CGIPLUSIN mailbox
| [BufferSizeDclCommand] | bytes allocated to scripting subprocess SYS$COMMAND mailbox | [BufferSizeDclOutput] | bytes allocated to scripting subprocess SYS$OUTPUT mailbox | [BufferSizeNetRead] | bytes allocated to client request read buffer, and to the scripting subprocess SYS$INPUT mailbox | [BufferSizeNetWrite] | bytes allocated to client output buffer

Directory Listing

[AddIcon] | path to icon for a specified content-type
| [AddBlankIcon] | path to blank icon | [AddDirIcon] | path to directory icon | [AddParentIcon] | path to parent icon | [AddUnknownIcon] | path to icon for unknown content-type | [DirAccess] | enable and form of listing | [DirBodyTag] | specify HTML body tag of listing pages | [DirDescriptionLines] | number of HTML file lines searched for document title | [DirLayout] | layout of the various listing components | [DirMetaInfo] | add server and VMS directory information | [DirNoImpliedWildcard] | do not add wildcards to request if not present in path | [DirNoPrivIgnore] | ignore, do not report, privilege violations on files/directories | [DirOwner] | allow owner of file to be included in layout directive | [DirPreExpired] | pre-expire listing responses | [DirReadMeFile] | specify read-me files | [DirWildcard] | allow wildcards to be specified at all

File Cache

[CacheChunkKBytes] | memory block allocation size
| [CacheEntriesMax] | maximum number of files allowed in cache | [CacheFileKBytesMax] | maximum size of a file | [CacheFrequentHits] | identify active files | [CacheFrequentSeconds] | identify active file | [CacheHashTableEntries] | size of hash table | [CacheTotalKBytesMax] | maximum memory to be consumed by cache | [CacheValidateSeconds] | maximum period before the cache checks for file modification

Logging

[Logging] | enable logging
| [LogExcludeHosts] | hosts to be excluded from log | [LogFormat] | nature and layout of log contents | [LogNaming] | how the log name is be constructed | [LogPeriod] | period at which new logs are created | [LogPerService] | create a separate log for each configured service | [LogPerServiceHostOnly] | suppress service port number as component of log name | [Track] | enable session tracking | [TrackMultiSession] | track across sessions | [TrackDomain] | host or hosts it applies to

Operator Console and Log

[OpcomAdmin] | server administration menu directives
| [OpcomAuthorization] | authentication/authorization messages, e.g. failures | [OpcomControl] | CLI HTTPd control directives | [OpcomHTTPd] | HTTPd events, e.g. startup, exit | [OpcomProxyMaint] | proxy file cache maintenance | [OpcomTarget] | target operator for online messages

Miscellaneous

[Accept] | restrictive list of host from which to accept requests
| [ActivityDays] | activity graph duration | [AddType] | add a content-type | [Busy] | number of concurrent connections allowed | [CharsetDefault] | default character set for text responses | [DNSLookup] | enable host lookup | [Monitor] | enable HTTPDMON data logicals | [Port] | default port | [PutMaxKBytes] | maximum size of a POST or PUT | [PutVersionLimit] | maximum RMS file versions retained in a POST or PUT | [Reject] | proscriptive list of hosts from which request will be rejected | [RequestHistory] | number of requests kept for request report | [SearchScript] | path to default search script | [SearchScriptExclude] | list of file extensions excluded from implied keyword search | [Service] | list of host names and/or port to create services for | [ServiceNotFoundURL] | redirection URL when a request service is not configured | [StreamLF] | enable and set maximum size of automatic Stream-LF conversion | [Welcome] | list of file names that are checked for as home pages

Proxy Serving

[ProxyCache] | enable proxy caching
| [ProxyCacheFileKBytesMax] | maximum size of response for caching | [ProxyCacheRoutineHourOfDay] | hour of day routine cache purge occurs | [ProxyCacheDeviceCheckMinutes] | minutes between check of cache device usage | [ProxyCacheDeviceDirOrg] | flat 256 or 64x64 directory organization | [ProxyCacheDeviceMaxPercent] | maximum percentage of cache device used before purge | [ProxyCacheDevicePurgePercent] | during purge reduce by this many percent | [ProxyCachePurgeList] | list of file ages used during purge | [ProxyCacheReloadList] | list of file ages before realod from source | [ProxyForwardedBy] | add "Forwarded-by" to requests | [ProxyHostCachePurgeHours] | period at which DNS information is purged | [ProxyHostLookupRetryCount] | DNS resolution retry count | [ProxyReportLog] | report failures to process log | [ProxyReportCacheLog] | report cache failures to process log | [ProxyServing] | enable proxy server

Reports

[ErrorReportPath] | path to script, SSI or "flat" error document
| [ErrorRecommend] | for server generated error include probable cause | [ReportBasicOnly] | only ever generate reports containing basic details | [ReportMetaInfo] | add server information to directory listings, etc. | [ServerAdmin] | email address for server-related contact | [ServerAdminBodyTag] | specify HTML body tag of server administration (menu) pages | [ServerReportBodyTag] | specify HTML body tag of error and other report pages | [ServerSignature] | add server information to the foot of error and other report pages

Request Timeout

[TimeoutInput] | minutes a connection can wait before sending request
| [TimeoutKeepAlive] | seconds a connection is kept active after request conclusion | [TimeoutOutput] | minutes a response can continue to output | [TimeoutNoProgress] | minutes a response can continue without data transfer progress

Scripting

[CgiStrictOutput] | script output must be CGI compliant
| [DclCgiPlusLifeTime] | minutes of non-use before CGIplus subprocess is deleted | [DclCleanupScratchMinutesMax] | maximum minutes between HT_SCRATCH cleanups | [DclCleanupScratchMinutesOld] | cleanup files older than this | [DclDetachProcess] | use detached scripting processes rather than subprocesses | [DclGatewayBG] | enable raw TCP/IP socket for scripts | [DclHardLimit] | maximum number of concurrent subprocesses | [DclScriptRunTime] | script execution environment | [DclSoftLimit] | maximum number of subprocesses before proactive deletion begins | [DclSpawnAuthPriv] | spawn subprocesses with account's authorized privileges | [DclZombieLifeTime] | minutes of non-use before a CGI/CLI subprocess is deleted | [DecnetReuseLifeTime] | minutes of non-use before a DECnet process is released | [DecnetConnectListMax] | maximum number of DECnet processes | [Scripting] | enables and disables all scripting

Server Side Includes

[SSI] | enable Server Side Includes (SSI)
| [SSIaccesses] | allow access counting | [SSIexec] | allow DCL commands

###
7.2 - Alphabetic Listing

1. [Accept] host/domain name (default: all)

   One or more (comma-separated if on the same line) internet host/domain names, with "*" wildcarding for host/subdomain matching, to be explicitly allowed access. If DNS lookup is not enabled hosts must be expressed using numeric addresses (see [DNSLookup] directive). Also see the [Reject] directive. Reject directives have precedence over Accept directives. The Accept directive may be used multiple times.

   Examples:

         [Accept]
         *.wasd.dsto.defence.gov.au
         131.185.250.*

2. [ActivityDays] integer (default: 0)

   Specifies the number of days to record activity statistics, available in report form from the server administration menu (see 15.3 - HTTPd Server Reports). Zero disables this data collection. The maximum is 28 days. 11520 bytes per day, and 80640 per week, is required to store the per-minute data.

3. [AddIcon] icon-URL ALT-text template (no default)

   Specifies a directory listing icon and alternative text for the mime content type specified in the template.
   Examples:

         [AddIcon]
         /icon/-/doc.gif    [HTM]  text/html
         /icon/-/text.gif   [TXT]  text/plain
         /icon/-/image.gif  [IMG]  image/gif

4. [AddBlankIcon] icon-URL
   [AddDirIcon] icon-URL ALT-text
   [AddParentIcon] icon-URL ALT-text
   [AddUnknownIcon] icon-URL ALT-text (no defaults)
   Specifies a directory listing icon for these non-content-type parts of the listing.
   Examples:

         [AddBlankIcon]    /icon/-/blank.gif
         [AddDirIcon]      /icon/-/dir.gif      [DIR]
         [AddParentIcon]   /icon/-/back.gif     [<--]
         [AddUnknownIcon]  /icon/-/unknown.gif  [???]

5. [AddType] .suffix content-type script-name description (no default)

   Binds a file suffix (extension, type) to a mime content type. The script name is used to auto-script against a specified file type. Use a hyphen as a place-holder and to indicate no auto-script. The description is used as documentation for directory listings.

         [AddType]
         .html  text/html        -       HyperText Markup Language
         .txt   text/plain       -       plain text
         .gif   image/gif        -       image (GIF)
         .hlb   text/x-script /Conan  VMS Help library
         .decw$book   text/x-script   /HyperReader    Bookreader book
         *  internal/x-unknown   -  application/octet-stream
         #*  internal/x-unknown  -  text/plain

   The content-type string may include a specific character set. In this way non-default sets (which is usually ISO-8859-1) can be specified for any particular site or any particular file type. Enclose the content-type string with double-quotation marks.

         [AddType]
         .html    "text/html; charset=ISO-8859-1"   -  HTML (ISO-8859-1)
         .html_5  "text/html; charset=ISO-8859-5"   -  Cyrillic HTML (ISO-8859-5)
         .html_r  "text/html; charset=KOI8-R"       -  Cyrillic HTML (KOI8-R)
         .txt     "text/plain; charset=ISO-8859-1"  -  plain text (ISO-8859-1)
         .txt_5   "text/plain; charset=ISO-8859-5"  -  Cyrillic text (ISO-8859-5)
         .txt_r   "text/plain; charset=KOI8-R"      -  Cyrillic text (KOI8-R)

   (Versions prior to 3.2 used this configuration directive for the MIME content-type to determine whether a file was transfered record-by-record or in binary. This is no longer required and should be removed from existing configuration files.)

6. [AuthBasic] `ENABLED|DISABLED` (default: DISABLED)

   Enables or disables BASIC username authentication. See 12 - Authentication and Authorization.

7. [AuthCacheMinutes] integer (default: 60)

   The number of minutes authentication information is cached before being revalidated from the authentication source. Zero disables caching (with a resultant impact on performance as each request requiring authentication is validated directly from the source).

8. [AuthDigest] `ENABLED|DISABLED` (default: DISABLED)

   Enables or disables Digest username authentication. See 12 - Authentication and Authorization.

9. [AuthDigestGetLife] integer (default: 0)

   The number of seconds a digest nonce for a GET request (read) can be used before becoming stale.

10. [AuthDigestPutLife] integer (default: 0)

    The number of seconds a digest nonce for a PUT (/POST/DELETE ... write) request can be used before becoming stale.

11. [AuthFailureLimit] integer (default: 10)

    The number of unsuccessful attempts at authentication before the username is disabled. Once disabled any subsequent attempt is automatically refused without further reference to the authentication source. A disabled username can be reenabled by simply purging the cache.

12. [AuthRevalidateLoginCookie] `ENABLED|DISABLED` (default: DISABLED)

    When user revalidation is in effect (see immediately below), after having previously closed the browser initial authentication of a resource is immediately followed by another if a cached entry on the server indicated revalidation was required. This prevents this second request.

13. [AuthRevalidateUserMinutes] integer (default: 60)

    The number of minutes between authenticated requests that user authentication remains valid before the user is forced to reenter the authentication information (via browser dialog). Zero disables the requirement for revalidation.

14. [BufferSizeDclCgiPlusIn] integer (default: 2048)

    The number of bytes (and hence BYTLM quota) permanently allocated to each scripting subprocess CGIPLUSIN mailbox.

15. [BufferSizeDclCommand] integer (default: 3072)

    The number of bytes (and hence BYTLM quota) permanently allocated to each scripting subprocess SYS$COMMAND mailbox.

16. [BufferSizeDclOutput] integer (default: 4096)

    The number of bytes (and hence BYTLM quota) permanently allocated to each scripting subprocess SYS$OUTPUT mailbox.

17. [BufferSizeNetRead] integer (default: 2048)

    The number of bytes allocated to the network read buffer (used for request header, POST body, etc.). Also the number of bytes (and hence BYTLM quota) permanently allocated to each scripting subprocess SYS$INPUT mailbox (allowing a script to read a request body).

18. [BufferSizeNetWrite] integer (default: 4096)

    Number of bytes allocated to the network write buffer. This buffer is used as the basic unit when transfering file contents (from cache or the file system), as an output buffer during SSI pocessing, directory listing, etc. During many activities multiple outputs are buffered into this storage before being written to the network.

19. [Busy] integer (default: 10)

    The maximum number of concurrent client connections before a "server too busy right now ... try again shortly" error is returned to the client.

20. [Cache] `ENABLED|DISABLED` (default: DISABLED)

    File cache control.

21. [CacheChunkKBytes] integer (default: 0)

    Granularity of memory blocks allocated to file data, in kilobytes.

22. [CacheEntriesMax] integer (default: 0)

    Maximum number of files loaded into the cache before entries are reused removing the original contents from the cache.

23. [CacheFileKBytesMax] integer (default: 0)

    Maximum size of a file before it is not a candidate for being cached, in kilobytes.

24. [CacheFrequentHits] integer (default: 0)

    Minimum, total number of hits an entry must sustain before being a candidate for [CacheFrequentSeconds] assessment.

25. [CacheFrequentSeconds] integer (default: 0)

    If a file has been hit at least [CacheFrequentHits] times in total and the last was within the number of seconds here specified it will not be a candidate for reuse. See 17 - Cache.

26. [CacheHashTableEntries] integer (default: 0)

    Size of the hash table.

27. [CacheTotalKBytesMax] integer (default: 0)

    Maximum memory allocated to the cache, in kilobytes.

28. [CacheValidateSeconds] integer (default: 0)

    The interval after which a cache entry's original, content revision time is revalidated against the file's current revision time. If not the same the contents are declared invalid and reloaded.

29. [CharsetDefault] string (default: none)

    The default character set sent in the response header for text documents (plain and HTML). English language sites should specify ISO-8859-1, other Latin alphabet sites, ISO-8859-2, 3, etc. Cyrillic sites might wish to specify ISO-8859-5 or KOI8-R, and so on.

30. [CgiStrictOutput] `ENABLED|DISABLED` (default: DISABLED)

    A script must output a full HTTP or CGI-compliant response. If a plain-text stream is output an error is reported (being the more common behaviour for servers). Errors in output can be disagnosed using the WATCH facility.

31. [DclCleanupScratchMinutesMax] integer (default: 0)

    Whenever the last scripting process is removed from the system, or this number of minutes maximum (whichever occurs first), scan the HT_SCRATCH directory (if logical defined and it exists) deleting all files that are older than [DclCleanupScratchMinutesOld] minutes. Setting to zero disables HT_SCRATCH scans.

32. [DclCleanupScratchMinutesOld] integer (default: 0)

    When performing a [DclCleanupScratchMinutesMax] scan delete files that are older than this value (or the value specified by [DclCleanupScratchMinutesMax], whichever is the larger).

33. [DclCgiPlusLifeTime] integer (default: 0)

    This value represents time in minutes. If this value is zero CGIplus subprocess may persist indefinitely (excluding explicit and proactive server purging). If non-zero the CGIplus subprocess is terminated the specified number of minutes after it last processed a request. This helps prevent sporadically used scripts from clogging up a system.

34. [DclDetachProcess] `ENABLED|DISABLED` (default: DISABLED)

    By default scripts are executed within server subprocesses. When enabled this instructs the server to create detached processes. This side-steps the issues of having pooled process quotas and also allows non-server-account scripting (see 5.3 - HTTPd Command Line, User Account Scripting and in particular "Scripting Overview, Introduction".

35. [DclDetachProcessPriority] integer[,integer] (default: same as server)

    When detached scripting processes are created it is possible to assign them base priorities lower that the server itself. This directive takes one or two (comma-separated) integers that determine how many priorities lower than the server scripting processes are created. The first integer determines server processes. A second, if supplied, determines user scripts. User scripts may never be a higher priority that server scripts.

          [DclDetachProcessPriority]  1
          [DclDetachProcessPriority]  0,1
          [DclDetachProcessPriority]  1,2

    The first of these examples would set both server and user script processes one below the server process. The second, server scripts at the same priority and user scripts one below. The last, server scripts one below, and user scripts two below.

36. [DclGatewayBG] `ENABLED|DISABLED` (default: DISABLED)

    When enabled, non-SSL, subprocess script CGI environments have a CGI variable WWW_GATEWAY_BG created containing the device name (BGnnnn:) of the TCP/IP socket connected to the client. This socket may be accessed by the script for transmission of data directly to the script bypassing the server entirely. This is obviously much more efficient for certain classes of script. For purposes of accurate logging the server does need to be informed of the quantity of data transfered using a CGI callout. See "Scripting Environment" document.

37. [DclHardLimit] integer (default: 0)

    The maximum number of DCL/CGI script processing subprocesses that may ever exist concurrently (works in conjunction with [DclSoftLimit].

38. [DclScriptRunTime] string (default: none)

    One or more file type (extension) specification and scripting verb pairs. See "Scripting Overview, Runtime".

39. [DclSoftLimit] integer (default: 0)

    The number of DCL/CGI script processing subprocesses after which idle subprocesses are deleted to make room for new ones. The [DclHardLimit] should be approximately 25% more than the [DclSoftLimit]. The margin exists to allow for occasional slow run-down of deleted/finishing subprocesses. If these limits are not set (i.e. zero) they are calculated with [Busy] using "[DclSoftLimit] = [Busy]" and "[DclHardLimit] = [DclSoftLimit] + [DclSoftLimit] / 4".

40. [DclSpawnAuthPriv] `ENABLED|DISABLED` (default: DISABLED)

    By default, when a DCL/scripting subprocess is spawned it inherits the server's currently enabled privileges, which are none, not even TMPMBX or NETMBX. If this parameter is enabled the subprocess is created with the server account's SYSUAF-authorized privileges (which should never be other than NETMBX and TMPMBX). Use with caution.

41. [DclZombieLifeTime] integer (default: 0)

    This value represents time in minutes. If this value is zero the use of persistant DCL subprocesses is disabled. If non-zero the zombie subprocess is terminated the specified number of minutes after it last processed a request. This helps prevent zombie processes from clogging up a system. See "Scripting Environment" document.

42. [DECnetReuseLifeTime] integer (default: 0)

    The number of minutes a DECnet scripting connection is maintained with the network task. Zero disables connection reuse.

43. [DECnetConnectListMax] integer (default: 0)

    The size of the list used to manage connections for DECnet scripting. Zero effectively allows the server to use as many DECnet scripting connections as demanded.

44. [DirAccess] `ENABLED|DISABLED|SELECTIVE` (default: DISABLED)

    Controls directory listings. `SELECTIVE` allows access only to those directories containing a file `.WWW_BROWSABLE`. The WASD HTTPd directory access facility always ignores directories containing a file named `.WWW_HIDDEN`. Also see the [DirWildcard] directive.

45. [DirBodyTag] string (default: <BODY>)

    Specifies the HTML <BODY> tag for directory listing pages. This allows some measure of site "look-and-feel" in page colour, background, etc. to be employed.

46. [DirDescriptionLines] integer (default: 0)

    Non-Zero enables HTML file descriptions during listings. Generating HTML descriptions involves opening each HTML file and searching for <TITLE>...</TITLE> and <H1>...</H1> text to generate the description. This is an obviously resource-intensive activity and on busy servers or systems may be disabled. Any non-zero number specifies the number of lines to be searched before quitting. Set to a very high number to search all of files' contents (e.g. 999999).

47. [DirLayout] string (default: I__L__R__S__D)

    Allows specification of the directory listing layout. This is a short, case-insensitive string that specifies the included fields, relative placement and optionally the width of the fields in a directory listing. Each field is controlled by a single letter and optional leading decimal number specifying its width. If a width is not specified an appropriate default applies. An underscore is used to indicate a single space and is used to separate the fields (two consecutive works well).

    - C - creation date
    - D - description (generally best specified last)
      - D:L - for files, make a link out of the description text
    - I - icon (takes no field-width attribute)
      - L - link (highlighted anchor using the name of the file)
      - L:F - file-system name (for ODS-5 displays spaces, etc.)
      - L:N - name-only, do not display the extension
      - L:U - force name to upper-case
    - N - name (no link, why bother? who knows!)
    - O - owner (can be disabled)
    - R - revision date
    - S - size
      - S:B - in bytes (comma-formatted)
      - S:D - decimal kilos (see below)
      - S:F - kilo and mega are displayed to one decimal place
      - S:K - in kilo-bytes (and fractions thereof)
      - S:M - in mega-bytes (and fractions thereof)
    - U - upper-case file and directory names (must be the first character)

    The following shows some examples:

          [DirLayout]       I__L__R__S__D
          [DirLayout]       I__L__R__S:b__D
          [DirLayout]       I__15L__S__D
          [DirLayout]       UI__15L__S__D
          [DirLayout]       15L__9R__S
          [DirLayout]       15N_9C_9R_S
          [DirLayout]       I__L__R__S:d__D
          [DirLayout]       25D:l__S:b__C__R

    The size of files is displayed by default as 1024 byte kilos. When using the "S:k", "S:m" and "S:f" size modifiers the size is displayed as 1000 byte kilos. If it is prefered to have the default display in 1000 byte kilos then set the directory listing layout using:

          [DirLayout]       I__L__R__S:d__D

    If unsure of the kilo value being used check the "<META>" information in the directory listing.

48. [DirMetaInfo] `ENABLED|DISABLED` (default: DISABLED)

    Includes, as <META> information, the software ID of the server and any relevant VMS file information.

49. [DirNoImpliedWildcard] `ENABLED|DISABLED` (default: DISABLED)

    When a directory is accessed having no file or type component and there is no welcome page available a directory listing is generated. By default any other directory accessed from this listing has the implied wildcards "*.*" added, consequently forcing directory listings. If enabled, this directive ensures no wildcards are added, so subsequent directories accessed with welcome pages display the pages, not a forced listing.

50. [DirNoPrivIgnore] `ENABLED|DISABLED` (default: DISABLED)

    To prevent browsing through directories (perhaps due to inadvertant mapping) that have file permissions allowing no WORLD access the server stops listing and reports the error the first time a protection violation occurs. This behaviour may be changed to ignore the violation, listing only those files to which it has access.

51. [DirOwner] `ENABLED|DISABLED` (default: DISABLED)

    Allows specification and display of the RMS file owner information.

52. [DirPreExpired] `ENABLED|DISABLED` (default: DISABLED)

    Directory listings and trees may be pre-expired. That is, the listing is reloaded each time the page is referenced. This is convenient in some environments where directory contents change frequently, but adds considerable over-head and so is disabled by default. Individual directory listings may have the default behaviour over-ridden using syntax similar to the following examples:

          /dir1/dir2/*.*?httpd=index?expired=yes
          /dir1/dir2/*.*?httpd=index?expired=no
          /tree/dir2/?httpd=index?expired=yes
          /tree/dir1/dir2/?httpd=index?expired=no

53. [DirReadme] `TOP|BOTTOM | OFF` (default: DISABLED)

    If any of the files provided using the [DirReadMeFile] directive are located in the directory the contents are included at the top or bottom of the listing (or not at all). Plain-text are included as plain-text, HTML are included as HTML allowing markup tags to be employed.

54. [DirReadMeFile] `file.suffix` (no default)

    Specifies the names and order in which a directory is checked for read-me files. This can be enabled or disabled using the [DirReadme] directive. Plain-text are included as plain-text, HTML are included as HTML allowing markup tags to be employed.

    Examples:

          [DirReadMeFile]
          readme.html
          readme.htm
          readme.
          readme.txt
          readme.1st

55. [DirWildcard] `OFF|ON` (default: DISABLED)

    This enables the facility to force the server to provide a directory listing by providing a wildcard file specification, even if there is a home (welcome) document in the directory. This should not be confused with the [DirAccess] directive which controls directory listing itself.

56. [DNSLookup] `ENABLED|DISABLED` (default: DISABLED)

    Enables or disables connection request host name resolution. This functionality may be expensive (in terms of processing overhead) and make serving granularity coarser if DNS is involved. If not enabled and logging is, the entry is logged against the numeric internet address. If not enabled any [Accept], [Reject] directive, etc., must be expressed as numeric addresses.

    This functionality significantly slows request processing. See 18 - Server Performance.

57. [ErrorReportPath] string (default: none)

    Specifies the URL-format path to an optional, error reporting SSI document or script. See 6.4 - Error Reporting. This path can subsequently be remapped during request processing.

58. [ErrorRecommend] `ENABLED|DISABLED` (default: DISABLED)

    Provides a short message recommending action when reporting an error to a client. For example, if a document cannot be found it may say:

          (document, or bookmark, requires revision)

59. [Logging] `ENABLED|DISABLED` (default: DISABLED)

    Enables or disables the request log. Logging can slow down request processing and adds overhead. The log file name must be specified using the /LOG qualifier or HTTPD$LOG logical name (see Logical Names.

60. [LogExcludeHosts] string (default: none)

    One or more (comma-separated if on the same line) internet host/domain names, with "*" wildcarding for host/subdomain matching, requests from which are not placed in any log files. If DNS lookup is not enabled hosts must be expressed using numeric addresses (see [DNSLookup] directive). Use for excluding local or web-maintainer's host from logs.

    Example:

          [LogExcludeHosts]
          *.wasd.dsto.defence.gov.au
          131.185.250.*

61. [LogFormat] string (default: COMMON)

    Specifies one of three pre-defined formats, or a user-definable format. See 6.5.1 - Log Format.

62. [LogNaming] string (default: none)

    When [LogPeriod] or [LogPerService] directives are used to generate multiple log files this directive may be used to modify the naming of the file. See 6.5.4 - Log Naming.

63. [LogPeriod] string (default: none)

    Specifies a period at which the log file is changed. See 6.5.2 - Log Period.

64. [LogPerService] `ENABLED|DISABLED` (default: DISABLED)

    When multiple services are specified (see 6.3 - Virtual Services) a separate log file will be created for each if this is enabled. See 6.5.3 - Log Per-Service.

65. [LogPerServiceHostOnly] `ENABLED|DISABLED` (default: DISABLED)

    When generating a log name do not make the port number part of it. This effectively provides a single log file for all ports provided against a host name (e.g. a standard HTTP service on port 80 and an SSL service on port 443 would have entries in the one file). See 6.5.3 - Log Per-Service.

66. [Monitor] `ENABLED|DISABLED` (default: DISABLED)

    Allows monitoring via the HTTPDMON utility (see 20.6 - HTTPd Monitor. Adds slight request processing overhead.

67. [OpcomAdmin] `ENABLED|DISABLED` (default: DISABLED)

    Report to operator log and any enabled operator console (see [OpcomTarget]) server administartion directives originating from the Server Administration Menu, for example path map reload, server restart, etc.

68. [OpcomAuthorization] `ENABLED|DISABLED` (default: DISABLED)

    Report events related to authentication/authorization. For example username-password validation failures.

69. [OpcomControl] `ENABLED|DISABLED` (default: DISABLED)

    Report HTTPD/DO=directive control events, both the command-line directive and the server's response.

70. [OpcomHTTPd] `ENABLED|DISABLED` (default: DISABLED)

    Report events concerning the server itself. For example, server startup and exit (either normally or with error status).

71. [OpcomProxyMaint] `ENABLED|DISABLED` (default: DISABLED)

    Report events related to proxy server cache maintenance. For example, the commencement of file cache reactive and proactive purging, the conclusion of this purge, both with cache device statistics.

72. [OpcomTarget] string (default: DISABLED)

    This enables OPCOM messaging and specifies the target for the OPCOM reports. This must be set to a target to enable OPCOM messages, irrespective of the setting of any of the other [Opcom...] directives. These messages are added to SYS$MANAGER:OPERATOR.LOG and displayed at the specified operator's console if enabled (using REPLY/ENABLE=target). The operator log provides a "permanent" record of server events. Possible settings include CENTRAL, NETWORK, SECURITY, OPER1 ... OPER12, etc.

73. [Port] integer (default: 80)

    IP port number for server to bind to. For anything other than a command-line server control (see 5.3.2 - Server Command Line Control) this parameter is overridden by anything supplied via the [Service] directive.

74. [ProxyForwardedBy] `ENABLED|DISABLED` (default: DISABLED)

    Enables and disables the addition of a proxy request header line providing information that the request has been forwarded by another agent. The added header line would look like "Forwarded: by http://host.name.domain (HTTPd-WASD/n.n.n OpenVMS/AXP Digital-TCPIP SSL)".

75. [ProxyHostLookupRetryCount] integer (default: 0)

    When the server is resolving the name of a remote host the request may timeout due to up-stream DNS server latencies. This parameter allows a number of retries, at five second intervals, to be enabled.

76. [ProxyReportLog] `ENABLED|DISABLED` (default: DISABLED)

    Enables or disables the server process log reporting siginificant proxy processing events, such as cache maintenance activity.

77. [ProxyReportCacheLog] `ENABLED|DISABLED` (default: DISABLED)

    Enables or disables the server process log reporting of proxy caching activity.

78. [ProxyServing] `ENABLED|DISABLED` (default: DISABLED)

    Enables or disables proxy serving on a whole-of-server basis, irrespective of any proxy services that might be configured.

79. [ProxyCache] `ENABLED|DISABLED` (default: DISABLED)

    Enables or disables proxy caching on a whole-of-server basis, irrespective of any proxy services that might be configured for caching.

80. [ProxyCacheFileKBytesMax] integer (default: 256)

    Maximum size of a cache file in kilobytes before it will not be cached.

81. [ProxyCacheRoutineHourOfDay] integer (default: 0)

    Hour of day for routine cache purge (00-23).

82. [ProxyCacheDeviceCheckMinutes] integer (default: 15)

    Interval in minutes between checking space availablility on cache device. If space is not available a reactive purge is initiated.

83. [ProxyCacheDeviceDirOrg] `FLAT256|64X64` (default: FLAT256)

    Organization of directories on the proxy cache device. The first provides a single level structure with a possible 256 directories at the top level and files organized immediately below these. For versions of VMS prior to V7.2 exceeding 256 files per directory, or a total of approximately 65,000 files, incurs a significant performance penalty for some directory operations. The second organization involves two levels of directory, each with a maximum of 64 directories. This allows for approximately 1,000,000 files before encountering the 256 file per directory issue.

84. [ProxyCacheDeviceMaxPercent] integer (default: 85)

    The maximum percentage in use on the cache device before a reactive purge is scheduled. If device usage exceeds this limit no more cache files are created.

85. [ProxyCacheDevicePurgePercent] integer (default: 1)

    The percentage by which the cache device usage is attempted to be reduced when a reactive purge is initiated.

86. [ProxyCachePurgeList] string (default: 168,48,24,8,0)

    A list of comma-separated integers representing the sequence of last accessed period in hours used during a progressive reactive purge.

87. [ProxyCacheReloadList] string (default: 1,2,4,8,12,24,48,96,168)

    A list of comma-separated integers representing the sequence of age in hours used when determining whether a cache file's contents should be reloaded.

88. [ProxyHostCachePurgeHours] integer (default: 24)

    The period at which the cache of host names to IP addresses is purged.

89. [PutMaxKBytes] integer (default: 250)

    Maximum size of an HTTP POST or PUT method request in Kilobytes.

90. [PutVersionLimit] integer (default: 3)

    File created using the POST or PUT methods have the specified version limit applied.

91. [Reject] host/domain name (default: none)

    One or more (comma-separated if on the same line) internet host/domain names, with "*" wildcarding for host/subdomain matching, to be explicitly denied access. If DNS lookup is not enabled hosts must be expressed using numeric addresses (see [DNSLookup] directive). Also see the [Accept] directive. Reject directives have precedence of Accept directives. The Reject directive may be used multiple times.

    Example:

          [Reject]
          *.wasd.dsto.defence.gov.au
          131.185.250.*

92. [ReportBasicOnly] `ENABLED|DISABLED` (default: DISABLED)

    Only ever supply basic information in a report (see 6.4 - Error Reporting).

93. [ReportMetaInfo] `ENABLED|DISABLED` (default: DISABLED)

    Includes in detailed reports, as <META> information, the software ID of the server and any relevant VMS file information.

94. [RequestHistory] integer (default: 0)

    The server can keep a list of the most recent requests accessable from the server administration menu. This value determines the number kept. Zero disables the facility. Each retained request consumes 256 bytes and adds a small amount of extra processing overhead.

95. [Scripting] `ENABLED|DISABLED` (default: ENABLED)

    Enables and disables all scripting mechanisms. This includes subprocess CGI and CGIplus, DECnet-based OSU and CGI, and SSI directives that DCL subprocesses to provide <--#dcl -->, <--#exec -->, etc.

96. [SearchScript] path (no default)

    Specifies the URL-format path to the default query-string keyword search script. This path can subsequently be remapped during request processing.

    Example:

          [SearchScript] /ht_root/script/query

97. [SearchScriptExclude] list (no default)

    Provides a list of file types that are excluded from an implied keyword search. This is useful for client-side (browser-side) active processing that may require a query string to pass information. This query string would normally be detected by the server and if not in a format to be meaningful to itself is then considered as an implied (HTML <ISINDEX>) keyword search, with the approriate script being activiated.

    Example:

          [SearchScriptExclude] .HTA,.HTL

98. [ServerAdmin] string (no default)

    Specifies the contact email address for server administration issues. Included as a "mailto:" link in the server signature if [ServerSignature] is set to email.

99. [ServerAdminBodyTag] string (default: <BODY>)

    Specifies the HTML <BODY> tag for server administration and administration report pages. This allows some measure of control over the "look-and-feel" of page and link colour, etc.. for the administrator.

100. [ServerReportBodyTag] string (default: <BODY>)

     Specifies the HTML <BODY> tag for server error and other report pages. This allows some measure of site "look-and-feel" in page colour, background, etc. to be maintained.

101. [ServerSignature] `ENABLED|EMAIL|DISABLED` (default: DISABLED)

     The server signature is a short identifying string added to server generated error and other report pages. It includes the server software name and version, along with the host name and port of the service. Setting this to email makes the host name a mailto: link containing the address specified by the [ServerAdmin] directive.

102. [Service] string (no default)

     This parameter allows SSL, multi-homed hosts and multiple port serving to be specified, see 14.1 - SSL Configuration and 6.3 - Virtual Services.

103. [ServiceNotFoundURL] string (no default)

     Provides a default path for reporting a virtual host does not exist, see Unknown Virtual Server.

104. [SSI] `ENABLED|DISABLED` (default: DISABLED)

     Enables or disables Server Side Includes (HTML pre-processing).

105. [SSIaccesses] `ENABLED|DISABLED` (default: DISABLED)

     Enables or disables Server Side Includes (HTML pre-processing) file access counter.

106. [SSIexec] `ENABLED|DISABLED` (default: DISABLED)

     Enables or disables Server Side Includes (HTML pre-processing) DCL execution functionality.

107. [StreamLF] integer (default: 0 (disabled))

     Enables or disables automatic conversion of VARIABLE record format documents (files) to STREAM-LF, which are much more efficient with this server. The integer is the maximum size of a file in kilobytes that the server will attempt to convert. Zero disables any conversions. See File Record Format.

108. [StreamLFpaths] string (no default)

     (Retired in v5.3, mapping SET rule provides this now, see 10.3.5 - SET Rule).

109. [TimeoutInput] integer (default: 1)

     Number of minutes to allow a connection request to be in progress without submitting a complete request header before terminating it.

110. [TimeoutKeepAlive] integer (default: 5)

     Number of seconds a "Keep-Alive:" request connection is maintained after the conclusion of a request. Keep-Alive improves the overall performance of the server by reducing the number of discrete TCP/IP connections that need to be establiched.

111. [TimeoutNoProgress] integer (default: 2)

     Number of minutes to allow request output to continue without any increase in the number of bytes transfered. This directive is targeted at identifying and eliminating requests that have stalled.

112. [TimeoutOutput] integer (default: 10)

     Number of minutes to allow a request to be output before terminating it. This directive sets an absolute maximum time a request can continue to receive output.

113. [Track] `ENABLED|DISABLED` (default: DISABLED)

     Enables session (user) tracking.

114. [TrackMultiSession] `ENABLED|DISABLED` (default: DISABLED)

     By default the tracking cookie is discarded by the browser when it is closed. This setting directs the browser to keep it between sessions.

115. [TrackDomain] file.suffix (no default)

     User tracking applies only to the originating (virtual) server by default. This directive allows it to applied to all a particular domain's sites. Top-level sites (e.g. those in ".com", ".edu" etc.) would specify this as something like organization.domain (i.e. two dots), while other would use organization.group.domain (i.e. three dots).

116. [Welcome] file.suffix (no default)

     Specifies the names and order in which a directory is checked for home page files. If no home page is found a directory listing is generated.

     Examples:

           [Welcome]
           home.html
           home.htm
           home.menu
           home.mnu

[next] [previous] [contents] [full-page]