Annotated AOLserver Configuration Reference
Revision as of 23:25, 20 October 2005 by Dossy (talk | contribs) (direct edits to Talk:Annotated_AOLserver_Configuration_Reference)
[ Please make comments on the Talk:Annotated_AOLserver_Configuration_Reference page. ]
# # config-reference.tcl.txt -- # # Annotated AOLserver Configuration Reference # # Nearly every AOLserver configuration variable is represented # here. This file is provided as a reference -- please do not load # this into your server. # # # Global parameters # ns_section "ns/parameters" ns_param home $home ;# Server's home directory # Data structures ns_param dstringcachemaxentries 10 ;# Max no. of Dstrings to put on cache ns_param dstringcachemaxsize [expr 3*1024] ns_param iobufsize 16000 ;# Buffer size suitable for I/O # Limits ns_param keepalivetimeout 30 ;# Max time conn is kept alive (keepalive) ;# (set to 0 to disable keepalive) ns_param listenbacklog 32 ;# Max length of pending conn queue ns_param maxkeepalive 100 ;# Max no. of conns in keepalive state ns_param schedmaxelapsed 2 ;# Warn when waiting on really long procs ns_param shutdowntimeout 20 ;# Secs to wait on shutdown if open conns # Server logging ns_param dev true ;# Display logging with "Dev" severity ns_param debug false ;# Display logging with "Debug" severity ns_param logexpanded false ;# true = double-spaced server.log ns_param logroll false ;# Roll server.log every 24 hours. ns_param maxbackup 10 ;# Max number of old server.log files ns_param pidfile "nspid" ;# PID of server (named "nspid.PORT") ns_param serverlog "server.log" ;# Filename of server.log # DNS tuning ns_param dnscache true ;# In-memory cache of DNS lookups ns_param dnscachetimeout 60 ;# How long to keep hostnames in cache # Miscellaneous ns_param checkexitcode false ;# Check exit code on forked process ns_param crashcmd ns_crash ;# A Tcl command that dumps core. ns_param mailhost smtp.yourcompany.com ;# SMTP host for ns_sendmail # # Thread library (nsthread) parameters # ns_section "ns/threads" ns_param mutexmeter true ;# measure lock contention ns_param stacksize [expr 128*1024] ;# stack size per thread (in bytes) # # MIME types. # # Note: AOLserver already has an exhaustive list of MIME types, but in # case something is missing you can add it here. # ns_section "ns/mimetypes" ns_param ".xls" "application/vnd.ms-excel" ns_param default "*/*" ;# MIME type for unknown extension ns_param noextension "*/*" ;# MIME type for missing extension ############################################################ # # Server-level configuration # # There is only one server in AOLserver, but this is helpful when multiple # servers share the same configuration file. This file assumes that only # one server is in use so it is set at the top. # ns_section "ns/servers" ns_param $server $servername ;# Name of virtual server. # # Server parameters # ns_section "ns/server/${servername}" ns_param directoryfile $directoryfile ;# List of files to use (index.html) ns_param pageroot $pageroot ;# Directory under which all pages live # Tuning options ns_param connsperthread 0 ;# Normally there's one conn per thread ns_param flushcontent false ;# Flush all data before returning ns_param maxconnections 100 ;# Max connections to put on queue ns_param maxdropped 0 ;# Shut down if dropping too many conns ns_param maxthreads 20 ;# Tune this to scale your server ns_param minthreads 0 ;# Tune this to scale your server ns_param threadtimeout 120 ;# Idle threads die at this rate # Limits ns_param maxheaders 16384 ;# Max no. of headers from client ns_param maxline 8192 ;# Max line length from client ns_param maxpost 65536 ;# Max bytes on a POST ns_param sendfdthreshold 2048 ;# Min size of file descriptor to send # Performance statistics gathering ns_param globalstats true ;# Enable built-in statistics ns_param urlstats true ;# Enable URL statistics ns_param maxurlstats 1000 ;# Max number of URL's to do stats on # Directory listings can be generated with an ADP or a Tcl proc. ns_param directoryadp $home/dirlist.adp ;# Choose one or the other ns_param directoryproc _ns_dirlist ;# ...but not both! ns_param directorylisting simple ;# Can be simple or fancy (for ns_dirlist) # Miscellaneous ns_param checkmodifiedsince true ;# Check url if no If-Modified-Since? ns_param enableaolpress false ;# Enable extra features used by AOLpress ns_param headercase preserve ;# tolower, toupper, preserve # # Internal redirects # ns_section "ns/server/${servername}/redirects" ns_param 404 "/notfound.html" ;# Not Found error page ns_param 500 "/servererror.html" ;# Server Error page # # Fastpath serves HTML # ns_section "ns/server/${servername}/fastpath" ns_param cache true ;# Enable cache for normal URLs ns_param cachemaxentry 8192 ;# Largest file size allowable in cache ns_param cachemaxsize [expr 5000*1024] ;# Size of fastpath cache ns_param mmap false ;# Use mmap() for cache # # Tcl interpreter # ns_section "ns/server/${servername}/tcl" ns_param autoclose true ;# Close files the Tcl interp opened ns_param debug false ;# Names of files sourced is logged ns_param nsvbuckets 8 ;# No. of buckets to hold nsv's ns_param statlevel 0 ;# How many levels deep to run tclstats ns_param statmaxbuf 100 ;# Maximum entries in tclstats table ns_param library "$home/servers/${servername}/modules/tcl" ;# Private tcl library for the server # # ADP (AOLserver Dynamic Page) configuration # ns_section "ns/server/${servername}/adp" # ADP features ns_param map "/*.adp" ;# Extensions to parse as ADP's ns_param map "/*.html" ;# Any extension can be mapped ns_param enableexpire true ;# Set "Expires: now" on all ADP's ns_param enabledebug true ;# Turn on Tclpro debugging with "?debug" ns_param debuginit "ns_adp_debuginit" ;# Debug procedure # ADP tuning ns_param cache true ;# In-memory cache of ADP's ns_param cachesize [expr 5000*1024] ns_param taglocks false ;# Enable post-ini creation of ADP tags ns_param threadcache false ;# default for Tcl 7.6 (nsd76) ns_param threadcache true ;# default for Tcl 8.2 (nsd82) # ADP special pages ns_param errorpage ${pageroot}/errorpage.adp ;# Pretty-print ADP errors with an ADP ns_param startpage ${pageroot}/startpage.inc ;# Page to include for all ADP's # # ADP custom parsers -- see adp.c # ns_section "ns/server/${servername}/adp/parsers" ns_param adp ".adp" ;# The simple parser looks for <\% ... \%> ns_param fancy ".adp" ;# The fancy parser does a lot more. # # Socket driver module (HTTP) -- nssock # ns_section "ns/server/${servername}/module/nssock" ns_param port $httpport ;# Port for HTTP (typically 80) ns_param hostname $host ;# This is not the same as your hostname ns_param address $address ;# This is not the same as your host addr ns_param location "url" ;# URL for auto-redirects (trailing slash) ns_param maxinput [expr 5 * 1024 * 1024] ;# Maximum file size for uploads in bytes, default is 1MB, new in AOLserver 4.01 # # Socket driver module (HTTPS) -- nsssl # ns_section "ns/server/${servername}/module/nsssl" ns_param port $httpsport ;# Port for HTTPS (typically 443) ns_param hostname $host ;# This is not the same as your hostname ns_param address $address ;# This is not the same as your host addr ns_param keyfile ${home}/servers/${servername}/modules/nsssl/keyfile.pem ns_param certfile ${home}/servers/${servername}/modules/nsssl/certfile.pem # # Control port -- nscp # ns_section "ns/server/${servername}/module/nscp" ns_param port 9999 ;# Control port listens on port 9999 ns_param address "127.0.0.1" ;# For security, use 127.0.0.1 only # Control port users ns_section "ns/server/${servername}/module/nscp/users" # The default password for nsadmin is "x". You should change it. # type "ns_crypt newpassword salt" and put the encrypted string below. ns_param user "nsadmin:t2GqvvaiIUbF2:" ;# sample user="nsadmin", pw="x". # # Access log -- nslog # ns_section "ns/server/${servername}/module/nslog" ns_param file "access.log" ns_param formattedtime true ;# true=common log format ns_param logcombined false ;# true==NCSA combined format ns_param maxbackup 5 ;# Max number to keep around when rolling ns_param rollhour 0 ;# Time to roll log ns_param rolllog true ;# Should we roll log? ns_param rollonsignal true ;# Roll log on SIGHUP # # CGI interface -- nscgi # # Note: CGI is *vastly* inferior to ADP's or even built-in Tcl libraries. # ns_section "ns/server/${servername}/module/nscgi" ns_param debug false ;# Be chatty in log ns_param gethostbyaddr false ;# Whether to do reverse DNS lookups ns_param limit 0 ;# Max number of concurrent CGI processes ns_param maxoutput 10240 ;# Max bytes allowed from external process ns_param buffersize 8192 ;# Buffer output from external process ns_param map "GET /cgi /usr/local/cgi" ;# Where your CGI executables live (GET) ns_param map "POST /cgi /usr/local/cgi" ;# Where your CGI executables live (POST) # CGI environment variable handling -- See admin guide ns_param systemenvironment false ;# Copies environment from nsd start shell # # Access control (permissions) -- nsperm # ns_section "ns/server/${servername}/module/nsperm" # # Unix domain socket driver -- nsunix # ns_section "ns/server/${servername}/module/nsunix" ns_param hostname "host" ;# Hostname used in response to client ns_param port "port" ;# Port to listen on ns_param socketfile "path.name" ;# UNIX domain socket driver # # Virtual Hosting redirector -- nsvhr # ns_section "ns/server/${servername}/module/nsvhr" ns_param busyurl "url" ;# Redirect here if back-end times out ns_param errorurl "url" ;# Redirect here on proxy errors ns_param method "GET" ;# Methods allowed to proxy ns_param method "POST" ;# Methods allowed to proxy (can have >1) ns_param timeout 30 ;# Timeout waiting for back-end # Register hosts to proxy ns_section "ns/server/${servername}/module/nsvhr/maps" ns_param "www.tcpsocket.com" "http://127.0.0.0:2000" ;# HTTP proxy ns_param "www.domainsocket.com" "unix://somehost" ;# Domain socket # # Database drivers # # Two pools are given here. Sybase uses the Sybase client libraries, # obtained from Sybase. Postgres is freely available at # www.postgresql.org. Sybase uses an external proxy daemon while # Postgres uses an internal driver. The Sybase driver requires some # configuration in ns/db/driver/sybase_driver to tell th "nsext.so" # driver where to find the nssybpd executable and some other things. # The Postgres driver doesn't need any of that because it's internal # and does not use nsext.so. # ns_section "ns/db/drivers" ns_param sybase_driver nsext.so ;# Use nsext.so for a proxy daemon ns_param postgres_driver nspostgres.so ;# An internal driver ns_section "ns/db/driver/sybase_driver" ns_param localdaemon nssybpd ;# Name of the proxy daemon executable ns_param param path_to_sybase ;# Usually the $SYBASE env var ns_section "ns/db/pools" ns_param sybase_pool "Sybase Pool" ns_param postgres_pool "Postgres Pool" ns_section "ns/db/pool/sybase_pool" ns_param driver sybase_driver ns_param datasource SERVER_NAME:database_name ns_param user user_name ns_param password password ns_param connections 1 ns_param logsqlerrors true ;# Verbose SQL query error logging ns_param verbose false ;# Verbose error logging ns_param maxidle 600 ;# Max time to keep idle db conn open ns_param maxopen 3600 ;# Max time to keep active db conn open ns_section "ns/db/pool/postgres_pool" ns_param driver postgres_driver ns_param datasource HOSTNAME:PORT:database_name ns_param user user_name ns_param password password ns_param connections 1 ns_param logsqlerrors true ;# Verbose SQL query error logging ns_param verbose false ;# Verbose error logging ns_param maxidle 600 ;# Max time to keep idle db conn open ns_param maxopen 3600 ;# Max time to keep active db conn open # # Accessing DB pools # # In the case of virtual servers you can give different virtual # servers access to different databases, or you can let them access # them all. AOLserver 3.x does not use virtual servers so the only # useful value is "*", but if you use one config file for multiple nsd # processes, or you are using a version of AOLserver that supports # virtual servers, then you should list the pools you want to access. # ns_section "ns/server/${servername}/db" ns_param pools * ;# Wildcard gives access to all ns_param defaultpool sybase_pool # # Modules to load # # Note: Only load the modules you are actually going to use. # ns_section "ns/server/${servername}/modules" ns_param nssock nssock.so ns_param nsssl nsssle.so ns_param nscp nscp.so ns_param nslog nslog.so ns_param nscgi nscgi.so ns_param nsperm nsperm.so # # Loading a Tcl module # # This example shows a Tcl module, called "tcl_module", has its code # in the AOLserver Tcl library in either the modules/tcl/tcl_module # directory or servers/servername/modules/tcl/tcl_module directory. # ns_param tcl_module tcl