Forum OpenACS Q&A: Response to Secure Vs. Insecure locations
Posted by
Richard Hamilton
on 10/30/02 08:45 PM
# # AOLserver/OpenNSD Configuration File # # richard_s.hamilton@virgin.net # ######################### ######################### # General Configuration # ######################### ######################### set server "server" set servername "openacs" ns_log notice "${server}.tcl: Starting to read config file..." set httpport 8000 set httpsport 8443 set hostname www.${server}.com set address 192.168.100.2 set homedir [file dirname [ns_info config]] set bindir [file dirname [ns_info nsd]] set pageroot /web/${server}/www set directoryfile index.tcl,index.adp,index.html,index.htm set ext [info sharedlibextension] set sslkeyfile ${homedir}/servers/${server}/modules/nsopenssl/key.pem set sslcertfile ${homedir}/servers/${server}/modules/nsopenssl/cert.pem set sslcacertfile ${homedir}/servers/${server}/modules/nsopenssl/ca/cacert.pem #set nscp_port 9999 #set nscp_addr 127.0.0.1 #set nscp_user "" #set nscp_user "nsadmin:t2GqvvaiIUbF2:" ;# sample user="nsadmin", pw="x". ############################ # Global server parameters # ############################ ns_section "ns/parameters" ns_param home $homedir ns_param debug false # ns_param MailHost localhost ns_param ServerLog ${homedir}/log/${server}.log # ns_param LogRoll on ######################################## # Thread library (nsthread) parameters # ######################################## ns_section "ns/threads" ns_param mutexmeter true ;# measure lock contention ns_param stacksize [expr 256*1024] ;# Per-thread stack size for hungry C modules ############## # MIME types # ############## ns_section "ns/mimetypes" ns_param default "*/*" ;# MIME type for unknown extension ns_param noextension "*/*" ;# MIME type for missing extension # ns_param ".xls" "application/vnd.ms-excel'' ############################## ############################## # Server-level configuration # ############################## ############################## ns_section "ns/servers" ns_param $server $servername ##################### # Server parameters # ##################### ns_section "ns/server/${server}" ns_param directoryfile $directoryfile ns_param pageroot $pageroot ns_param maxconnections 50 ns_param maxdropped 0 ns_param maxthreads 50 ns_param minthreads 5 ns_param threadtimeout 120 ns_param globalstats false ;# Enable built-in statistics ns_param urlstats false ;# Enable URL statistics ns_param maxurlstats 1000 ;# Max number of URL's to do stats on ns_param NotFoundResponse ${pageroot}/global/www/file-not-found.html ns_param ServerBusyResponse ${pageroot}/global/www/busy.html ns_param ServerInternalErrorResponse ${pageroot}/global/www/error.html ns_param ForbiddenResponse ${pageroot}/global/www/forbidden.html ns_param UnauthorizedResponse ${pageroot}/global/www/unauthorized.html ##################### # Tcl Configuration # ##################### ns_section "ns/server/${server}/tcl" ns_param autoclose "on" ns_param debug "false" #ns_param library "/usr/local/aolserver/modules/tcl" ns_param library "/web/${server}/tcl" ###################### # Directory listings # ###################### # use an ADP or a Tcl proc to generate them. #ns_param directoryadp $pageroot/dirlist.adp ;# Choose one or the other #ns_param directoryproc _ns_dirlist ;# ...but not both! ns_param directorylisting fancy ;# Can be simple or fancy ############################################## # ADP (AOLserver Dynamic Page) configuration # ############################################## ns_section "ns/server/${server}/adp" ns_param map "/*.adp" ;# Extensions to parse as ADP's #ns_param map "/*.html" ;# Any extension can be mapped ns_param enableexpire false ;# Set "Expires: now" on all ADP's ns_param enabledebug false ;# Allow Tclpro debugging with "?debug" ns_param defaultparser fancy # ADP special pages #ns_param errorpage ${pageroot}/errorpage.adp ;# Pretty-print ADP scripting errors ################################### # ADP custom parsers -- see adp.c # ################################### ns_section "ns/server/${server}/adp/parsers" ns_param fancy ".adp" ################### # Modules to load # ################### # Note that nsssl loads only if requisite files already exist (see top of this file). ns_section "ns/server/${server}/modules" ns_param nssock ${bindir}/nssock${ext} ns_param nslog ${bindir}/nslog${ext} ns_param nssha1 ${bindir}/nssha1${ext} ns_param nscache ${bindir}/nscache${ext} ns_param nsrewrite ${bindir}/nsrewrite${ext} ns_param nsxml ${bindir}/nsxml${ext} ns_param nsvhr ${bindir}/nsunix${ext} ns_param nsfts ${bindir}/nsfts${ext} if { [file exists $sslcertfile] && [file exists $sslkeyfile] } { ns_param nsssl ${bindir}/nsopenssl${ext} } else { ns_log warning "${server}.tcl: nsssl not loaded because key/cert files do not exist." } # ns_param nsperm ${bindir}/nsperm.so # ns_param nscgi ${bindir}/nscgi.so # ns_param nsjava ${bindir}/libnsjava.so ########################################## # Socket driver module (HTTP) -- nssock # ########################################## ns_section "ns/server/${server}/module/nssock" ns_param timeout 120 ns_param port $httpport ns_param hostname $hostname ns_param address $address ########################################## # Socket driver module (HTTP) -- nsvhr # ########################################## # This section added by RH on 27/11/01. Virtual Hosting Redirector configuration. ns_section "ns/server/${server}/module/nsvhr" ns_param hostname "www.${server}.com" ns_param socketfile "${server}.nsunix" # End of section added by RH on 27/11/01. ########################################## # Socket driver module (HTTPS) -- nsssl: # ########################################## # Section added by Richard Hamilton on 24/10/02. Configuration for nsopenssl v2.1. # Sourced from http://www.scottg.net/webtools/aolserver/modules/nsopenssl/configuration # nsssl does not load unless sslkeyfile/sslcertfile exist (above). ns_section "ns/server/${server}/module/nsssl" # General settings ns_param ServerPort $httpsport ns_param ServerHostname $hostname ns_param ServerAddress $address # NSD-driven connections: ns_param ServerCertFile $sslcertfile ns_param ServerKeyFile $sslkeyfile ns_param ServerProtocols "SSLv2, SSLv3, TLSv1" ns_param ServerCipherSuite "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP" ns_param ServerSessionCache false ns_param ServerSessionCacheID 1 ns_param ServerSessionCacheSize 512 ns_param ServerSessionCacheTimeout 300 ns_param ServerPeerVerify true ns_param ServerPeerVerifyDepth 3 ns_param ServerCADir ca ns_param ServerCAFile $sslcacertfile ns_param ServerTrace false # For listening and accepting SSL connections via Tcl/C API: ns_param SockServerCertFile $sslcertfile ns_param SockServerKeyFile $sslkeyfile ns_param SockServerProtocols "SSLv2, SSLv3, TLSv1" ns_param SockServerCipherSuite "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP" ns_param SockServerSessionCache false ns_param SockServerSessionCacheID 2 ns_param SockServerSessionCacheSize 512 ns_param SockServerSessionCacheTimeout 300 ns_param SockServerPeerVerify true ns_param SockServerPeerVerifyDepth 3 ns_param SockServerCADir ca ns_param SockServerCAFile $sslcacertfile ns_param SockServerTrace false # Outgoing SSL connections #ns_param SockClientCertFile $sslcertfile #ns_param SockClientKeyFile $sslkeyfile #ns_param SockClientProtocols "SSLv2, SSLv3, TLSv1" #ns_param SockClientCipherSuite "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP" #ns_param SockClientSessionCache false #ns_param SockClientSessionCacheID 3 #ns_param SockClientSessionCacheSize 512 #ns_param SockClientSessionCacheTimeout 300 #ns_param SockClientPeerVerify true #ns_param SockServerPeerVerifyDepth 3 #ns_param SockClientCADir ca #ns_param SockClientCAFile ca.pem #ns_param SockClientTrace false # Typically where you store your certificates # Defaults to $AOLSERVER/servers/${servername}/modules/nsopenssl ns_param ModuleDir ${homedir}/servers/${server}/modules/nsopenssl # OpenSSL library support: ns_param RandomFile /bin/sfxload ns_param SeedBytes 1024 # End of section #################### # Database drivers # #################### ns_section "ns/db/drivers" ns_param postgres ${bindir}/postgres${ext} ;# Load PostgreSQL driver ns_section "ns/db/driver/postgres" ns_param pgbin /usr/local/pgsql/bin ns_section "ns/db/pools" ns_param main "OpenACS Main Pool" ns_param log "OpenACS Log Pool" ns_param subquery "OpenACS Subquery Pool" ns_section "ns/db/pool/main" ns_param Driver postgres ns_param Connections 5 ;# 5 is a good number. Increase according to your needs ns_param DataSource localhost::${server} ;# Replace 'yourdb' with the name of your database in PG ns_param User nsadmin ;# User and password AOLserver will use to connect ns_param Password "castledb430" ns_param Verbose Off ;# Set it to On to see all queries. Good for debugging SQL. ns_param LogSQLErrors On ns_param ExtendedTableInfo On # ns_param MaxOpen 1000000000 ;# Max time to keep idle db connection open # ns_param MaxIdle 1000000000 ;# Max time to keep active db connection open ns_section "ns/db/pool/log" ns_param Driver postgres ns_param Connections 5 ns_param DataSource localhost::${server} ns_param User nsadmin ns_param Password "castledb430" ns_param Verbose On ns_param LogSQLErrors On ns_param ExtendedTableInfo On # ns_param MaxOpen 1000000000 # ns_param MaxIdle 1000000000 ns_section "ns/db/pool/subquery" ns_param Driver postgres ns_param Connections 2 ns_param DataSource localhost::${server} ns_param User nsadmin ns_param Password "castledb430" ns_param Verbose On ns_param LogSQLErrors On ns_param ExtendedTableInfo On # ns_param MaxOpen 1000000000 # ns_param MaxIdle 1000000000 ns_section "ns/server/${server}/db" ns_param Pools "*" ns_param DefaultPool "main" ####################### # Access log -- nslog # ####################### ns_section "ns/server/${server}/module/nslog" ns_param rolllog true ;# Should we roll log? ns_param rollonsignal true ;# Roll log on SIGHUP ns_param rollhour 0 ;# Time to roll log ns_param maxbackup 5 ;# Max number to keep around when rolling # # CGI interface -- nscgi, if you have legacy stuff. Tcl or ADP files inside # AOLserver are vastly superior to CGIs. You don't actually need the Interps # if your script calls the appropriate interpreter itself. # #ns_section "ns/server/${server}/module/nscgi" # ns_param map "GET /cgi-bin /web/$server/cgi-bin" # ns_param map "POST /cgi-bin /web/$server/cgi-bin" # ns_param Interps CGIinterps #ns_section "ns/interps/CGIinterps" # ns_param .pl "/usr/bin/perl" ######################## # Control port -- nscp # ######################## # nscp does not load unless nscp_user is a valid user. # nscp: Uncomment the sample password and log in with "nsadmin", password "x", # type "ns_crypt newpassword salt" and put the encrypted string below. #ns_section "ns/server/${server}/module/nscp" # ns_param port $nscp_port # ns_param address $nscp_addr #ns_section "ns/server/${server}/module/nscp/users" # ns_param user $nscp_user #if { $nscp_user != "" } { # ns_param nscp ${bindir}/nscp${ext} #} else { # ns_log warning "${server}.tcl: nscp not loaded because user/password is not set." #} ############################## # Source OpenACS Config File # ############################## # Standard location is: /web/${server}/parameters/ad_${server}.tcl # source /web/${server}/parameters/ad_${server}.tcl ;# But not for Open_ACS 4.5 ns_log notice "${server}.tcl: finished reading config file."