Forum OpenACS Q&A: Each piece is working, but not together

Collapse
Posted by Ethan Yin on
I have set up OpenACS on a SUSE machine. AOLServer is working.
PostgreSQL is working. Dirver is loaded. OpenACS is in /web
directory. However, seems to me they don't talk to each other. In the
nsd.tcl (config.tcl), I changed pageroot and added some sections,
such as TCL configuration and DB pools. Please advise. Thanks a
million.
Collapse
Posted by Don Baccus on
What happens when you point your browser to the IP address and port
AOLserver's listening on?  What's in the log file?  Is there an error
when it tries to load the driver?  Is there any attempt by the toolkit
to establish a database connection?  Does it fail?

Telling us "it doesn't work" without details will probably elicit
sympathy, but it won't elicit any meaningful help!  We need details
before we can point you down the path to success...

Collapse
Posted by Robert Ezman on
To find out what's wrong you should do one of the following:

1) Run the server in the foreground from the shell. i.e. from wherever you have AOLserver installed:
bin/nsd -f -t <your config script> -s <server name> -u <the user your're running the server as>
(BTW:If you try to start it this way you can't use port 80 because that's a privileged port so you have to have something like 8000 in the config file.)

2) Check the server log.

If you see a message saying something along the lines of "nssock: listening on..." then at least you can have some confidence that the server is up.
Scan through the log carefully for errors. Some of the things that could go wrong are:
  • Database driver not loaded correctly....
  • Wrong port

After that point in the log you should see a bunch of messages as the OpenACS starts up. If you don't see this long stream of messages something is wrong.
At the bottom of the config file lies the following line:
source /web/${server}/parameters/${server}.tcl

This is the line that loads the ACS parameter file. If this file doesn't load then the ACS doesn't start.
So:
  1. make sure your installation is at /web/<your server name>
  2. make sure that the parameter.tcl file has been renamed to <your server name>.tcl (you need to customize it anyway)
  3. make sure the permissions are right on the whole directory... They need to be the same as the -u <the user you're running the server as>.
    to fix it: say the username is nsadmin, servername is server and you're in the /web directory
    chmod -R nsadmin:nsadmin server

This also assumes that PostgreSQL is up and running....etc.