2 The Options

Note: Arguments that are not scopable are denoted with a [N] in their description.

Core Parameters:

services
[N]A list of services you want to load
accessLog
File path where the access log will be written. Defaults to '/usr/local/skunk/var/log/access.log'.
errorLog
File path where the error log will be written. Defaults to '/usr/local/skunk/var/log/error.log'.
regularLog
File path where the regular log will be written. Defaults to '/usr/local/skunk/var/log/sw.log'.
debugLog
File path where the debug log will be written. Defaults to '/usr/local/skunk/var/log/debug.log'.
pidFile
[N]File path where a file will be written whose sole contents is the parend process id. Defaults to '/usr/local/skunk/var/run/sw.pid'.
stampEveryLine
If you don't want every line of a multiline log entry to be prefixed with a logstamp (the default behavior), set this to a false value. Default is 0.
initialDebugServices
[N]List of services that are INITIALLY set to be debugged. To determine what services are being debugged at runtime, use SkunkWeb.ServiceRegistry.getDebugServices(). Default is the empty list.
numProcs
[N] The number of child processes to be started. This is the max number of concurrent page views (although if Apache sits in front, it may look like quite a few more). Default is 15.

maxKillTime
[N] The number of seconds that the parent will wait after having sent SIGTERM to the children before killing the children off with SIGKILL during a shutdown or restart. Default is 5.
pollPeriod
[N] You probably don't need to change this, but it's the interval at which the parent looks for corpses that need to be buried and replaced with new, living kids. Default is 5.
maxRequests
[N] The number of requests that a child server process will handle before committing suicide and having the parent respawn. This is mainly to make sure we aren't leaking memory, but you can probably set it to something a bit higher. Default is 256.
userModuleCleanup
[N] For development, this will cause changes to sitelibs to be reflected on the next request, without a bounce of the server. Turn it off for production environments. Default is 0.

Parameters for the ae_component service:

documentRoot
The directory that is used to hold templates, images, msgcats, comps, etc. Default is '/usr/local/skunk/docroot'.
compileCacheRoot
The location on disk of where the compile cache should reside. This should be a local filesystem. Default is '/usr/local/skunk/cache'.
useCompileMemoryCache
Store compiled templates and Python code in memory. Increases the memory footprint a bit, but reduces I/O a bit and CPU utilization a bit as it doesn't have to load and deserialize the compiled images from disk.
componentCacheRoot
The location of the component cache on disk. Can be the same as the compileCacheRoot. Default is '/usr/local/skunk/cache'.
failoverComponentCacheRoot, numServers, failoverRetry
If using NFS (or other shared filesystem) for the component cache, set numServers to the number of shared filesystems that the component cache will be on, failoverRetry to the number of seconds to wait before trying the shared filesystem again (it should be soft mounted!!!), and failoverComponentCacheRoot to an area on local disk to use as a temporary replacement for the server that failed in the meantime. If numServers is 0, the failover* options are ignored. Default for numServers is 0, the default for failoverComponentCacheRoot is '/usr/local/skunk/failoverCache' and the default for 'failoverRetry' is 30.
mimeTypesFile
[N] The location of your mimetypes file. Default is '/usr/local/skunk/etc/mime.types'
componentCommentLevel
Level of commenting to be inserted in HTML documents when components are entered/exited.
0
no commenting (default)
1
only show component name in comments
2
show component name and argument names
3
show component name, argument names and values
Default is 0

Parameters for the aecgi service:

AecgiListenPorts
[N] List of ports (specified as string(s) of either TCP:hostname:portnumber or UNIX:filepath:octal_socket_permissions) that the SkunkWeb server will listen for AECGI protocol (the protocol used by mod_skunkweb) connections . Default is ['TCP:localhost:9888'].

Parameters for the fcgiprot service:

FCGIListenPorts
[N] List of ports (specified as string(s) of either TCP:hostname:portnumber or UNIX:filepath:octal_socket_permissions) that the SkunkWeb server will listen for FastCGI protocol. Default is ['TCP:localhost:9999'].

Parameters for the pars service:

parFiles
List of par files that should be used in lieu of the docroot. Defaults to [].
parFallthrough
Boolean specifying that we should fall through to the documentRoot if a file we're looking for doesn't exist in the current list of parfiles. Default is 1.

Parameters for the basicauth service:

basicAuthName
The name showed in the popup box where the user is asked to authenticate themselves. Default is None.
basicAuthFile
The file (created using the swpasswd tool) that is used to validate the authentication credentials given by the user. Default is None.
If both of these are None, no authentication is done.

Parameters for the httpd service:

lookupHTTPRemoteHost
[N] If you set this to a true value, the CGI environmental variable HTTP_REMOTE_HOST will always be set, involving a potentially costly DNS lookup. If you don't want it, you can still use HTTP_REMOTE_ADDR and perform the lookup on demand. Default is 0 (no lookup and no HTTP_REMOTE_HOST variable in the environment). N.B. This only affects the httpd service, and has no bearing on environmental variables SkunkWeb receives from Apache or elsewhere. Default is 0.
HTTPKeepAliveTimeout
[N] How long (in seconds) the http keepalive timeout should be between HTTP requests. Default is 15.
HTTPListenPorts
[N] List of port(s) for the httpd service to listen on (specified in the same way as the AecgiListenPorts socket is). Default is ['TCP::8080'].

