To open the configuration dialog of a host, go to the main console dialog and press the Configure button located on the same line as the host name in the Hosts dialog.
The following subsections describe all the host configuration options.
The General dialog contains the general configuration parameters of a host.
This dialog has the following elements:
Documents Path: The path of the web site files. If it is a relative path then it is considered as a subpath of the server root.
Port: The port on which the host waits for connections. Its default value is 80.
Host Names: This table contains the names associated with the current host. If the table is empty, the host is not associated with any name and answers to any request that reaches it on the configured port. A host can also have one or more names. A host name in this table can also be a pattern such as *.mysite.com. Refer to the "Patterns Format" appendix for more information about patterns.
Advanced Parameters: Press Edit... to open the operating system parameters dialog. This dialog contains the following fields:
Bind To IP: The IP address of the network interface that the host should listen on. When empty or set to *, the host listens for incoming connections on all available network interface (which the default and the recommended setting.)
Disable download resuming for: Download resuming (through the Range HTTP header) is disabled for requests which path matches one of the virtual paths listed in this table.
Disable caching negotiation for: Caching negotiation with the browser (through the If-modified HTTP headers) is disabled for requests which path matches one of the virtual paths listed in this table.
Note:: The Host Names table is only available in Abyss Web Server X2. Abyss Web Server X1 answers to all the requests that reach the main host on the configured port regardless of the host name used in the browser.
When a browser asks for a URL that does not contain a filename, the server checks for the existence of each index file in the mapped directory. If none is found and automatic directory indexing is enabled, a directory listing is generated and sent to the browser. Otherwise, an error is reported.
To edit, remove or add index filenames, use the Index Files table in the Server Parameters dialog.
Example 5-1. index.htm and index.html as index files
Assume that index.html and index.htm are set as index filenames. If a browser asks for http://<your host name>:<host port>/hello/, the server checks if <documents path>/hello/index.html exists. If not, it checks if <documents path>/hello/index.htm exists. If so, it is sent to the browser. If not, a listing of the directory <documents path>/hello/ is generated and sent to the browser if automatic directory indexing is enabled. If it is disabled, the server replies with a forbidden error message.
When a browser asks for a URL that does not contain a filename, and if the server does not find an index file in the mapped directory, it generates a directory listing.
This dialog contains the following elements:
Type: The type of listing that should be generated. It can be:
None: Disables directory listing. In this case, the server generates error 403 instead of a listing.
Standard: A listing based on a standard and fixed basic template is generated.
From template: A listing is generated according to the configured custom template.
From script: A listing is generated by the script configured in the Script field.
Scope: Press Edit... to configure the virtual paths where directory listing is permitted. The displayed dialog has the following items:
Order: The order that the server follows to check if directory listing is permitted for a virtual path. If it is set to Allow/Deny, listing is denied by default and is allowed only if the virtual path is in the Allow For list and is not in the Deny Access To list. If it is set to Deny/Allow, listing is allowed by default and is denied only if the virtual path is in the Deny For list and is not in the Allow For list.
Allow For: The list of virtual paths for which directory listing is allowed. The table can contain also path patterns. See the "Patterns Format" appendix for more information about patterns.
Deny For: The list of virtual paths for which directory listing is denied. The table can contain also path patterns. See the "Patterns Format" appendix for more information about patterns.
Hidden Files: The file names that are equal or that match with the listed file name patterns in this table are not included in the directory listings. See the "Patterns Format" appendix for more information about patterns. This table should only contain file names with no path references.
Template: Press Edit... to configure the custom template that is used to generate directory listings when the parameter Type is set to From template. See the "Custom Directory Listings" chapter for detailed information about creating custom templates.
Script: The virtual path of the script that that is used to generate directory listings when the parameter Type is set to From script. See the "Custom Directory Listings" chapter for detailed information about creating directory listing scripts.
Select Aliases in the advanced server configuration menu to display the aliases table.
If a URL matches an alias' virtual path, the web server maps it to the alias' associated real path.
Use the displayed table to edit, remove or add aliases.
Example 5-2. Relative real path
Assume that there exists an alias which virtual path is /images and which real path is web/artwork. If a browser asks for http://<your host name>:<host port>/images/logo.jpg, the server maps the requested URL to the file <server root>/web/artwork/logo.jpg. The <server root> is added because the real path was relative.
Example 5-3. Absolute real path
Assume now that there exists an alias which virtual path is /images and which real path is /usr/local/web/artwork. If a browser asks for http://<your host name>:<host port>/images/logo.jpg, the server maps the requested URL to the file /usr/local/web/artwork/logo.jpg. The difference with the previous example is that the real path is absolute and not relative.
With Abyss Web Server, you can override the standard error pages and replace them with yours. To do so, select Custom Error Pages in the advanced server configuration menu.
This dialog includes the following elements:
Custom Error Pages: This table contains the customized errors and their associated URLs.
Default Custom Error Page: The URL used when an error which code is not listed in the Custom Error Pages table occurs. If empty, Abyss Web Server generates automatically a standard error page.
An error URL can be:
Local: If it begins with a slash /, the URL is local to the web server.
Global: If it begins with http://, the URL is global and the web server informs the browser a redirect to that URL when an error occurs.
Note:: It is only relevant to set 4xx and 5xx error codes. Other error codes are handled internally in the web server and do not lead to displaying an error page.
Note:: When using a local URL that is a CGI script or an SSI page as a custom error page, the server operates an internal redirection and adds to the custom error page's environment variables all the faulty request environment variables prefixed with REDIRECT_. It adds also the special variables REDIRECT_STATUS and REDIRECT_STATUS_CODE which contain the status code of the faulty request. For more information, read "CGI environment variables" section in "CGI and ISAPI" chapter.
To configure CGI, ISAPI, and scripts execution, select Scripting Parameters in the advanced server configuration menu.
This dialog includes the following fields:
Enable Scripts Execution: Enable/disable CGI, ISAPI, and scripts execution.
CGI Parameters: Press Edit... to access the CGI parameters dialog that contains the following elements:
Error File: The path of the file where CGI scripts write error messages. You can leave it empty if you do not want to trace CGI scripts' errors.
CGI Execution Timeout: How long (in seconds) the server should wait for a CGI script to deliver content before aborting it.
ISAPI Parameters: Press Edit... to access the ISAPI parameters dialog that contains the following elements:
Error File: The path of the file where ISAPI extensions write error messages and where the server logs ISAPI activity when Debugging Level is set to a value other than None. You can leave it empty if you do not want to trace ISAPI errors.
Debugging Level: The type of information Abyss Web Server should log when an ISAPI is invoked. It should be set the None unless you are developing or debugging an ISAPI extension.
ISAPI Filename Extensions: This table contains the file name extensions that helps the server recognize if a file is an ISAPI or not. It is filled with dll by default. This table is used for example to know if a declared interpreter is an ISAPI extension or not.
The dialog contains also the following tables:
Interpreters: The server uses this table to know which interpreter to use to execute a script. The choice is based on the script's file name extension: an interpreter runs a script if the extension of that script matches with one of the associated extensions or extensions patterns of the interpreter.
Each interpreter is defined by its:
Interpreter: The path of the CGI executable or the ISAPI extension.
Arguments: The additional arguments that are used to run a CGI executable. These arguments are ignored if the interpreter is an ISAPI extension. Any occurrence of %1 or $1 in the arguments is replaced by the script file name when running the CGI interpreter.
Type: Some interpreters are not fully conforming to the CGI or the ISAPI specifications. By setting this parameter to the correct value, the server activates a special workaround mode to support them. PHP interpreters (both CGI and ISAPI version) and Shorthand ISAPI should have their Type set to PHP Style. ActiveState ActivePerl ISAPI should have its Type set to ActivePerl ISAPI. For any other interpreter, set Type to Standard.
Associated Extensions: The list of file name extensions that are to be handled by the current interpreter. You can also define an extension pattern. Refer to the "Patterns Format" appendix for more information about patterns. To associate more than a single extension with an interpreter, press Add... for every extension to declare it.
When adding or editing an interpreter, letting Use the associated extensions to automatically update the Script Paths checked makes Abyss Web Server automatically add/remove the pattern /*.ext in the Script Paths table for every added/removed extension ext in the Associated Extensions list.
Script Paths: Only files that are in one of the Script Paths or theirs subpaths, or that match with one of the Script Paths patterns can be processed as scripts. These paths are virtual paths. See the "Patterns Format" appendix for more information about patterns.
Custom Environment Variables: This table contains the variables you want to add to the execution environment of the CGI interpreters and scripts. Each variable is defined by its name and its value.
For more information about scripts, see "CGI and ISAPI" chapter.
To configure SSI (Server Side Includes), select SSI Parameters in the advanced server configuration menu.
This dialog includes the following fields:
SSI Error Message: The default error message that the server inserts when an error is detected while processing an SSI directive. If empty, an accurate error description with debugging information is generated.
SSI Time Format: The default time format string that the server uses to display times while processing SSI directives. If empty, the string %A, %d-%b-%Y %H:%M:%S %Z is used. For the complete reference of the time format string, read the description of <!-- #config timefmt="time_format" --> directive in "Server Side Includes" chapter.
Abbreviated File Size: The default way to display file sizes. If set to Yes, file sizes are displayed in KB or MB. Otherwise, they are displayed in bytes.
Process "#Exec cmd" directives: Enable/disable the execution of shell commands in SSI.
SSI Associated Extensions: If a file name extension matches with one of these extensions or extensions patterns, it is processed as an SSI file. Read the "Patterns Format" appendix for more information about patterns. By default, the server is configured to process SSI directives in files which extensions are shtml, shtm, or stm.
"#Exec cgi" Search Paths: If the argument of a #exec cgi directive is a relative path, the server will try to locate the file inside the directory containing the currently processed SSI file. If it is not found there, it will search for it inside the virtual paths listed in '#exec cgi' Search Paths.
For more information about SSI, refer to "Server Side Includes" chapter.
Select Users and Groups in the advanced server configuration menu to display the users and groups tables.
Use the displayed tables to edit, remove or add users and groups.
A user is defined by its name and its password. A group is defined by its name and its members which can be users and other groups.
Note:: The console hides automatically groups that can lead to circular references when editing a group.
To restrict and manage the access to paths in your web site, select Access Control in the advanced server configuration.
To edit, remove or add path access rules, use the displayed table.
The path access edition dialog contains the following fields:
Virtual Path: The virtual path which contents' access is to be restricted. It must always begin with a slash /. This field accepts also path patterns. In that case, the access rule applies to any virtual path that matches with the specified pattern. Refer to the "Patterns Format" appendix for more information about patterns.
Realm: A short description of the path's contents. It is prompted to users by the browser when it asks them for credentials.
Order: The order that the server follows to check if access is granted to a user. If it is set to Allow/Deny, access is denied by default and is allowed only if the user is in the Allow Access To list and is not in the Deny Access To list. If it is set to Deny/Allow, access is allowed by default and is denied only if the user is in the Deny Access To list and is not in the Allow Access To list.
Allow Access To: The list of users and groups for whom access is allowed.
Deny Access To: The list of users and groups for whom access is denied.
Note:: If Deny Access To list is empty and the order is Deny/Allow, access is granted to all declared users and groups.
To restrict and manage the access to paths in your web site, select Access Control in the advanced server configuration.
To edit, remove or add path IP Address Control rules, use the displayed table.
The IP address control rule edition dialog contains the following fields:
Virtual Path: The virtual path which contents' access is to be restricted. It must always begin with a slash /. This field accepts also path patterns. In that case, the access rule applies to any virtual path that matches with the specified pattern. Refer to the "Patterns Format" appendix for more information about patterns.
Order: The order that the server follows to check if access is granted to a client according to its IP address. If it is set to Allow/Deny, access is denied by default and is allowed only if the client IP address is in the Allow Access To list and is not in the Deny Access To list. If it is set to Deny/Allow, access is allowed by default and is denied only if the client IP address is in the Deny Access To list and is not in the Allow Access To list.
Allow Access To: The list of IP addresses or IP address ranges for which access is allowed. Refer to "IP Addresses and Ranges Format" appendix for more information about the IP addresses and ranges.
Deny Access To: The list of IP addresses or IP address ranges for which access is denied. Refer to "IP Addresses and Ranges Format" appendix for more information about the IP addresses and ranges.
Note:: If Deny Access To list is empty and the order is Deny/Allow, access is granted to any client.
Select Logging in the host configuration menu to display the Logging options.
The dialog contains the following fields:
Log file: The path of the log file. If it is relative, it is considered as a subpath of the server root. If empty, logging is disabled.
Extended logging format: If checked, the referrer and the user agent are added to each log line.
Do not log requests for: This table contains the virtual paths for which logging is disabled. A virtual path must begin with a slash /. It can also be a path patterns. In such a case, the logging is disabled for any virtual path that matches with the specified pattern. Refer to the "Patterns Format" appendix for more information about patterns.
Do not log requests from: This table contains the IP addresses or IP address ranges for which logging is disabled. Refer to "IP Addresses and Ranges Format" appendix for more information about the IP addresses and ranges.
Anti-Leeching is a system that prevents web pages not belonging to your host from referring or linking to materials available in your web site. Leeching is also known as cross-site linking.
When a request is sent to the host, and if its virtual path is in the configured Anti-Leeching Scope, the server checks if the Referer header in the request matches with the current host or with one of the host names or the patterns in the Allow links from table. The Referer header is usually set by the browser to indicate to the server from which web page the current URL was requested (or linked to.) If it does not match, the request is considered as a leeching attempt and is redirected to the URL configured in the Redirect to URL parameter.
The dialog contains the following fields:
Anti-Leeching Scope: Any request which virtual path is in or matches with one of listed virtual paths in this table is protected against leeching.
Redirect to URL: A request that is considered as a leeching request is redirected to this URL. It can be a full URL referencing another web site or a virtual path pointing on a document in the current host. If this field is empty, the server returns error 403 to the client.
Refuse requests with no "Referer" header: If checked, the system adopts a strict behavior and will consider requests that do not contain a Referer header as anti-leeching requests. It is not recommended to check this parameter since it may prevent browsers configured to not send the Referer header from viewing documents in your host.
Allow links from: This table contains the names of hosts that are allowed to link to files and materials in the current host and that are not monitored against leeching. A host name in this table can also be a pattern such as *.mysite.com. Refer to the "Patterns Format" appendix for more information about patterns.
With Abyss Web Server, you can have fine control on the bandwidth every host uses. You can even control the bandwidth allowed for a particular file or script, or for the contents of a directory.
The Bandwidth Limits dialog has the following fields:
Enable Bandwidth Limits: Enable/Disable bandwidth throttling for the current host.
Limits: This table contains the bandwidth limits that are configured for this host.
Each limit is defined by its:
Scope: This table contains the virtual paths for which this bandwidth limit applies. A virtual path must begin with a slash /. It can also be a path patterns. In such a case, the limit applies for any virtual path that matches with the specified pattern. Refer to the "Patterns Format" appendix for more information about patterns.
Maximum Total Bandwidth: The amount of output bandwidth that the host should not exceed for all the requests which virtual path matches with one of paths listed in the Scope table. If this field is empty or set to 0, it is considered as unlimited.
Maximum Bandwidth Per IP Address: The total amount of output bandwidth that the host not exceed for all the requests made by a single IP address and which virtual path matches with one of paths listed in the Scope table. If this parameter is empty or set to 0, it is considered as unlimited.
Note:: To set a limitation on the bandwidth of the whole host, add a bandwidth limit with / as its scope.
Note:: If a the virtual path of a request matches with more than a single bandwidth limit, Abyss Web Server will respect all of them.
The Statistics dialog displays a set of statistics on the host's activity since the server installation or the last host statistics reset:
Uptime since Last Restart: The time during which the host was up since the last server start or restart. If the host is stopped, its value is zero.
Total Hits: The total number of requests processed by the current host.
Error Hits: The number of requests targeting the current host that resulted in an error.
HTML Hits: The number of requests the host replied to by a document which MIME type was text/html.
Image Hits: The number of requests the host replied to by a document which MIME type starts with image/.
Not Modified Hits: The number of requests for which the host detected that the requested document has not changed.
Transferred Data: The total size of the payload sent by the current host to the clients.
The host statistics are refreshed automatically every 10 seconds. You can also press Refresh for immediate refreshing. They can be reset by pressing Reset.
Note:: The statistics are preserved when the server is shut down or when the host is stopped.