V6 Configuration

User directory $HOME/.v6R3

This directory is used by V6 to retrieve all files needed by services. There are several subdirectories
config/
Contains all configuration files. These files should be edited according to instructions given below
html/
Contains HTML files and templates. These files are copied (or linked) from the V6 distribution, but can also be edited by the user.
modules/
Contains modules (.cmo files) implementing services. These files are copied (or linked) from the V6 distribution.
doc/
Contains documentation

Configuration files

The first configuration file is modules.conf. It contains a list of modules to be loaded by v6 on startup. Each module (a .cmo file) implements a service that is an entity that you can instantiate to provide some functionalities, such as filters, local services (as in a Web server), proxies. The second configuration file is servers.conf. It specifies what kind of servers V6 must install. Each server is defined by

Service instances configuration

This file describes, for a given server, what services should be instantiated, with which configuration. It can also include other service instances configuration files. Finally, this file also defines the set of filters to be used by the server.
Service instance
Each service instance is of the form
service "Service Name" [with <config_file>]
meaning that you want an instance of Service Name with parameters as defined in config_file. For services that don't need configuration, the with part is omitted. In some cases, when the configuration is limited to a single parameter (such as the Node Lister service), the with part gives this parameter directly, as in
service "Node Lister" with /doc
Include files
You may include other files of the same nature as in
include other-file
Filter Sets
A named filter set is defined by
filterset AFilter = Filter1 | ... FilterN;
where each Filteri is either a filter name or a filterset name.
Filters for the server
Finally, the file must define the filters to be used by the server, as in
filters AFilter;
In this case, we told the server to use the filterset AFilter previously defined. We could also have written
filters AFilter | AnotherFilter;
There must be exactly one filters directive in the configuration of a server.

Available Services

Each service may implement filters, local services, and proxies, so there is no definite classification. However, most services have a most natural role, and we present them under this role.

Proxies

Primary Proxy (implemented internally)

Service name:
"PrimaryProxy"
Configuration file:
See proxy.conf for the syntax.
On-line configuration is available through /adm/config/primary proxies
Filters defined:
none
Local services defined:
none
Proxies defined:
according to configuration file.

Direct Proxy (implemented internally)

Service name:
"DirectProxy"
Configuration file:
none
Filters defined:
none
Local services defined:
none
Proxies defined:
for protocol HTTP/1.0

Filters

URL Normalisation (module norm.cmo)

Service name:
"URLNorm"
Configuration file:
none
Filters defined:
"URL Normalisation". This filters rewrites URL in requests into a canonical form, so that further filters and local services can easily perform string comparisons on URL.
It is recommended to put this filter first in the filter set for all servers.
Local services defined:
none
Proxies defined:
none

Proxy authentication (module pauth.cmo)

Service name:
"Proxy authentication"
Configuration file:
See pauth.conf for the syntax.
On-line configuration is available through /adm/config/Proxy authentication.
Filters defined:
"Proxy authentication". This filters requires that incoming requests contain a valid Proxy-Authorization header.
Local services defined:
/v6/auth, used to respond an authorization error when the request did not contain a valid authorization.
Proxies defined:
none

Redirection (module redirect.cmo)

Service name:
"Redirect"
Configuration file:
See redirect.conf for the syntax.
On-line configuration is available through /adm/config/Redirection
Filters defined:
"Redirect". This filter rewrites URLs in requests according to rules given in the configuration files.
Local services defined:
none
Proxies defined:
none

History (module history.cmo)

This module requires NDBM, and is thus not available under Windows.
Service name:
"History"
Configuration file:
none
Filters defined:
"Global history (NDBM)". This filter stores all requested URLs with dates of visit in the NDBM file $HOME/.v6R3/history.{dir, pag}. This database is also used by the indexing filter.
Local services defined:
none
Proxies defined:
none

On-the-fly full-text indexing (module indexing.cmo)

This module requires a modified version of the FFW indexer.
Service name:
"Indexer"
Configuration file:
none
Filters defined:
"Indexing". This filter passes all incoming documents of type text/plain and text/html to the FFW indexer.
Local services defined:
none. However, the user should make the ffwsearch CGI available through the CGI service.
Proxies defined:
none

Cache (modules cache.cmo cache_dbm_persist.cmo cache_logic.cmo cache_filters.cmo cache_ctl.cmo)

Service name:
"Cache"
Configuration file:
See cache.conf for the syntax.
On-line configuration is available through /adm/config/Cache(name), where name is the name of the configuration file.
Filters defined:
Cache find (name) for checking URLs from the cache
Cache save (name) for saving documents to the cache
Local services defined:
according to the configuration file, usually /cache.
Proxies defined:
none

Compression (module lowbw.cmo)

Service name:
"LowBW"
Configuration file:
none
Filters defined:
Compressing filter
This filter compresses all text document (MIME types text/*) and postscript documents application/postscript on the fly. This filter is useful when connecting from a low bandwidth line (e.g. dial-up).
Local services defined:
none
Proxies defined:
none

GIF de-interlacing (module deinterlace.cmo)

This filter requires the GigMom program.
Service name:
"Deinterlace GIF"
Configuration file:
none
Filters defined:
Deinterlace GIF
This filter de-interlaces images of type image/gif using the gifmom utility. This filter is useful when the client browser does not support interlaced GIFs.
Local services defined:
none
Proxies defined:
none

Local services

V6 Administration (implemented internally)

Service name:
"V6 Administration"
Configuration file:
none
Filters defined:
none
Local services defined:
/adm/services : list installed services on this server
/adm/filters : list installed filters on this server
/adm/proxies : list installed proxies on this server
/adm : node list
/v6 : credits
Proxies defined:
none

Engines (implemented internally)

Service name:
"Engines"
Configuration file:
none
Filters defined:
none
Local services defined:
/adm/engines : list engines status
Proxies defined:
none

On-line configuration (implemented internally)

Service name:
"Config"
Configuration file:
none
Filters defined:
none
Local services defined:
/adm/config : node lister
Proxies defined:
none
This service also provides an internal registration service so that other services can benefit from form-based on-line configuration.

Node lister (implemented internally)

Service name:
"Node Lister"
Configuration file:
none. Configuration information gives is a local url.
Filters defined:
none
Local services defined:
local url : node lister
Proxies defined:
none

GC Information (module gcinfo.cmo)

Service name:
"GCInfo"
Configuration file:
none
Filters defined:
none
Local services defined:
/adm/gc : displays memory usage
Proxies defined:
none

File system (module fs.cmo)

Service name:
"FS"
Configuration file:
See fs.conf for the syntax.
On-line configuration is available through /adm/config/localfiles.
Filters defined:
none
Local services defined:
according to the configuration file.
Proxies defined:
none

CGI programs (module cgi_ctl.cmo)

Service name:
"CGI"
Configuration file:
See cgi.conf for the syntax.
On-line configuration is available through /adm/config/cgis.
Filters defined:
none
Local services defined:
according to the configuration file.
Proxies defined:
none

Testing service (module echo.cmo)

Service name:
"Echo"
Configuration file:
none
Filters defined:
none
Local services defined:
/test/echo, echoes the request. The purpose is to watch headers send by browsers, and possible action of filters.
Proxies defined:
none