File: config-reference.tcl.txt

package info (click to toggle)
aolserver4 4.5.1-15.1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 11,772 kB
  • sloc: ansic: 45,120; tcl: 5,532; sh: 1,021; makefile: 380; pascal: 219; php: 13
file content (360 lines) | stat: -rw-r--r-- 14,292 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
#
# 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.
#

#
# $Header: /cvsroot/aolserver/aolserver.com/docs/admin/config-reference.tcl.txt,v 1.4 2002/03/20 22:10:33 kriston Exp $
#

#
# 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)

#
# 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