Forum OpenACS Q&A: Aolserver config problem?
I've installed PostgreSQL, Aolserver, and OpenACS and everything
seems configured fine. I start Aolserver with the following
command:
as root (to use the privleged port 80). Now, when I try to connect, I get no errors and nsd runs happily in the background. That's great, but I can't connect via a web browser to port 80 of my machine. I've connected just fine before I added support for postgres to my config (nsd.tcl). Here is my nsd.tcl file, which is probably the easiest thing to do. Any help would be much appreciated.
Start config file...
End config file...
Thanks in advance.
/home/aolserver/bin/nsd -kt nsd.tcl -u nsadmin -g nsadmin
as root (to use the privleged port 80). Now, when I try to connect, I get no errors and nsd runs happily in the background. That's great, but I can't connect via a web browser to port 80 of my machine. I've connected just fine before I added support for postgres to my config (nsd.tcl). Here is my nsd.tcl file, which is probably the easiest thing to do. Any help would be much appreciated.
Start config file...
#
# AOLserver/OpenNSD Configuration File
#
ns_log notice "nsd.tcl: starting to read config file..."
#
# If httpport is set to 80, you'll have to start AOLserver as root
and pass the user
# AOLserver will run as in the command line. (e.g. ./nsd -u nsadmin
-g nsadmin -t ../nsd.tcl)
# (assuming you're starting AOLserver from the {aolserverdir}/bin
directory.
set httpport 80
set httpsport 443
#
# Make sure your /etc/hostname is setup right, with your full
domain. If you want AOLserver
# to listen to www.foobar.com instead of foobar.com then hard code
the appropriate domain
# in the line below (e.g. set hostname www.foobar.com).
#
set hostname brian.cvairnet.com
set address 207.224.221.39
#
# You can name your server whatever you want, but you'll need a
directory with that
# name under {aolserverdir}/servers/ writable by you AOLserver user.
#
# For example: if your AOLserver is in /usr/local/aolserver and your
server is "server1"
# you will need a /usr/local/aolserver/servers/server1 directory.
#
set server "express"
set servername "express"
#
# AOLserver's home and binary directories. Autoconfigurable.
#
set homedir [file dirname [ns_info config]]
set bindir [file dirname [ns_info nsd]]
#
# Where are your pages going to live ?
#
set pageroot ${homedir}/servers/${server}/www
set directoryfile index.adp,index.tcl,index.html,index.htm
#
# nsssl: Only loads if keyfile.pem and certfile.pem exist.
# If you are using SSL, make sure you have these dirs and files
(refer
# to the AOLserver docs)
set sslkeyfile ${homedir}/servers/${server}/modules/nsssl/keyfile.pem
set sslcertfile
${homedir}/servers/${server}/modules/nsssl/certfile.pem
#
# 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 128*1024] ;# Per-thread stack
size for hungry C modules
#
# 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 default "*/*" ;# MIME type for
unknown extension
ns_param noextension "*/*" ;# MIME type for
missing extension
#ns_param ".xls" "application/vnd.ms-excel''
#
# Tcl Configuration
#
ns_section "ns/server/${server}/tcl"
ns_param autoclose "on"
ns_param debug "false"
# This is where this server's private Tcl library is. All .tcl files
in this directory
# are parsed when AOLserver starts. The crucial procedures used in
OpenACS are
# defined through this library
#
ns_param library "/home/aolserver/modules/tcl"
############################################################
#
# 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 in the "server" Tcl
variable
# Other host-specific values are set up above as Tcl variables, too.
#
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 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 enabletclpages true ;# Parse tcl files
in pageroot (dangerous)
#
# If you want to customize AOLserver's response to things like
``Internal Server Error''
# and other HTTP responses. OpenACS comes with some in the directory
www/global.
ns_param NotFoundResponse
"/global/file-not-found.html"
ns_param ServerBusyResponse "/global/busy.html"
ns_param ServerInternalErrorResponse "/global/error.html"
ns_param ForbiddenResponse
"/global/forbidden.html"
ns_param UnauthorizedResponse
"/global/unauthorized.html"
# 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"
# 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"
#
# Socket driver module (HTTP) -- nssock
#
ns_section "ns/server/${server}/module/nssock"
ns_param port $httpport
ns_param hostname $hostname
ns_param address $address
#
# Socket driver module (HTTPS) -- nsssl
#
# nsssl does not load unless sslkeyfile/sslcertfile exist (above).
#
ns_section "ns/server/${server}/module/nsssl"
ns_param port $httpsport
ns_param hostname $hostname
ns_param address $address
ns_param keyfile $sslkeyfile
ns_param certfile $sslcertfile
#
# Database drivers
# The database driver is specified here. PostgreSQL driver being
loaded.
# Make sure you have the driver compiled and put it in
{aolserverdir}/bin
#
ns_section "ns/db/drivers"
ns_param postgres ${bindir}/postgres.so ;# Load
PostgreSQL driver
#
# Database Pools: This is how AOLserver ``talks'' to the RDBMS. You
need three for
# OpenACS: main, log, subquery. Make sure to replace ``yourdb'' and
``yourpassword''
# with the actual values for your db name and the password for it.
# AOLserver can have different pools connecting to different
databases and even different
# different database servers.
#
ns_section "ns/db/pools"
ns_param main "Express Main Pool"
ns_param log "Express Log Pool"
ns_param subquery "Express 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::express ;# 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 "justdoit"
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::express
ns_param User nsadmin
ns_param Password "justdoit"
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::express
ns_param User nsadmin
ns_param Password "justdoit"
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"
#
# nscp: AOLserver Control Port - very useful for testing and
evaluating.
# Uncomment the sample password below and do a "telnet localhost
9999"
# log in with "nsadmin", password "x", type "ns_crypt newpassword
salt"
# and paste the new encrypted string below.
#
# Sample User="nsadmin", password="x"
# set nscp_user "nsadmin:t2GqvvaiIUbF2:"
#
# Control port -- nscp
# nscp does not load unless nscp_user is a valid user.
#
#ns_section "ns/server/${server}/module/nscp"
# ns_param port 9999
# ns_param address "127.0.0.1" ;# LOCALHOST IS
RECOMMENDED
#ns_section "ns/server/${server}/module/nscp/users"
# ns_param user $nscp_user
#
# 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
#
# nsjava - aolserver module that embeds a java virtual machine.
Needed to
# support webmail. See http://nsjava.sourceforge.net for
further
# details.
#
#ns_section "ns/server/acs-pg/module/nsjava"
# ns_param EnableJava "off" ;# Set to on to
enable nsjava.
# ns_param VerboseJvm "off" ;# Same as command
line -debug.
# ns_param LogLevel "Notice"
# ns_param DestroyJvm "off" ;# Destroy jvm on
shutdown.
# ns_param DisableJITCompiler "off"
# ns_param ClassPath
"/usr/local/jdk/jdk118_v1/lib/classes.zip:/usr/local/aolserver/bin/nsjava.jar:/home/nsadmin/mirror/acs3-pg/www/webmail/java/activation.jar:/home/nsadmin/mirror/acs3-pg/www/webmail/java/mail.jar:/home/nsadmin/mirror/acs3-pg/www/webmail/java"
#
# 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"
#
# Modules to load
#
#ns_section "ns/server/${server}/modules"
# ns_param nssock ${bindir}/nssock.so
# ns_param nslog ${bindir}/nslog.so
# ns_param nsperm ${bindir}/nsperm.so
# ns_param nscgi ${bindir}/nscgi.so
# ns_param nsjava ${bindir}/libnsjava.so
#
## nsssl: loads only if requisite files already exist (see top of
this
# file).
#
if { [file exists $sslcertfile] && [file exists $sslkeyfile] } {
ns_param nsssl ${bindir}/nsssle.so
} else {
ns_log warning "nsd.tcl: nsssl not loaded because key/cert files
do not exist."
}
# nscp: loads only if nscp_user is set (see top of this file).
#if { $nscp_user != "" } {
# ns_param nscp ${bindir}/nscp.so
#} else {
# ns_log warning "nsd.tcl: nscp not loaded because user/password
is not set."
#}
#
# To Source OpenACS Config File. You need a "yourservername.tcl"
file in the
# OpenACS parameters dir. e.g.: say your server is "server1" then
you'd need a
# file named /web/server1/parameters/server1.tcl
# (Hint: Rename ad.tcl to yourservername.tcl and edit it.)
#
source /home/aolserver/servers/${server}/parameters/${server}.tcl
ns_log notice "nsd.tcl: finished reading config file."
End config file...
Thanks in advance.
Posted by
David Walker
on 06/17/01 06:20 PM
Don't forget to change your database password since it was in the above message.
I get redirected to bc.cvairnet.com but I don't see that in your config file anywhere so I'm not sure why it is happening.
I get redirected to bc.cvairnet.com but I don't see that in your config file anywhere so I'm not sure why it is happening.
Posted by
Janine Ohmer
on 06/17/01 06:41 PM
I just tried it and got the AOLserver Welcome page at
http://brian.cvairnet.com, so he must be working on it.
http://brian.cvairnet.com, so he must be working on it.
In my experience, unexpected redirection usually comes from the
ACS. If you have a different value for SystemURL in your
parameters file than for hostname in your config file, you'll get
redirected to the SystemURL value right away. This can be, um,
unexpected. :)
Hi Brian!
If I were you I'd start by configuring AOLserver to listen on localhost cutting out as many sources of malfunction as possible.
Are you trying to connect from a browser on the webserver host itself or from anoter host on a LAN?
Your server is named "express" - make sure you have a virtual server named that (you can rename or make a recursive copy of /*yourserverhome*/servers/server1).
Where is OpenACS installed? If it's in /web/express/ you must alter the "source" path on the second to last line in the config file to something like: source /web/express/parameters/express.tcl In this case you may need to change the pageroot: set pageroot /web/express/www
If I were you I'd start by configuring AOLserver to listen on localhost cutting out as many sources of malfunction as possible.
Are you trying to connect from a browser on the webserver host itself or from anoter host on a LAN?
Your server is named "express" - make sure you have a virtual server named that (you can rename or make a recursive copy of /*yourserverhome*/servers/server1).
Where is OpenACS installed? If it's in /web/express/ you must alter the "source" path on the second to last line in the config file to something like: source /web/express/parameters/express.tcl In this case you may need to change the pageroot: set pageroot /web/express/www
Posted by
Brian Cressall
on 06/18/01 12:37 AM
Thank-you for your help. I have been fiddling with this for a long
time and found out that I have misspelled 'servers' and put
'server'. I also changed my url to point to the correct place
(brian.cvairnet.com and not bc.cvairnet.com) as suggested. I'm
excited to learn the modules and use this powerful tool!
time and found out that I have misspelled 'servers' and put
'server'. I also changed my url to point to the correct place
(brian.cvairnet.com and not bc.cvairnet.com) as suggested. I'm
excited to learn the modules and use this powerful tool!
It seems like there are more people struggling with little things like this...
(No pages getting served-similar problem) - one of my questions.
Good luck!