Alias
Description |
Map URLs and leading URL portions to file
system locations.
|
Synopsis
|
Alias urlPortion destinationPath |
Context |
Default server, Virtual host
|
Example
|
Alias /manual
/ftp/manualDirectory
|
The Alias directive allows URLs to refer to documents
that are stored outside the Document Root. The
urlPortion of the request URL will be mapped onto the
nominated
destinationPath which may be a
file or a directory anywhere on the system.
It is an easy mistake to have mismatched trailing slashes. If you
have a trailing slash on the
urlPortion
ensure you also have one on the
destinationPath. AppWeb will warn you if you have
mismatched trailing slashes.
DocumentRoot
Description |
Directory containing the documents to be
published for the default server. |
Synopsis
|
DocumentRoot directoryPath |
Context |
Default server, Virtual host
|
Example
|
DocumentRoot /var/www |
The DocumentRoot directive defines the directory
containing the documents that will be served by the default
server. The
directoryPath should not have
a trailing slash.
ErrorDocument
Description |
Define an error document to be served when a
HTTP error is encountered |
Synopsis
|
ErrorDocument code URL |
Context |
Default server, Virtual host
|
Example
|
ErrorDocument 404 /notFound.html
|
The ErrorDocument directive configures a specific web
page to be served whenever a given HTTP error code is
encountered.
ExtraPath
Description |
Control extra path processing for a
request |
Synopsis
|
ExtraPath on|off |
Context |
Default server, Virtual host,
Location
|
Example
|
<Location /esp>
ExtraPath on
</Location>
|
The ExtraPath directive explicitly controls whether extra
path processing is performed on a URL. Extra path processing is
where the URL portion after an Alias match and script name is
stripped and stored in the PATH_INFO and PATH_TRANSLATED
variables in the request[] variable array. The ESP handler by
default, does not do extrap path processing. Use this directive
to enable extra path processing for ESP if you require it.
In the example above, the URL
http://site/esp/myScript.esp/extra/path
would have the /extra/path stripped off and stored in
PATH_INFO.
Group
Description |
Account group that AppWeb will run as. |
Synopsis |
Group accountGroup |
Context |
Default server
|
Example
|
Group nobody |
The Group directive specifies the account group in which
AppWeb will be a member when running.
WARNING: It is extremely dangerous to run AppWeb
as Group "root" or "administrators".
It is important that you run AppWeb with the lowest system
privilege that will get the job done. If any application is
compromised, including AppWeb, then the system will be safest if
the compromised application has as few privileges as
possible.
When AppWeb starts it initially runs as root or administrator and
then changes to the user account defined in the AppWeb
configuration file by the User directive.
As installed, AppWeb will be configured to run using the
nobody account on Linux and in the
guest account on Windows.
HttpChunking
Description |
Control use of HTTP 1.1 chunked
transfers |
Synopsis
|
HttpChunking [on|off] |
Context |
Default server, Virtual host
|
Example
|
HttpChunking off
|
The HttpChunking directive enables or disables the use of HTTP
1.1 chunked transfers. By default, chunking is enabled. Chunked
transfers will normally be used only when the AppWeb handler
cannot determine the length of the output response.
Chunking may also be controled on a per-request basis by the
use of a custom client header. Using the X-AppWeb-Chunk-Transfer
header will enable or disable chunked transfers for a single
client request. For example:
GET /bigFile.esp HTTP/1.1
X-AppWeb-Chunk-Transfer: off
This will disable the use of chunked transfers for this request. When
AppWeb cannot determine the length of the output response to a request and
chunking is disabled, AppWeb will close the connection to signify the end of
the request. If chunking is enabled, the response will be broken into chunks
and the connection may remain open for subsequent requests.
Listen
Description |
IP address and port on which to listing for
incoming requests. |
Synopsis |
Listen [IP address:]portNumber |
Context |
Default server, Virtual Host
|
Examples
|
Listen 80
Listen 205.162.77.64:7777
|
The Listen directive specifies the IP endpoints on which
AppWeb will listen for incoming HTTP requests. If you specify
only the portNumber and omit the
IP address, AppWeb will listen on all
network interfaces including the loop-back adaptor. Multiple
Listen directives may be given and AppWeb will listen on all the
specified endpoints.
If you are using virtual hosts, you must still specify a Listen
directive for the endpoint that the virtual host will serve. It
makes no difference where you specify a Listen directive. in the
configuration file. For compatibility with Apache, you should
specify your listen directives outside any VirtualHost
blocks.
ListenIF
Description |
Network interface and port on which to
listing for incoming requests. |
Synopsis |
ListenIF [Interface:]portNumber |
Context |
Default server, Virtual Host
|
Examples
|
Listen eth0
Listen eth0:0:80
Listen eth0:80
|
The ListenIF directive specifies the network inteface on
which AppWeb will listen for incoming HTTP requests. If you
specify only network interface, the port number will default to
port 80. The network interface may include a virtual IP
specifier. This typically includes a colon followed by a virtual
interface number. If such a virtual IP interface is used, a port
number must be specified. Otherwise the virtual interface number
will be interpreted as the port number. Multiple Listen
directives may be given and AppWeb will listen on all the
specified endpoints.
If you are using virtual hosts, you must still specify a Listen
directive for the endpoint that the virtual host will serve. It
makes no difference where you specify a ListenIF directive in the
configuration file. For compatibility with Apache, you should
specify your listen directives outside any VirtualHost blocks.
Protocol
Description |
HTTP protocol version to use |
Synopsis |
Protocol [HTTP/1.0 | HTTP/1.1] |
Context |
Default server
|
Example
|
Protocol HTTP/1.0 |
The Protocol directive specifies the HTTP protocol
version to respond with. If the Protocol directive specifies
HTTP/1.0, a browser may issue requests using either HTTP/1.0 or
HTTP/1.1. However, the response will always be downgraded to use
HTTP/1.0 without Keep-Alive support.
If the Protocol directive specifies HTTP/1.1 and a browser makes
a request using HTTP/1.0 it will not be processed and the client
will receive an error.
NOTE: this directive is proprietary to AppWeb and is not an
Apache directive.
Redirect
Description |
Redirect requests to a new target. |
Synopsis |
Redirect [status] oldUrl newUrl |
Context |
Default server, VirtualHost,
Directory
|
Example
|
Redirect temp /pressRelease.html
/fixedPressRelease.html
Redirect permanent /acme.html
http://www.coyote.com/acme.html
Redirect 410 /membersOnly
|
The Redirect directive translates requests to a URL into
a new URL. The
old URL may be a full URL
or it may be a leading portion of a URL. Typical use for URL
portions is to redirect all requests below a directory to another
directory or site.
The
new URL may be local to the system,
in which case it will begin with a "/" character. Or it may be on
another system, in which case it will begin with "http://". In
both cases, the user will receive a HTTP redirection response
informing them of the new location of the document.
The
status argument may be either a
numeric HTTP code or it may be one of the following symbolic
codes:
- permanent -- Permanent redirection. HTTP code 301.
- temp -- Temporary redirection. HTTP code 302
- seeother -- Document has been replaced, see other document.
HTTP code 303.
- gone -- The resource has been remove. HTTP code 410. The
newURL argument is ignored.
ScriptAlias
Description |
Map a URL to a destination and enable CGI
script processing for that location. |
Synopsis |
ScriptAlias urlPath destinationPath |
Context |
Default server, Virtual Host
|
Example
|
ScriptAlias /cgi-bin/
/var/myHost/cgi-bin |
The ScriptAlias directive maps a URL to a file system
path and enables the processing of CGI scripts in that directory.
The ScriptAlias directive is a convenient short-hand and is
equivalent to the following directives:
<Location /cgi-bin>
Alias /cgi-bin/ "/var/myHost/cgi-bin/"
SetHandler cgiHandler
</Location>
SECURITY WARNING: Make sure you locate your CGI script
directories outside the DocumentRoot.
ServerName
Description |
Define the fully qualified hostname and port
number for the server to use. |
Synopsis |
ServerName hostName |
Context |
Default server, Virtual Host
|
Example
|
ServerName www.acme.com |
The ServerName directive allows the server to create a
HTTP address for itself to use when creating redirection URLs.
The
hostName should be a fully qualified
domain name with port number if using a port other than port
80.
When used inside Name VirtualHost blocks, the ServerName
directive specifies the name that must be specified in the "Host"
HTTP header.
ServerRoot
Description |
Directory containing the core AppWeb
installation files |
Synopsis |
ServerRoot directoryPath |
Context |
Default server |
Example
|
ServerRoot /etc/appweb |
The ServerRoot is by default
/etc/appweb on Linux and
C:\appweb on Windows. It is important that the server
root directory be protected against modification by other users.
It should be owned by either
root or
administrator and should only be writable
by these users.
SessionAutoCreate
Description |
Specifies if client session state stores
should be automatically created. |
Synopsis |
SessionAutoCreate on|off |
Context |
Default server, Virtual Host |
Example
|
SessionAutoCreate on |
Client session state can be used to preserve state
information for a given client across individual HTTP requests. A
client session is represented by a session ID that is stored in a
cookie on the clients system. Once created, all requests from the
client supply the session ID cookie and the AppWeb server uses
that to retrieve the state variable store for that client.
If SessionAutoCreate is not enabled, sessions may still be used
but each web page will need to activate session handling. For
example: ESP pages should call useSessions at the top of the
page.
TraceMethod
Description |
Control the Trace HTTP method |
Synopsis |
TraceMethod on|off |
Context |
Default server
|
Example
|
TraceMethod on
|
The TraceMethod directive controls whether the TRACE HTTP
method is enabled or not. Starting with version 2.2.2, the Trace
method is disabled by default as it can represent a security
risk. Use "TraceMethod on" to enable the trace method.
TypesConfig
Description |
Specify the location of the Mime types
file |
Synopsis |
TypesConfig directoryPath |
Context |
Default server
|
Example
|
TypesConfig
/etc/appweb/mime.types
|
The TypeConfig directive specifies the location of the
MIME types files. This file contains the mappings from file
extensions to content types and is used by AppWeb to determine
the document content type which is included in the HTTP response
back to the browser. The MIME types file included with AppWeb
follows the standard specified by IANA.
The directory path may be an absolute path or it may be relative
to the ServerRoot directory.
The MIME types file has lines of the format:
ApplicationType [extensions]...
Feel free to modify the default mime types file, but be careful
to save it as it will be overwritten should you upgrade
AppWeb.
User
Description |
The user account that AppWeb will run
as. |
Synopsis |
User accountName |
Context |
Default server
|
Example
|
User nobody |
The User directive instructs AppWeb to change accounts to
run as the specified
accountName.
The User directive can only be used if AppWeb is started using a
privileged account such as root. Normally AppWeb is started using
the account
root or
administrator and thereafter it changes to run with
less privilege using the specified
accountName.
The
accountName chosen for
the User directive should have minimal privilege and should not
be able to read or modify any files outside the DocumentRoot or
specified Alias directories.
SECURITY WARNING: do not run as
root or
administrator. Omitting the User
directive can have the same effect as using a "User root"
directive.