Parameters for the requestHandler service.

DocumentTimeout
The time (in seconds) allowed for a request to complete before timing it out (by raising an exception). Default is 30.
PostResponseTimeout
The amount of time (in seconds) allowed for the PostRequest hooks to execute before timing them out. Default is 20.
job
The job that the server should perform. TEMPLATING_JOB and REMOTE_JOB are likely to the only ones you need to specify among those available in the core services, and they are pre-imported into the namespace in which the sw.conf file is executed. It is essential that the sw.conf file specify this constant, as no default is specified anywhere else. For more information about job strings, see the developer's manual.

Parameters for the mysql service:

MySQLConnectParams
[N] To use cached connections with the pylibs/MySQL module set this to a dictionary of 'name': 'connection_string' pairs. Default is {}.

Parameters for the oracle service.

OracleConnectStrings
[N] To use cached connections with the pylibs/Oracle module set this to a dictionary of 'name': 'connection_string' pairs Default is {}.
OracleProcedurePackageLists
[N] To speed up the use of stored procedures (saves one query per sp fetch) we can preload the procedure signatures ahead of time. Set to a dictionary of 'name': ['list', 'of', 'packagenames'] where name matches that used in OracleConnectStrings. Default is {}.

Parameters for the postgresql service.

PostgreSQLConnectParams
[N] To use cached connections with the pylibs/PostgreSql module set this to a dictionary of 'name': 'connection_string' pairs. Default is {}.

Parameter for the remote service.

RemoteListenPorts
[N] List of port(s) for the remote service to listen on (specified in the same way as the AecgiListenPorts socket is). Default is ['TCP:localhost:9887'].

Parameters for the sessionHandler service.

SessionTimeout
The session timeout, in seconds. Sessions which have seen no action for this period of time are ripe for reaping. Default is 1800 (30 minutes).
SessionReapInterval
[N] Session reap interval, in seconds. When the reap interval has elapsed, the server may reap old sessions in the aftermath of its next request handling cycle. To turn off reaping (if more than one server is using the same session store, or if another process is performing reaping separately), set this to zero or a negative value. Default is 300 (5 minutes).
SessionStore
The session store implementation class (full package name). This defaults to None, which, if the sessionHandler service is imported, will cause an error. To use sessionHandler, you must specify a session store implementation; e.g.:
 
SessionStore='sessionHandler.MySQLSessionStore.MySQLSessionStoreImpl'
Default is None; two SessionStore implementations are currently available, MySQLSessionStore.MySQLSessionStoreImpl and FSSessionStore.FSSessionStoreImpl. SessionStore can be scoped by host, port, or ip; it should not be scoped by location.
SessionIDKey
[N] The key under which the session is kept (in a cookie or in URL rewriting). Default is 'sessionID'.
The following sessionHandler config variables specify names of the session table and its columns and the MySQL host, user and password.
SessionHandler_MySQLHost
='localhost' [N]
SessionHandler_MySQLUser
='sessionHandler' [N]
SessionHandler_MySQLPass
='sessionPass' [N]
SessionHandler_MySQLDB
='sessionStore' [N]
SessionHandler_MySQLTable
='Sessions' [N]
SessionHandler_MySQLIDColumn
='id' [N]
SessionHandler_MySQLPickleColumn
='pickle' [N]
SessionHandler_MySQLTimestampColumn
='accessTime' [N]

Parameters for the templating service.

errorTemplate
[N] path to a template in the docroot (or parfile), dependent on scope that should be shown if the we send back an error (500) page The exception text will show up in an additional template variable ERROR_TEXT. Default is None.
notFoundTemplate
[N] Path to a template in the docroot (or parfile), dependent on scope that should be shown if the we send back a 404 Not Found response. Default is None.
indexDocuments
List of document names that will be recognized as index documents; Default is ['index.html']
hideMimeTypes
A list of mime types that should not be accessible via web request. Default is
[
    "text/x-stml-component",
    "text/x-stml-python-component",
    "text/x-stml-data-component",
    "text/x-stml-python-data-component",
]
interpretMimeTypes
Mime types of things that should be rendered as templates when called via web request. Default is ["text/html", "application/x-python"].
defaultIndexHtml
Path to a template (or other item) to be used for a directory if no index document is present (álà indexDocuments). Defaults to None -- thus this feature is disabled by default.

For the sendmail tag, how to actually send it. If MailMethod == 'sendmail', it will call the sendmail program to do it (this is the default). If you set it to 'relay', it will send the mail via SMTP to the host specified by the MailHost config variable (which defaults to localhost). If using the 'sendmail' MailMethod, the pragram that is run comes from SendmailCommand. When no from address is specified in the call to the sendmail tag (or it's corresponding function), the address FromAddress is used.

MailMethod
= 'sendmail',
MailHost
= 'localhost',
SendmailCommand
= 'sendmail -t',
FromAddress
= "root@localhost"

Parameters for the userdir service.

userDir
Whether to enable the userdir functionality. Default is 1.
userDirPath
What directory name to append to the users home directory when utilizing this service. Default is 'public_html'.