License
This the license number that you receive after registering
your software. Do not comment out or remove this line!
Example:
License ED 94 3C C0 14 B1 AB 57 6E 12 E8
BindAddress
The server can either listen on for connections to every
IP address, or just one IP address of the server machine.
If the address is '*', then the server will listen for
connections on every IP adress, otherwise it will only listen
on the IP address specified. This option can be used as
the method for supporting virtual hosts.
Example:
BindAddress *
ServerPort
This is the TCP/IP port number to listen on for client requests.
Port 80 is the standard for HTTP. If you want to avoid having
to specify port number for each connection to your server (like
http://www.your.site:8080/), leave the default.
Example:
ServerPort 80
User
The name and password of the user to run httpd as. If you specify
"-E" flag after user name, the password that follows must be
an encrypted password. To obtain the encrypted value of password,
load HTTPD.NLM with "-E" flag, then single word to encrypt.
Leaving both of the equivalent entries below commented causes
the server to run with the SUPERVISOR/ADMIN privileges.
If you uncomment any of the entries, you must create the account
"HTTPD" with the password "SECRET_WORD".
Example:
User httpd secret_word User httpd -E 61A3B9FAC6DA992A89DA9B75
ServerName
This directive allows you to set a host name which is sent back
to clients for your server. You cannot just invent host names
and hope they work. The name you define here must be a valid DNS
name for your host. If you don't understand this, ask your network
administrator.
In any case change the example below - if you are not going to use
DNS aliases, use your server's fully qualified domain name.
Example:
ServerName www.cpu.lublin.pl
ServerAdmin
Your address, where problems with the server should be e-mailed.
Change the example to the address at which you receive your mail.
This directive is used when the server is generating error
messages. You can use your own messages, of course.
Example:
ServerAdmin webadmin@www.cpu.lublin.pl
Include
This allows you to include an external confguration file
at start-up. This way you can break HTTPD.CFG file into
convenient chunks, e.g. have a separate file for aliases and
redirects, updated (half)automatically and included into
the main configuration file.
Example:
Include sys:system/httpd/aliases.cfg
Timeout
The number of seconds before requests and responses time out and
are abandoned. The compiled default is 120 seconds. It is safer
to leave it so.
Example:
Timeout 120
LongNamesConversion
Setting the directive to YES causes document requests with
a non-DOS name to be automatically shortened to a valid DOS name
with maximum 8 characters of name and 3 characters of extension.
This may save you some trouble when moving documents from a UNIX
web server to the NetWare web server; you will not have to change
the embedded links in the document to reflect the shortened path
names. We strongly encourage you to keep the example below.
Example:
LongNamesConversion YES
XtmlEqualsHtml
Setting the directive to YES will cause the server to
automatically look for an *.XTM file when a request for an *.HTM
file of the same name fails. The parsed file, if present,
will be used as a default fallback.
Example:
XtmlEqualsHtml YES
MetaHeaders
This directive allows you to enable the sending of HTTP headers
specified in the <META> element within the <HEAD> of
the document. This may be used e.g. in implementing Netscape's
client-pull.
For this to work, the file must be a parsed one, i.e. saved with
the *.XTM extension.
Example:
MetaHeaders YES
ipallow/ipdeny
These keywords can be used to build an IP access list filter
to restrict access to the web server. The keyword should be
followed by an IP address to allow or deny access. You can
replace any octet of the address with the '*' wildcard character
to permit or deny entire networks or subnets. The server starts
at the top of the list and compares the connecting address with
each line in the access list until a match is found or the end
of the list is reached. If no match is found, the connecting
system is allowed access.
In the below example, all hosts on the 193.59.54.* network exept
193.59.54.4 are denied acess. All other networks are allowed
access.
Be careful, the order of the directives is significant
(if a machine is found under ipallow, ipdeny will not be checked;
if you change the order of first two entries in the example,
193.59.54.4 will NOT be able to connect).
Example:
ipallow 193.59.54.4 ipdeny 193.59.54.* ipallow *.*.*.*
OpenHiddenFiles
Setting the option to YES causes HTTPD to open and serve files
with the system attribute "hidden" set. Otherwise, a hidden file
is never accessed by the server.
Example:
OpenHiddenFiles NO
AccessLogFile
This sets the name of the file that HTTPD writes information
regarding HTTP protocol. Commenting out the AccessLogFile line
will turn off the access log file. No automatic trimming of the
access log file is done. The system administrator must check it
occasionally and make sure it does not fill up the file system.
Example:
AccessLogFile sys:system/httpd/access.log
LogFile
This sets the name of the file that HTTPD writes debug information
to. If HTTPD is loaded with the -X flag then the system will fill
the log file with much debug info. Commenting out the LogFile line
will turn off the log file. No automatic trimming of the log file
is done. The system administrator must check it occasionally
and make sure it does not fill up the file system.
Example:
LogFile sys:system/httpd/httpd.log
ServerConsole
Set this option to YES if you want log messages sent to the server
Commenting out the entry has the same effect as setting it to YES.
Example:
ServerConsole YES
ScreenDebugLevel
If you define log file name and server console on, you may change
the amount of information the server writes to screen.
Commenting out the entry has the same effect as setting it to 5.
Example:
ScreenDebugLevel 5
FileDebugLevel
If you define log file name, you may change the amount of debug
information the server writes to the file.
Commenting out the entry has the same effect as setting it to 5.
Example:
FileDebugLevel 5
TempDir
This is the temporary directory the server will use.
Example:
TempDir sys:system/httpd/temp/
MaxThreads
This defines maximum number of threads the server should spawn
in order to process HTTP requests. Minimum number of threads is 8,
the default value is 16. Note that each running thread takes up to
25 KB of NetWare server's memory.
Example:
MaxThreads 16
PageCntFile
This is the name of the file in which access counts for files
in a given directory are stored. If you do not comment this
directive out, it is enough to create manually a zero-length
file of that name in a directory.
By the way: to create a zero-length file in a batchable way under
DOS, you can e.g. use the following command: 'REM > $DIR.LOG'.
Then you can retrieve hit counts from the file embedding SSI
directives in your HTML documents.
Example:
PageCntFile $dir.log
AddType
This directives allows you to tweak MIMETYPE.CFG without actually
editing it, or to make certain files to be certain types.
The format is: AddType type/subtype ext1 ext2 ...
Example:
AddType text/plain doc bat AddType application/octet-stream com exe sys AddType text/x-server-parsed-html xtm AddType application/x-httpd-cgi nlm AddType application/x-perl pl
DefaultType
This is the default MIME type for documents which the
server cannot find the type of from filename extensions.
Example:
DefaultType text/plain
DocumentRoot
This option defines the path to be prepended to every HTTP file
request. This protects you from HTTP clients getting into other
directories on the NetWare server.
Example:
DocumentRoot sys:htdocs
HomeDir
HomeDir is the directory on the server where user home directories
are located. It may used to determine the location of personal
web pages. You can create a directory for them under the
DocumentRoot tree, but if you prefer another location or the
system USERS directory, this directive can make a given directory
perform the role of a "local DocumentRoot".
Pages of individual users can then be accessed using the URL
notation "http://www.your.domain/~someuser/".
Example:
HomeDir sys:htdocs/users
UserDir
This is the name of the directory which is appended onto a user's
home directory under HomeDir tree if a ~user request is recieved.
This can be superfluous if you decide to have personal pages under
the main DocumentRoot (since in that case URLs like "http://www.your.domain/users/someuser/"
will suffice), but if you use the existing NetWare user directory,
only the contents of the directory specified here will be served,
the rest of the user's account being inaccessible for the server.
Example:
UserDir pub_html
WelcomePage
This is the file automatically sent when a HTTP client requests
the '/' document. This is particularly useful when combined with
a www.your.domain DNS alias for the file server. It makes it much
easier for net.surfers to locate your home page. If this option
is commented out and the ListDirs option is turned on, then
requesting the '/' document will cause a file listing of the
DocumentRoot directory to be sent. By default, this is just
index.htm, i.e. DirectoryIndex is duplicated.
However, this can be set to anything you like, irrespective of
DirectoryIndex, so that you can have a file like intro.htm served
as the index of the DocumentRoot with index.htm as the default
DirectoryIndex. Note that a full pathname should not be used.
DocumentRoot is automatically prepended to the WelcomePage name.
Example:
WelcomePage index.htm
DirectoryIndex
The name of the file or files to use as a pre-written HTML
directory index. Separate multiple entries with spaces. The server
after a request for a directory index will scan the directory for
the specified files.
Example:
DirectoryIndex index.htm index.xtm
ListDirs
Setting this to YES allows HTTP clients to request a listing
of files in any directory under the DocumentRoot. You may wish
to set this to NO if you prefer restricting web browsers to using
the embedded links in your documents for navigating your files.
Please note that in such a case some of the overview pages will
no longer remain functional.
Example:
ListDirs YES
FileIcon
This directive alllows you to specify icons to appear in directory
listings for files of a given MIME type or extension. Using the
set of public domain icons by Kevin Hughes
and Andrew Polyakov you can customize the listings to your
personal taste. Check
http://www.eit.com/goodies/www.icons/ for details
on the suggested use of the icons.
Additional DirIcon and ParentIcon directives specify icons
to appear beside a directory in the listing and the parent
directory.
Example:
FileIcon application/zip /icons/compress.gif FileIcon application/* /icons/binary.gif FileIcon audio/* /icons/sound.gif FileIcon *.gif /icons/image2.gif FileIcon image/* /icons/image.gif FileIcon text/* /icons/text.gif FileIcon video/* /icons/movie.gif FileIcon * /icons/unknown.gif DirIcon /icons/dir.gif ParentDirIcon /icons/back.gif
ReadmeName, HeaderName, DescriptionName
These directives allow you to further enhance the display
of directory listings. The text files specified below will appear
as the header above the listing (HeaderName), as a readme file
below the listing (ReadmeName), and as comments for individual
files in the listing (single lines from DescriptionName file).
The DESCRIPT.ION file is very straightforward in format - it's
just a filename followed by a spece-separated comment in each
line. It should be relatively easy to produce files like that
(semi)automatically.
Example:
HeaderName header.txt ReadmeName readme.txt DescriptionName descript.ion
IndexIgnore
This directive lets you specify path masks for files that
are not to be listed in directory listings - used most often
as in the example below, i.e. to prevent from appearing files
that themselves modify directory listings (README.TXT, HEADER.TXT,
DESCRIPT.ION, $DIR.LOG).
The line below uses '*' symbols to stress that any path ending
in the specified way is inaccessible. You could also put
the restriction on selected directories, writing i.e.
'IndexIgnore */yawn/readme.txt' or something similar).
Example:
IndexIgnore */readme.txt */header.txt */descript.ion IndexIgnore */$dir.log
Signature
This is the name of a file that can be attached to the end
of every document on your server. You can use this directive
to give all pages a common copyright notice, a corporate menu-bar
or something of that sort. Plase note that it should be a valid
HTML file ending, and accordingly all other files should be
written to fit the situation.
Example:
Signature sys:htdocs/sig.htm
Alias
Add here as many aliases as you need (with no limit). Aliases are
essentially shorthand conventions for frequently used directories.
Unlike Redirects, they do not send error "301 Moved" and a new
Location header, but send the requested, aliased file under the
DocumentRoot directly to the client. The format of this directive
is: Alias fakename realname. NOTE: if you remove the below alias,
you will lose all images on these pages (the directory /img/ used
in image links is in fact aliased to sys:/htdocs/images/...
Example:
Alias /img/ /images/
ScriptAlias
This directive is similar to an Alias, but it serves a different
purpose - the directories where scripts reside should not for
reasons of security be accessible under the DocumentRoot. Files of
the MIME type 'application/x-httpd-cgi' and 'application/x-perl'
thus are put into a separate directory, which, beside that, does
not produce directory listings. Actually, scripts outside the
directory will not be treated as scripts at all.
Example:
ScriptAlias /cgi-bin/ sys:system/httpd/cgi-bin/
Redirect
Example:
This directive allows you to tell clients about documents which
used to exist in your server's namespace, but do not anymore,
or about documents you want to reach at other sites. The Redirect
entry sends a "301 Moved" error status and a new Location header
specifying the new location of the resource. This allows you to
tell the clients where to look for the relocated/remote document.
Format: Redirect
Redirect /cgi-bin/finger http://www.lublin.pl/cgi-bin/finger/finger
ErrorDocument
Customizable error responses come in two flavors: plain text
or external file with NetWare-style path name. The below example
redefines standard responses on errors 500 and 501. There should
be just ONE quote mark after the error code in first case (and
none at the end of the message): it serves as a separator and does
not get output to the client.
Example:
ErrorDocument 500 sys:htdocs/examples/errors/500.htm ErrorDocument 501 "<H1>501 Not Implemented</H1>
[Home -
Overview -
Downloading -
Installation -
Configuration -
Implementation notes -
License -
Registering -
Contacts]