Forum OpenACS Q&A: OpenACS 5.5.0 install Debian 6 64bits - When trying to install OpenACS I get "Not Found"

Installed postgres, aolserver and all required software from source. I was able to build all, but when I try to test aolserver before moving to OpenACS 5.5.0 installation I get "Not Found The requested URL was not found on this server." I have been looking at what I'm missing, but I can not find it. More details about my install below.

root@debian:~# uname -a
Linux debian 2.6.32-5-amd64 #1 SMP Sun Sep 23 10:07:46 UTC 2012 x86_64 GNU/Linux

analog-5.32.tar.gz
aolserver-4.5.0
daemontools-0.76.tar.gz
nscache-1.5.tar.gz
nspostgres-4.0.tar.gz
nssha1-0.1.tar.gz
postgresql-8.1.23
tcl8.4.19
tcllib-1.8
tclwebtest-1.0
tDOM-0.8.3
thread2.6.5

I'm following the general install https://openacs.org/doc/acs-admin.html

When I get to step "5. Verify AOLserver startup" (https://openacs.org/doc/openacs.html#install-openacs-prepare-postgres), I run aolserver:

pabloacs@debian:~$ /usr/local/aolserver/bin/nsd-postgres -t /var/lib/aolserver/pabloacs/etc/config.tcl
pabloacs@debian:~$ [11/Dec/2012:21:04:24][1736.711157504][-main-] Notice: nsd.tcl: starting to read config file...
[11/Dec/2012:21:04:24][1736.711157504][-main-] Notice: nsd.tcl: using threadsafe tcl: 1
[11/Dec/2012:21:04:24][1736.711157504][-main-] Notice: nsd.tcl: finished reading config file.

But I get page not found:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
root@debian:~# lynx localhost:8000
Looking up 'localhost' first
Not Found
Not Found

The requested URL was not found on this server.

AOLserver/4.5.0 on http://localhost:8000
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Log file:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[11/Dec/2012:21:04:24][1736.711157504][-main-] Notice: nsmain: AOLserver/4.5.0 starting
[11/Dec/2012:21:04:24][1736.711157504][-main-] Notice: nsmain: security info: uid=1002, euid=1002, gid=1001, egid=1001
[11/Dec/2012:21:04:24][1736.711157504][-main-] Notice: nsmain: max files: FD_SETSIZE = 1024, rl_cur = 1024, rl_max = 1024
[11/Dec/2012:21:04:24][1736.711157504][-main-] Notice: encoding: loaded: utf-8
[11/Dec/2012:21:04:24][1736.711157504][-main-] Notice: fastpath[pabloacs]: mapped GET /
[11/Dec/2012:21:04:24][1736.711157504][-main-] Notice: fastpath[pabloacs]: mapped HEAD /
[11/Dec/2012:21:04:24][1736.711157504][-main-] Notice: fastpath[pabloacs]: mapped POST /
[11/Dec/2012:21:04:24][1736.711157504][-main-] Notice: adp[pabloacs]: mapped GET /*.adp
[11/Dec/2012:21:04:24][1736.711157504][-main-] Notice: adp[pabloacs]: mapped HEAD /*.adp
[11/Dec/2012:21:04:24][1736.711157504][-main-] Notice: adp[pabloacs]: mapped POST /*.adp
[11/Dec/2012:21:04:25][1736.711157504][-main-] Notice: modload: loading '/usr/lib/aolserver4/bin/nssock.so'
[11/Dec/2012:21:04:25][1736.711157504][-main-] Notice: modload: loading '/usr/lib/aolserver4/bin/nslog.so'
[11/Dec/2012:21:04:25][1736.711157504][-main-] Notice: nslog: opened '/var/www/pabloacs/log/pabloacs.log'
[11/Dec/2012:21:04:25][1736.711157504][-main-] Notice: modload: loading '/usr/lib/aolserver4/bin/nssha1.so'
[11/Dec/2012:21:04:25][1736.711157504][-main-] Notice: modload: loading '/usr/lib/aolserver4/bin/nscache.so'
[11/Dec/2012:21:04:25][1736.711157504][-main-] Notice: nscache module version 1.5 server: pabloacs
[11/Dec/2012:21:04:25][1736.711157504][-main-] Notice: modload: loading '/usr/lib/aolserver4/bin/nsdb.so'
[11/Dec/2012:21:04:25][1736.711157504][-main-] Notice: modload: loading '/usr/lib/aolserver4/bin/nspostgres.so'
[11/Dec/2012:21:04:25][1736.711157504][-main-] Notice: PostgreSQL loaded.
[11/Dec/2012:21:04:25][1736.711157504][-main-] Notice: modload: loading '/usr/lib/aolserver4/lib/thread2.6.5/libthread2.6.5.so'
[11/Dec/2012:21:04:25][1736.711157504][-main-] Notice: conf: [ns/server/pabloacs]enabletclpages = 0
[11/Dec/2012:21:04:25][1736.711157504][-main-] Notice: nsmain: AOLserver/4.5.0 running
[11/Dec/2012:21:04:25][1736.711157504][-main-] Notice: nsmain: security info: uid=1002, euid=1002, gid=1001, egid=1001
[11/Dec/2012:21:04:25][1736.669595392][-sched-] Notice: sched: starting
[11/Dec/2012:21:04:25][1736.711157504][-main-] Notice: driver: starting: nssock
[11/Dec/2012:21:04:25][1736.640530176][-nssock:driver-] Notice: starting
[11/Dec/2012:21:04:25][1736.640530176][-nssock:driver-] Notice: nssock: listening on 0.0.0.0:8000
[11/Dec/2012:21:06:30][1736.639473408][-conn:0-] Notice: exiting: timeout waiting for connection
[11/Dec/2012:21:06:30][1736.638416640][-conn:1-] Notice: exiting: timeout waiting for connection
root@debian:~#

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Did I forget to update come directory variable on config.tcl?

Anyone can help with this?

THANKS.

Pablo Guevara,

Try using the IP address of the server:

n1.n2.n3.n4:8000

Also, consider setting hostname to "0.0.0.0" as an alternate to "localhost".

Sometimes using "localhost" doesn't work on some systems, depending on the OS configuration.

Actually this is pretty good as an initial acceptance test, it shows that aolserver is responding.

One thing that would be helpful is to see the config file for aolserver. according to the log, that file is

/var/lib/aolserver/pabloacs/etc/config.tcl

Thanks

-Jim

Also depending on your reasons to use openacs-5.5, you may wish to consider using openacs-5.7.
Torben,
I did try with the actual ip like you suggested, from inside the linux os, and from an external PC, both gave me the same result "Not Found". I also tested modifying the host name to 0.0.0.0 as you suggested, but it did not make any difference.
Jim, I agree. The aolserver is working. Now I need to install openacs.

I paste here my config.tcl file:

pabloacs@debian:~$ vi /var/lib/aolserver/pabloacs/etc/config.tcl
ns_log notice "nsd.tcl: starting to read config file..."

######################################################################
#
# Instance-specific settings
# These default settings will only work in limited circumstances
# Two servers with default settings cannot run on the same host
#
######################################################################

#---------------------------------------------------------------------
# change to 80 and 443 for production use
set httpport 8000
set httpsport 8443
# If setting port below 1024 with AOLServer 4, read comments in file:
# /var/lib/aolserver/service0/packages/etc/daemontools/run

# The hostname and address should be set to actual values.
# setting the address to 0.0.0.0 means aolserver listens on all interfaces
set hostname 0.0.0.0
set address 0.0.0.0

# Note: If port is privileged (usually < 1024), OpenACS must be
# started by root, and, in AOLserver 4, the run script have a
# '-b address' flag which matches the address according to settings (above)

set server "pabloacs"
set servername "pabloacs - New OpenACS Installation - Development"

set serverroot "/var/www/${server}"

#---------------------------------------------------------------------
# which database do you want? postgres or oracle
set database postgres

set db_name $server

if { $database eq "oracle" } {
set db_password "mysitepassword"
} else {
set db_host localhost
set db_port ""
"/var/lib/aolserver/pabloacs/etc/config.tcl" 675 lines, 28859 characters written
pabloacs@debian:~$
pabloacs@debian:~$
pabloacs@debian:~$ /usr/local/aolserver/bin/nsd-postgres -t /var/lib/aolserver/pabloacs/etc/config.tcl
pabloacs@debian:~$ [13/Dec/2012:15:17:46][1607.1950369536][-main-] Notice: nsd.tcl: starting to read config file...
[13/Dec/2012:15:17:46][1607.1950369536][-main-] Notice: nsd.tcl: using threadsafe tcl: 1
[13/Dec/2012:15:17:46][1607.1950369536][-main-] Notice: nsd.tcl: finished reading config file.

pabloacs@debian:~$
pabloacs@debian:~$ cat /var/lib/aolserver/pabloacs/etc/config.tcl
ns_log notice "nsd.tcl: starting to read config file..."

######################################################################
#
# Instance-specific settings
# These default settings will only work in limited circumstances
# Two servers with default settings cannot run on the same host
#
######################################################################

#---------------------------------------------------------------------
# change to 80 and 443 for production use
set httpport 8000
set httpsport 8443
# If setting port below 1024 with AOLServer 4, read comments in file:
# /var/lib/aolserver/service0/packages/etc/daemontools/run

# The hostname and address should be set to actual values.
# setting the address to 0.0.0.0 means aolserver listens on all interfaces
set hostname 0.0.0.0
set address 0.0.0.0

# Note: If port is privileged (usually < 1024), OpenACS must be
# started by root, and, in AOLserver 4, the run script have a
# '-b address' flag which matches the address according to settings (above)

set server "pabloacs"
set servername "pabloacs - New OpenACS Installation - Development"

set serverroot "/var/www/${server}"

#---------------------------------------------------------------------
# which database do you want? postgres or oracle
set database postgres

set db_name $server

if { $database eq "oracle" } {
set db_password "mysitepassword"
} else {
set db_host localhost
set db_port ""
set db_user $server
}

#---------------------------------------------------------------------
# if debug is false, all debugging will be turned off
set debug yes

set homedir /usr/lib/aolserver4
set bindir ${homedir}/bin

set max_file_upload_mb 20
set max_file_upload_min 5

######################################################################
#
# End of instance-specific settings
#
# Nothing below this point need be changed in a default install.
#
######################################################################

#---------------------------------------------------------------------
#
# AOLserver's directories. Autoconfigurable.
#
#---------------------------------------------------------------------
# Where are your pages going to live ?
set pageroot ${serverroot}/www
set directoryfile index.tcl,index.adp,index.html,index.htm

#---------------------------------------------------------------------
# Global server parameters
#---------------------------------------------------------------------
ns_section ns/parameters
ns_param serverlog ${serverroot}/log/error.log
ns_param home $homedir
# maxkeepalive is ignored in aolserver4.x
ns_param maxkeepalive 0
ns_param logroll on
ns_param maxbackup 5
ns_param debug $debug
# ns_param mailhost localhost

# setting to Unicode by default
# see http://dqd.com/~mayoff/encoding-doc.html
ns_param HackContentType 1
ns_param DefaultCharset utf-8
ns_param HttpOpenCharset utf-8
ns_param OutputCharset utf-8
ns_param URLCharset utf-8

#---------------------------------------------------------------------
# Thread library (nsthread) parameters
#---------------------------------------------------------------------
ns_section ns/threads
ns_param mutexmeter true ;# measure lock contention
# The per-thread stack size must be a multiple of 8k for AOLServer to run under MacOS X
ns_param stacksize [expr {128 * 8192}]

#
# MIME types.
#
ns_section ns/mimetypes
# Note: AOLserver already has an exhaustive list of MIME types:
# see: /usr/local/src/aolserver-4.{version}/aolserver/nsd/mimetypes.c
# but in case something is missing you can add it here.
ns_param Default */*
ns_param NoExtension */*
ns_param .pcd image/x-photo-cd
ns_param .prc application/x-pilot
ns_param .xls application/vnd.ms-excel
ns_param .doc application/vnd.ms-word

#---------------------------------------------------------------------
#
# 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 maxconnections 100 ;# Max connections to put on queue
ns_param maxdropped 0
ns_param maxthreads 10
ns_param minthreads 5
ns_param threadtimeout 120 ;# Idle threads die at this rate
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 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

#
# Special HTTP pages
#
ns_param NotFoundResponse "/global/file-not-found.html"
ns_param ServerBusyResponse "/global/busy.html"
ns_param ServerInternalErrorResponse "/global/error.html"

#---------------------------------------------------------------------
#
# 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 $debug ;# Allow Tclpro debugging with "?debug"
ns_param defaultparser fancy

ns_section ns/server/${server}/adp/parsers
ns_param fancy ".adp"

ns_section ns/server/${server}/redirects
ns_param 404 "global/file-not-found.html"
ns_param 403 "global/forbidden.html"

#
# Tcl Configuration
#
ns_section ns/server/${server}/tcl
ns_param library ${serverroot}/tcl
ns_param autoclose on
ns_param debug $debug

#---------------------------------------------------------------------
#
# Rollout email support
#
# These procs help manage differing email behavior on
# dev/staging/production.
#
#---------------------------------------------------------------------
ns_section ns/server/${server}/acs/acs-rollout-support

# EmailDeliveryMode can be:
# default: Email messages are sent in the usual manner.
# log: Email messages are written to the server's error log.
# redirect: Email messages are redirected to the addresses specified
# by the EmailRedirectTo parameter. If this list is absent
# or empty, email messages are written to the server's error log.
# filter: Email messages are sent to in the usual manner if the
# recipient appears in the EmailAllow parameter, otherwise they
# are logged.

# ns_param EmailDeliveryMode redirect
# ns_param EmailRedirectTo mailto:somenerd@yourdomain.test, mailto:othernerd@yourdomain.test
# ns_param EmailAllow mailto:somenerd@yourdomain.test,mailto:othernerd@yourdomain.test

#---------------------------------------------------------------------
#
# WebDAV Support (optional, requires oacs-dav package to be installed
#
#---------------------------------------------------------------------
ns_section ns/server/${server}/tdav
ns_param propdir ${serverroot}/data/dav/properties
ns_param lockdir ${serverroot}/data/dav/locks
ns_param defaultlocktimeout "300"

ns_section ns/server/${server}/tdav/shares
ns_param share1 "OpenACS"
# ns_param share2 "Share 2 description"

ns_section ns/server/${server}/tdav/share/share1
ns_param uri "/dav/*"
# all WebDAV options
ns_param options "OPTIONS COPY GET PUT MOVE DELETE HEAD MKCOL POST PROPFIND PROPPATCH LOCK UNLOCK"

#ns_section ns/server/${server}/tdav/share/share2
# ns_param uri "/share2/path/*"
# read-only WebDAV options
# ns_param options "OPTIONS COPY GET HEAD MKCOL POST PROPFIND PROPPATCH"

#---------------------------------------------------------------------
#
# Socket driver module (HTTP) -- nssock
#
#---------------------------------------------------------------------
ns_section ns/server/${server}/module/nssock
ns_param timeout 120
ns_param address $address
ns_param hostname $hostname
ns_param port $httpport
# setting maxinput higher than practical may leave the server vulnerable to resource DoS attacks
# see http://www.panoptic.com/wiki/aolserver/166
ns_param maxinput [expr {$max_file_upload_mb * 1024 * 1024}] ;# Maximum File Size for uploads in bytes
ns_param maxpost [expr {$max_file_upload_mb * 1024 * 1024}] ;# Maximum File Size for uploads in bytes
ns_param recvwait [expr {$max_file_upload_min * 60}] ;# Maximum request time in minutes

# maxsock will limit the number of simultanously returned pages,
# regardless of what maxthreads is saying
ns_param maxsock 100 ;# 100 = default

# On Windows you need to set this parameter to define the number of
# connections as well (it seems).
ns_param backlog 5 ;# if < 1 == 5

# Optional params with defaults:
ns_param bufsize 16000
ns_param rcvbuf 0
ns_param sndbuf 0
ns_param socktimeout 30 ;# if < 1 == 30
ns_param sendwait 30 ;# if < 1 == socktimeout
ns_param recvwait 30 ;# if < 1 == socktimeout
ns_param closewait 2 ;# if < 0 == 2
ns_param keepwait 30 ;# if < 0 == 30
ns_param readtimeoutlogging false
ns_param serverrejectlogging false
ns_param sockerrorlogging false
ns_param sockshuterrorlogging false

#---------------------------------------------------------------------
#
# Access log -- nslog
#
#---------------------------------------------------------------------
ns_section ns/server/${server}/module/nslog
ns_param debug false
ns_param dev false
ns_param enablehostnamelookup false
ns_param file ${serverroot}/log/${server}.log
ns_param logcombined true
ns_param extendedheaders COOKIE
# ns_param logrefer false
# ns_param loguseragent false
ns_param logreqtime true
ns_param maxbackup 1000
ns_param rollday *
ns_param rollfmt %Y-%m-%d-%H:%M
ns_param rollhour 0
ns_param rollonsignal true
ns_param rolllog true

#---------------------------------------------------------------------
#
# nsjava - aolserver module that embeds a java virtual machine. Needed to
# support webmail. See http://nsjava.sourceforge.net for further
# details. This may need to be updated for OpenACS4 webmail
#
#---------------------------------------------------------------------
ns_section ns/server/${server}/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:${bindir}/nsjava.jar:${pageroot}/webmail/java/activation.jar:${pageroot}/webmail/java/mail.jar:${pageroot}/webmail/java

#---------------------------------------------------------------------
#
# CGI interface -- nscgi, if you have legacy stuff. Tcl or ADP files inside
# AOLserver are vastly superior to CGIs. I haven't tested these params but they
# should be right.
#
#---------------------------------------------------------------------
#ns_section "ns/server/${server}/module/nscgi"
# ns_param map "GET /cgi-bin ${serverroot}/cgi-bin"
# ns_param map "POST /cgi-bin ${serverroot}/cgi-bin"
# ns_param Interps CGIinterps

#ns_section "ns/interps/CGIinterps"
# ns_param .pl "/usr/bin/perl"

#---------------------------------------------------------------------
#
# PAM authentication
#
#---------------------------------------------------------------------
ns_section ns/server/${server}/module/nspam
ns_param PamDomain "pam_domain"

#---------------------------------------------------------------------
#
# OpenSSL for Aolserver 3.3 and 4
#
#---------------------------------------------------------------------
if { [ns_info version] < 4} {

#---------------------------------------------------------------------
# OpenSSL for Aolserver 3.3
#---------------------------------------------------------------------

ns_section "ns/server/${server}/module/nsopenssl"

ns_param ModuleDir ${serverroot}/etc/certs

# NSD-driven connections:
ns_param ServerPort $httpsport
ns_param ServerHostname $hostname
ns_param ServerAddress $address
ns_param ServerCertFile certfile.pem
ns_param ServerKeyFile keyfile.pem
ns_param ServerProtocols "SSLv2, SSLv3, TLSv1"
ns_param ServerCipherSuite "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP"
ns_param ServerSessionCache true
ns_param ServerSessionCacheID 1
ns_param ServerSessionCacheSize 512
ns_param ServerSessionCacheTimeout 300
ns_param ServerPeerVerify false
ns_param ServerPeerVerifyDepth 3
ns_param ServerCADir ca
ns_param ServerCAFile ca.pem
ns_param ServerTrace false

# For listening and accepting SSL connections via Tcl/C API:
ns_param SockServerCertFile certfile.pem
ns_param SockServerKeyFile keyfile.pem
ns_param SockServerProtocols "SSLv2, SSLv3, TLSv1"
ns_param SockServerCipherSuite "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP"
ns_param SockServerSessionCache true
ns_param SockServerSessionCacheID 2
ns_param SockServerSessionCacheSize 512
ns_param SockServerSessionCacheTimeout 300
ns_param SockServerPeerVerify false
ns_param SockServerPeerVerifyDepth 3
ns_param SockServerCADir internal_ca
ns_param SockServerCAFile internal_ca.pem
ns_param SockServerTrace false

# Outgoing SSL connections
ns_param SockClientCertFile certfile.pem
ns_param SockClientKeyFile keyfile.pem
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 false
ns_param SockServerPeerVerifyDepth 3
ns_param SockClientCADir ca
ns_param SockClientCAFile ca.pem
ns_param SockClientTrace false

# OpenSSL library support:
# ns_param RandomFile /some/file
ns_param SeedBytes 1024

} else {

#---------------------------------------------------------------------
# OpenSSL for Aolserver 4
#---------------------------------------------------------------------
ns_section "ns/server/${server}/module/nsopenssl"

# Note this portion of the configuration is not perfect, and you
# will get errors in the your error.log. However, it does
# work. Fixes welcome.

# this is used by acs-tcl/tcl/security-procs.tcl to get the
# https port.
ns_param ServerPort $httpsport
# setting maxinput higher than practical may leave the server vulnerable to resource DoS attacks
# see http://www.panoptic.com/wiki/aolserver/166
# must set maxinput for nsopenssl as well as nssock
ns_param maxinput [expr {$max_file_upload_mb * 1024 * 1024}] ;# Maximum File Size for uploads in bytes

# We explicitly tell the server which SSL contexts to use as defaults when an
# SSL context is not specified for a particular client or server SSL
# connection. Driver connections do not use defaults; they must be explicitly
# specificied in the driver section. The Tcl API will use the defaults as there
# is currently no provision to specify which SSL context to use for a
# particular connection via an ns_openssl Tcl command.
ns_section "ns/server/${server}/module/nsopenssl/sslcontexts"
ns_param users "SSL context used for regular user access"
# ns_param admins "SSL context used for administrator access"
ns_param client "SSL context used for outgoing script socket connections"

ns_section "ns/server/${server}/module/nsopenssl/defaults"
ns_param server users
ns_param client client

ns_section "ns/server/${server}/module/nsopenssl/sslcontext/users"
ns_param Role server
ns_param ModuleDir ${serverroot}/etc/certs
ns_param CertFile certfile.pem
ns_param KeyFile keyfile.pem
# ns_param CADir ca-client/dir
# ns_param CAFile ca-client/ca-client.crt
# for Protocols "ALL" = "SSLv2, SSLv3, TLSv1"
ns_param Protocols "SSLv3, TLSv1"
ns_param CipherSuite "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP"
ns_param PeerVerify false
ns_param PeerVerifyDepth 3
ns_param Trace false

# following from bartt's nsd4.tcl, might help stablize openssl connections?
# http://www.mail-archive.com/aolserver@listserv.aol.com/msg07092.html
ns_param SessionCache true
ns_param SessionCacheID 1
ns_param SessionCacheSize 512
ns_param SessionCacheTimeout 300

# ns_section "ns/server/${server}/module/nsopenssl/sslcontext/admins"
# ns_param Role server
# ns_param ModuleDir /path/to/dir
# ns_param CertFile server/server.crt
# ns_param KeyFile server/server.key
# ns_param CADir ca-client/dir
# ns_param CAFile ca-client/ca-client.crt
# for Protocols "ALL" = "SSLv2, SSLv3, TLSv1"
# ns_param Protocols "All"
# ns_param CipherSuite "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP"
# ns_param PeerVerify false
# ns_param PeerVerifyDepth 3
# ns_param Trace false

ns_section "ns/server/${server}/module/nsopenssl/sslcontext/client"
ns_param Role client
ns_param ModuleDir ${serverroot}/etc/certs
ns_param CertFile certfile.pem
ns_param KeyFile keyfile.pem
# ns_param CADir ${serverroot}/etc/certs
# ns_param CAFile certfile.pem
# for Protocols "ALL" = "SSLv2, SSLv3, TLSv1"
ns_param Protocols "SSLv2, SSLv3, TLSv1"
ns_param CipherSuite "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP"
ns_param PeerVerify false
ns_param PeerVerifyDepth 3
ns_param Trace false

# following from bartt's nsd4.tcl, might help stablize openssl connections?
# http://www.mail-archive.com/aolserver@listserv.aol.com/msg07092.html
ns_param SessionCache true
ns_param SessionCacheID 1
ns_param SessionCacheSize 512
ns_param SessionCacheTimeout 300

# SSL drivers. Each driver defines a port to listen on and an explitictly named
# SSL context to associate with it. Note that you can now have multiple driver
# connections within a single virtual server, which can be tied to different
# SSL contexts.
ns_section "ns/server/${server}/module/nsopenssl/ssldrivers"
ns_param users "Driver for regular user access"
# ns_param admins "Driver for administrator access"

ns_section "ns/server/${server}/module/nsopenssl/ssldriver/users"
ns_param sslcontext users
# ns_param port $httpsport_users
ns_param port $httpsport
ns_param hostname $hostname
ns_param address $address
# following added per
# http://www.mail-archive.com/aolserver@listserv.aol.com/msg07365.html
# Maximum File Size for uploads:
ns_param maxinput [expr {$max_file_upload_mb * 1024 * 1024}] ;# in bytes
# Maximum request time
ns_param recvwait [expr {$max_file_upload_min * 60}] ;# in minutes

# ns_section "ns/server/${server}/module/nsopenssl/ssldriver/admins"
# ns_param sslcontext admins
# ns_param port $httpsport_admins
# ns_param port $httpsport
# ns_param hostname $hostname
# ns_param address $address
}

#---------------------------------------------------------------------
#
# Database drivers
# The database driver is specified here.
# Make sure you have the driver compiled and put it in {aolserverdir}/bin
#
#---------------------------------------------------------------------
ns_section "ns/db/drivers"
if { $database eq "oracle" } {
ns_param ora8 ${bindir}/ora8.so
} else {
ns_param postgres ${bindir}/nspostgres.so ;# Load PostgreSQL driver
}

if { $database eq "oracle" } {
ns_section "ns/db/driver/ora8"
ns_param maxStringLogLength -1
ns_param LobBufferSize 32768
}

# 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, if needed.
#
# AOLserver can have different pools connecting to different databases
# and even different different database servers. See
# https://openacs.org/doc/openacs-5-1/tutorial-second-database.html

ns_section ns/db/pools
ns_param pool1 "Pool 1"
ns_param pool2 "Pool 2"
ns_param pool3 "Pool 3"

ns_section ns/db/pool/pool1
ns_param maxidle 0
ns_param maxopen 0
ns_param connections 15
ns_param verbose $debug
ns_param extendedtableinfo true
ns_param logsqlerrors $debug
if { $database eq "oracle" } {
ns_param driver ora8
ns_param datasource {}
ns_param user $db_name
ns_param password $db_password
} else {
ns_param driver postgres
ns_param datasource ${db_host}:${db_port}:${db_name}
ns_param user $db_user
ns_param password ""
}

ns_section ns/db/pool/pool2
ns_param maxidle 0
ns_param maxopen 0
ns_param connections 5
ns_param verbose $debug
ns_param extendedtableinfo true
ns_param logsqlerrors $debug
if { $database eq "oracle" } {
ns_param driver ora8
ns_param datasource {}
ns_param user $db_name
ns_param password $db_password
} else {
ns_param driver postgres
ns_param datasource ${db_host}:${db_port}:${db_name}
ns_param user $db_user
ns_param password ""
}

ns_section ns/db/pool/pool3
ns_param maxidle 0
ns_param maxopen 0
ns_param connections 5
ns_param verbose $debug
ns_param extendedtableinfo true
ns_param logsqlerrors $debug
if { $database eq "oracle" } {
ns_param driver ora8
ns_param datasource {}
ns_param user $db_name
ns_param password $db_password
} else {
ns_param driver postgres
ns_param datasource ${db_host}:${db_port}:${db_name}
ns_param user $db_user
ns_param password ""
}

ns_section ns/server/${server}/db
ns_param pools pool1,pool2,pool3
ns_param defaultpool pool1

#---------------------------------------------------------------------
# which modules should be loaded? Missing modules break the server, so
# don't uncomment modules unless they have been installed.
ns_section ns/server/${server}/modules
ns_param nssock ${bindir}/nssock.so
ns_param nslog ${bindir}/nslog.so
ns_param nssha1 ${bindir}/nssha1.so
# since aolserver version 4.5.1 built-in ns_cache, so we dont
# need to load the nscache module.
if {[ns_info version] < 4.5 || [ns_info patchlevel] eq "4.5.0"} {
ns_param nscache ${bindir}/nscache.so
}
# openacs versions earlier than 5.x requires nsxml
# ns_param nsxml ${bindir}/nsxml.so

#---------------------------------------------------------------------
# nsopenssl will fail unless the cert files are present as specified
# later in this file, so it's disabled by default
# ns_param nsopenssl ${bindir}/nsopenssl.so

# authorize-gateway package requires dqd_utils
# ns_param dqd_utils dqd_utils[expr {int($tcl_version)}].so

# Full Text Search
# ns_param nsfts ${bindir}/nsfts.so

# PAM authentication
# ns_param nspam ${bindir}/nspam.so

# LDAP authentication
# ns_param nsldap ${bindir}/nsldap.so

# These modules aren't used in standard OpenACS installs
# ns_param nsperm ${bindir}/nsperm.so
# ns_param nscgi ${bindir}/nscgi.so
# ns_param nsjava ${bindir}/libnsjava.so
# ns_param nsrewrite ${bindir}/nsrewrite.so

if { [ns_info version] >= 4 } {
# Required for AOLserver 4.x
ns_param nsdb ${bindir}/nsdb.so
} else {
# Required for AOLserver 3.x
ns_param libtdom ${bindir}/libtdom.so
}

# nsthread library which should become standard in 5.3
ns_param libthread [lindex [glob ${homedir}/lib/thread*/libthread*[info sharedlibextension]] 0]

if {[ns_info version] >= 4.5} {
ns_limits set default -maxupload [ns_config ns/server/${server}/module/nssock maxinput]
}

ns_log notice "nsd.tcl: using threadsafe tcl: [info exists tcl_platform(threaded)]"
ns_log notice "nsd.tcl: finished reading config file."
if {[ns_info version] >= 4.5} {
ns_limits set default -maxupload [ns_config ns/server/${server}/module/nssock maxinput]
}
pabloacs@debian:~$

I have no reason to install open 5.5.0, and I can move to 5.7. I was just following the instructions on the web page. I will give it a try.

If you have any other suggestion, please share with me. I know I'm close... but not quite there yet.

Thanks

5.7 gave me the same error... I'm pretty sure that I'm missing the openacs web pages that are inccluded to install the application.

But I followed the install guide with no deviations... I even tried doint it a couple of times, with different distros, I always get to the same Not Found.

I'm wondering if this is the problem:

config.tls shows:

set server "pabloacs"
set serverroot "/var/www/${server}"
set pageroot ${serverroot}/www

Then all the pages should be stores on /var/www/pabloacs/www right? But there is nothing there, just the log folder:

pabloacs@debian:/var/lib/aolserver$ ls -l /var/www/pabloacs/
total 4
drwxr-xr-x 2 pabloacs pabloacs 4096 Dec 9 16:03 log

Should a change the "pageroot" variable?

Point to "/var/lib/aolserver/pabloacs/packages/acs-admin/www/" maybe?

Pablo,

a coupla questions...

does /var/lib/aolserver/pabloacs/ exist?

does /var/www/pabloacs exist?

-Jim

Jim, yes.

does /var/lib/aolserver/pabloacs/ exist? YES

root@debian:~# ls -l /var/lib/aolserver/pabloacs/
total 188
drwxr-xr-x 3 pabloacs web 4096 Dec 13 15:31 bin
-rwxr-xr-x 1 pabloacs web 99383 Dec 9 16:55 ChangeLog
drwxr-xr-x 3 pabloacs web 4096 Dec 13 15:31 content-repository-content-files
drwxr-xr-x 2 pabloacs web 4096 Dec 13 15:31 CVS
drwxr-xr-x 11 pabloacs web 4096 Dec 13 15:31 data
drwxr-xr-x 4 pabloacs web 4096 Dec 13 15:31 doc
drwxr-xr-x 6 pabloacs web 4096 Dec 13 15:31 etc
drwxr-xr-x 7 pabloacs web 4096 Dec 13 15:31 include
drwxr-xr-x 5 pabloacs web 4096 Dec 13 15:31 install
drwxr-xr-x 4 pabloacs web 4096 Dec 13 15:31 lib
-rwxr-xr-x 1 pabloacs web 18009 Dec 9 16:55 license.txt
drwxr-xr-x 3 pabloacs web 4096 Dec 13 15:31 log
drwxr-xr-x 5 pabloacs web 4096 Dec 13 15:31 man
drwxr-xr-x 26 pabloacs web 4096 Dec 13 15:31 packages
-rwxr-xr-x 1 pabloacs web 1911 Dec 9 16:55 readme.txt
drwxr-xr-x 4 pabloacs web 4096 Dec 13 15:31 share
drwxr-xr-x 3 pabloacs web 4096 Dec 13 15:31 tcl
drwxr-xr-x 6 pabloacs web 4096 Dec 13 15:31 www

does /var/www/pabloacs exist? YES

root@debian:~# ls -l /var/www/pabloacs
total 4
drwxr-xr-x 2 pabloacs pabloacs 4096 Dec 14 09:08 log
root@debian:~#

But, there is no www directory on /var/www/pabloacs, and I think this is the problem.

I did this:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
root@debian:~# mkdir /var/www/pabloacs/www
root@debian:~# chown -R pabloacs.web /var/www/pabloacs/
root@debian:~# su - pabloacs
pabloacs@debian:~$ echo "TEST PAGE" > /var/www/pabloacs/www/index.html
pabloacs@debian:~$ ls -l /var/www/pabloacs/www/
total 4
-rw-r--r-- 1 pabloacs web 10 Dec 14 09:37 index.html
pabloacs@debian:~$
pabloacs@debian:~$ /usr/local/aolserver/bin/nsd-postgres -t /var/lib/aolserver/pabloacs/etc/config.tcl
pabloacs@debian:~$ [14/Dec/2012:09:38:20][2183.1563490048][-main-] Notice: nsd.tcl: starting to read config file...
[14/Dec/2012:09:38:20][2183.1563490048][-main-] Notice: nsd.tcl: using threadsafe tcl: 1
[14/Dec/2012:09:38:20][2183.1563490048][-main-] Notice: nsd.tcl: finished reading config file.

pabloacs@debian:~$
pabloacs@debian:~$ lynx 192.168.143.13:8000
Looking up '192.168.143.13' first

TEST PAGE

Are you sure you want to quit? (y)
Arrow keys: Up and Down to move. Right to follow a link; Left to go back.
pabloacs@debian:~$

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This proves the aolserver works, which I already know, Im missing the openacs install files. Im sure those are included on the tar and the cvs when you checkout.

Thanks

OK, another thing we already know exists, is

/var/lib/aolserver/pabloacs/etc/config.tcl ,

that is, your config file.Also, if you take the etc/config.tcl away, then you have the dir of your entire openacs installation (of course, aolserver, tcl and friends are elsewhere).

I would say the config file needs to be adjusted; to start with look for occurrances of /var/www/pabloacs and replace with /var/lib/aolserver/pabloacs and see what happens when you try to start it.

-Jim

Thanks a lot Jim, that did it. After changing

set serverroot "/var/lib/aolserver/${server}"

On config.tcl I got the install page for openacs!!

Welcome, congratulations.

So there are things to notice here,

first, all the web content is somewhere in (for you) /var/lib/aolserver/$server (in your case $server is pabloacs)

having said that part, you could really put it anywhere, I like /web, so for me my content is generally in /web/$server.

Then, there are the aolserver binaries and the tcl install and the little pieces (like sha1, xotcl if you need that, tdom)

Finally there is where the database is, if you were to build it in the default place, that would be /usr/local/pgsql.

The older places and users, /web/$server and nsadmin, so nsadmin would own everythihg in /web/$server and also /web/$server2. etc.

Another alternative you can try:

let's use "pabloacs" as an example

first, create a user called pabloacs

have postgresql add a role called pabloacs, and to avoid some extra work, make that role a superuser. Test this by logging in as pabloacs and run psql template1; if you get in without error, the role works fine, test done and you can \q from psql.

I know I said I like /web, but let's use the place you're using...

as root, you would make a dir /var/lib/aolserver/pabloacs and chown pabloacs:pabloacs /var/lib/aolserver/pabloac

from this point forward (with one small exception if you use daemontools), you can now do everything as pabloacs and you can add more services in their own users similar to the above.

after this, you would create the database, put the openacs files in their place, adjust the config file and try starting the service, and if the port is above 1024,, you need not start it as root.

What you have as a result, is an openacs owned by a particular user, and one that user controls.

-Jim, who wonders if you have questions.

Well, I already hit a new issue with tDOM that I need to investigate...

I get this:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

At least one misconfiguration was discovered that must be corrected. Please fix all of them, restart the web server, and try running the OpenACS installer again. You can proceed without resolving these errors, but the system may not function correctly.

Problems with XML support for AOLserver:
tDOM is not installed! You must have tDOM installed, or nothing will work.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Still under investigation...

Hi Pablo,

I think the debian port system is similar to ubuntu, so you should be able to search for tdom from terminal like this:

sudo su -
apt-cache search tdom

# and then attempt install with:

apt-get install tdom

# it will stop and tell you if it is already installed.

cheers,

Torben

Curious, how did you install the tcl you are using with aolserver? If you built it yourself (very possible) then you'd need to build tdom using the same prefix as the tcl, and --with-tcl=(that prefix)/lib

if you installed tcl from the debian packages, there should be a tdom package that will work, as Torbin is suggesting.

The tdom from its debian package will work with tcl from its debian package, but not with a tcl built from source, especialy if it's in a different location.

-Jim

Torben, I installed ttom from source.
But I know I can get them using apt-get. I decided to build everything from source since installing debian pre compiled packages did not work ok for me (maybe with a bit more effort I can get it done, but then it's better to compile if effort is required).
Jim,

I installed all from source. This is how I compiled tDOM originally:

../configure --enable-threads --disable-tdomalloc --prefix=/usr/local/aolserver --with-tcl=/usr/local/lib
sh CONFIG
make install

And then, after some reading (including README.AOL) I did:

../configure --enable-threads --disable-tdomalloc \
--prefix=/usr/local/aolserver --with-tcl=/usr/local/lib \
--with-aolserver=/usr/local/aolserver
sh CONFIG
make install

But both result on the same error "tDOM is not installed! You must have tDOM installed, or nothing will work"

I think the problem is just that I'm failing to tell aolserver where tdom is. Looking into it now...
Just in case someone knows how to read the logs... this is the error (debug is on), I guet a Tcl exception

pabloacs@debian:~$ tail -f /var/lib/aolserver/pabloacs/log/error.log
[15/Dec/2012:08:27:00][1443.425740032][-main-] Notice: Done.
[15/Dec/2012:08:27:00][1443.425740032][-main-] Notice: Executing initialization code blocks...
[15/Dec/2012:08:27:00][1443.425740032][-main-] Debug: QD=Postload files to load:
[15/Dec/2012:08:27:00][1443.425740032][-main-] Debug: QD=Postload files to load:
[15/Dec/2012:08:27:00][1443.425740032][-main-] Notice: nsmain: AOLserver/4.5.0 running
[15/Dec/2012:08:27:00][1443.425740032][-main-] Notice: nsmain: security info: uid=1002, euid=1002, gid=1001, egid=1001
[15/Dec/2012:08:27:00][1443.384177920][-sched-] Notice: sched: starting
[15/Dec/2012:08:27:00][1443.425740032][-main-] Notice: driver: starting: nssock
[15/Dec/2012:08:27:00][1443.350840576][-nssock:driver-] Notice: starting
[15/Dec/2012:08:27:00][1443.350840576][-nssock:driver-] Notice: nssock: listening on 0.0.0.0:8000
[15/Dec/2012:08:27:14][1443.349783808][-conn:0-] Debug: NO FULLQUERY FOR dbqd.acs-tcl.tcl.00-database-procs.db_table_exists.table_count --> using default SQL
[15/Dec/2012:08:27:14][1443.349783808][-conn:0-] Notice: Querying '
select count(*) from pg_class
where relname = lower('apm_packages') and
relname !~ '^pg_' and relkind = 'r';'
[15/Dec/2012:08:27:14][1443.349783808][-conn:0-] Notice: dbinit: sql(localhost::pabloacs): '
select count(*) from pg_class
where relname = lower('apm_packages') and
relname !~ '^pg_' and relkind = 'r'
'
[15/Dec/2012:08:27:14][1443.349783808][-conn:0-] Debug: db_exec: timing 0 seconds nsdb0 0or1row dbqd.acs-tcl.tcl.00-database-procs.db_table_exists.table_count
[15/Dec/2012:08:27:14][1443.349783808][-conn:0-] Debug: NO FULLQUERY FOR dbqd.acs-tcl.tcl.request-processor-procs.ad_acs_kernel_id_mem.acs_kernel_id_get --> using default SQL
[15/Dec/2012:08:27:14][1443.349783808][-conn:0-] Error: Tcl exception:
No fullquery for dbqd.acs-tcl.tcl.request-processor-procs.ad_acs_kernel_id_mem.acs_kernel_id_get and default SQL empty - query for statement missing
while executing
"error "No fullquery for $statement_name and default SQL empty - query for statement missing""
(procedure "db_qd_replace_sql" line 10)
invoked from within
"db_qd_replace_sql $statement_name $pre_sql"
(procedure "db_exec" line 13)
invoked from within
"db_exec 0or1row $db $full_name $sql"
invoked from within
"set selection [db_exec 0or1row $db $full_name $sql]"
("uplevel" body line 2)
invoked from within
"uplevel 1 $code_block "
invoked from within
"db_with_handle -dbn $dbn db {
set selection [db_exec 0or1row $db $full_name $sql]
}"
(procedure "db_string" line 27)
invoked from within
"db_string acs_kernel_id_get {} -default 0"
(procedure "ad_acs_kernel_id_mem" line 2)
invoked from within
"ad_acs_kernel_id_mem"
(procedure "ad_acs_kernel_id" line 2)
invoked from within
"ad_acs_kernel_id"
(procedure "util_current_location" line 16)
invoked from within
"util_current_location"
(procedure "ad_returnredirect" line 18)
invoked from within
"ad_returnredirect "/""
(procedure "install_handler" line 32)
invoked from within
"install_handler cns1 {} preauth"

tdom (and a few others, xotcl is one) are tcl modules, and since you built tcl into /usr/local, it will find its modules more readily if you set tdom prefix to /usr/local.

most of the modules that have the ./configure paramater --with-tcl are tcl modules -- except aolserver, which does and is not a tcl module. All the tcl modules you build for openacs should go in your tcl's prefix, which I think is /usr/local.

Notice your tdom is actually building... this is because you're correctly telling it where tcl is.

(examples of non-tcl modules, nssha1, nspostgres... those two are aolserver modules and they should go in aolserver's bin dir)

And keep in mind that you may have other tcl modules you would need to change the prefix on.

I'll make one more suggestion... I like to keep the sources to the whole aolserver/oacs stack in one dir, and the main thing is I keep these little text files, like tdom-configure-step.txt that I just cat and read to know how to rebuild.

Often I will waste lotsa disk space and deep separate source copies for each openacs instance; you don't have to do that of course.

-Jim

Below I paste how I built both tcl and tdom. I'm not sure what to put on "--with-tcl". I was using "/usr/local/lib", but maybe I need to use "/usr/local/" ad you suggest, or "/usr/local/bin/". Excuse my ignorance, I'm not sure what tdom is looking for, if only the tclsh or the libraries (I guess it's the second).

This is how I built tcl:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cd /usr/local/src/
wget http://prdownloads.sourceforge.net/tcl/tcl8.4.19-src.tar.gz
tar xfz tcl8.4.19-src.tar.gz
cd tcl8.4.19/
cd unix
./configure --prefix=/usr/local/aolserver --enable-threads
make install
ln -s /usr/local/bin/tclsh8.4 /usr/local/bin/tclsh
ln -s /usr/local/bin/tclsh8.4 /usr/bin/tclsh
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

And this is how I built tdom:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

cd /usr/local/src
wget https://github.com/downloads/tDOM/tdom/tDOM-0.8.3.tgz
tar xvfz tDOM-0.8.3.tgz
cd tDOM-0.8.3/unix/
../configure --enable-threads --disable-tdomalloc --prefix=/usr/local/aolserver --with-tcl=/usr/local/lib
sh CONFIG
make install

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Also, in case it helps, my directories look like this:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

root@debian:~# ls -l /usr/local
total 40
drwxr-sr-x 9 root staff 4096 Dec 8 00:32 aolserver
drwxrwsr-x 2 root staff 4096 Dec 8 16:32 bin
drwxrwsr-x 2 root staff 4096 Nov 25 15:10 etc
drwxrwsr-x 2 root staff 4096 Nov 25 15:10 games
drwxrwsr-x 2 root staff 4096 Dec 7 13:39 include
drwxrwsr-x 5 root staff 4096 Dec 15 08:53 lib
lrwxrwxrwx 1 root staff 9 Nov 25 15:10 man -> share/man
drwxr-s--- 9 postgres web 4096 Dec 11 20:51 pgsql
drwxrwsr-x 2 root staff 4096 Nov 25 15:10 sbin
drwxrwsr-x 6 root staff 4096 Nov 25 15:21 share
drwxrwsr-x 11 root staff 4096 Dec 12 05:37 src
lrwxrwxrwx 1 root staff 25 Dec 8 16:32 tclwebtest -> /usr/local/tclwebtest-1.0

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

root@debian:~# ls -l /usr/local/bin
total 12
lrwxrwxrwx 1 root staff 15 Dec 7 23:58 envdir -> /command/envdir
lrwxrwxrwx 1 root staff 18 Dec 7 23:58 envuidgid -> /command/envuidgid
lrwxrwxrwx 1 root staff 15 Dec 7 23:58 fghack -> /command/fghack
lrwxrwxrwx 1 root staff 17 Dec 7 23:58 multilog -> /command/multilog
lrwxrwxrwx 1 root staff 17 Dec 7 23:58 pgrphack -> /command/pgrphack
lrwxrwxrwx 1 root staff 22 Dec 7 23:58 readproctitle -> /command/readproctitle
lrwxrwxrwx 1 root staff 16 Dec 7 23:58 setlock -> /command/setlock
lrwxrwxrwx 1 root staff 18 Dec 7 23:58 setuidgid -> /command/setuidgid
lrwxrwxrwx 1 root staff 18 Dec 7 23:58 softlimit -> /command/softlimit
lrwxrwxrwx 1 root staff 18 Dec 7 23:58 supervise -> /command/supervise
lrwxrwxrwx 1 root staff 12 Dec 7 23:58 svc -> /command/svc
-rwxr-xr-x 1 root staff 465 Dec 7 23:58 svgroup
lrwxrwxrwx 1 root staff 13 Dec 7 23:58 svok -> /command/svok
lrwxrwxrwx 1 root staff 15 Dec 7 23:58 svscan -> /command/svscan
lrwxrwxrwx 1 root staff 19 Dec 7 23:58 svscanboot -> /command/svscanboot
lrwxrwxrwx 1 root staff 15 Dec 7 23:58 svstat -> /command/svstat
lrwxrwxrwx 1 root staff 15 Dec 7 23:58 tai64n -> /command/tai64n
lrwxrwxrwx 1 root staff 20 Dec 7 23:58 tai64nlocal -> /command/tai64nlocal
lrwxrwxrwx 1 root staff 23 Dec 7 13:40 tclsh -> /usr/local/bin/tclsh8.4
-rwxr-xr-x 1 root staff 7866 Dec 7 13:39 tclsh8.4
lrwxrwxrwx 1 root staff 32 Dec 8 16:32 tclwebtest -> /usr/local/tclwebtest/tclwebtest

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

root@debian:~# ls -l /usr/local/lib
total 920
-r-xr-xr-x 1 root staff 907413 Dec 7 13:39 libtcl8.4.so
-rw-r--r-- 1 root staff 2524 Dec 7 13:39 libtclstub8.4.a
drwxrwsr-x 4 root staff 4096 Nov 25 15:21 python2.6
drwxr-sr-x 8 root staff 4096 Dec 7 13:39 tcl8.4
-rw-r--r-- 1 root staff 7466 Dec 7 13:39 tclConfig.sh
drwxr-sr-x 2 root staff 4096 Dec 15 08:53 tdom0.8.3
-rw-r--r-- 1 root staff 2000 Dec 15 08:53 tdomConfig.sh

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I think I just answered my own question by rebuilding tDOM. I was pointing to the right directory, "/usr/local/lib":

root@debian:/usr/local/src/tDOM-0.8.3/unix# make clean
test -z "libtdom0.8.3.so libtdomstub0.8.3.a" || rm -f libtdom0.8.3.so libtdomstub0.8.3.a
rm -f *.o core *.core
test -z "pkgIndex.tcl tcldomsh" || rm -f pkgIndex.tcl tcldomsh
root@debian:/usr/local/src/tDOM-0.8.3/unix# ../configure --enable-threads --disable-tdomalloc \

--prefix=/usr/local/aolserver --with-tcl=/usr/local/bin
checking for correct TEA configuration... ok (TEA 3.6)
checking for Tcl configuration... configure: error: /usr/local/bin directory doesn't contain tclConfig.sh
root@debian:/usr/local/src/tDOM-0.8.3/unix#
root@debian:/usr/local/src/tDOM-0.8.3/unix#
root@debian:/usr/local/src/tDOM-0.8.3/unix# ../configure --enable-threads --disable-tdomalloc --prefix=/usr/local/aolserver --with-tcl=/usr/local/
checking for correct TEA configuration... ok (TEA 3.6)
checking for Tcl configuration... configure: error: /usr/local/ directory doesn't contain tclConfig.sh
root@debian:/usr/local/src/tDOM-0.8.3/unix#
root@debian:/usr/local/src/tDOM-0.8.3/unix#
root@debian:/usr/local/src/tDOM-0.8.3/unix# ../configure --enable-threads --disable-tdomalloc --prefix=/usr/local/aolserver --with-tcl=/usr/local/lib
checking for correct TEA configuration... ok (TEA 3.6)
checking for Tcl configuration... found /usr/local/lib/tclConfig.sh
checking for existence of /usr/local/lib/tclConfig.sh... loading
configure: --exec-prefix defaulting to TCL_EXEC_PREFIX /usr/local
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... yes
checking for ranlib... ranlib
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking if the compiler understands -pipe... yes
checking whether byte ordering is bigendian... no
checking for sin... no
checking for main in -lieee... yes
checking for main in -linet... no
checking net/errno.h usability... no
checking net/errno.h presence... no
checking for net/errno.h... no
checking for connect... yes
checking for gethostbyname... yes
checking dirent.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking values.h usability... yes
checking values.h presence... yes
checking for values.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/wait.h usability... yes
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking for memmove... yes
checking for bcopy... yes
checking for AOLserver configuration... none found
checking for Tcl public headers... /usr/local/aolserver/include
checking for pthread_mutex_init in -lpthread... yes
checking for building with threads... yes (default)
checking how to build libraries... shared
checking if 64bit support is requested... no
checking if 64bit Sparc VIS support is requested... no
checking system version... Linux-2.6.32-5-amd64
checking for dlopen in -ldl... yes
checking for ar... ar
checking for required early compiler flags... _LARGEFILE64_SOURCE
checking for 64-bit integer type... using long
checking for build with symbols... no
checking for tclsh... /usr/local/bin/tclsh8.4
checking whether to enable dtd support... yes
checking whether to enable namespace support... yes
checking whether to enable built-in unknown command... no
checking whether to enable tDOMs block allocator... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating tdomConfig.sh
root@debian:/usr/local/src/tDOM-0.8.3/unix#
FINALLY... I got to fix the XML issue. I did 2 things..

I got tdom from

And build (the same as I was doing before):

./configure --enable-threads --disable-tdomalloc --prefix=/usr/local/aolserver --exec-prefix=/usr/local/aolserver --with-aolserver=/usr/local/aolserver --with-tcl=/usr/local/lib
make
make install

Then I installed xotcl 1.6.0 which I was missing... and I think THIS WAS MY REAL PROBLEM...

wget http://media.wu-wien.ac.at/download/xotcl-1.6.0.tar.gz
tar xvfz xotcl-1.6.0.tar.gz
cd xotcl-1.6.0/
export CC=gcc
./configure --enable-threads --enable-symbols --prefix=/usr/local/aolserver --exec-prefix=/user/local/aolserver --with-tcl=/usr/local/lib
make
make install

And then I got rid of the XML error.

THANKS JIM ET ALL (until my next problem...but next one is going to be a new post)

coupla things...

1, if you leave out --exec-prefix, it will default to same as --prefix

2, you can set prefix on tcl, aolserver and all modules the same, and that place can be your home dir (like, /home/jim/inst) so then there's less you have to do as root

-Jim

and, it may be that if you set --with-aolserver=... on tdom, it would build tdom as an aolserver module and if you leave it out, will build as a tcl module.

when aolserver was at 3.x, one of its main problems, it could not use regular tcl modules, something about inability to replicate the tcl interp with the module included. This problem went away in aolserver-4.x, so fts, xotcl, tdom and others could be built as tcl modules.

Thanks for all the tips. This is my first successful build, I have this post and all your comments to fine tune my installation now.

Thanks a lot. I'm posting my install instructions once I have it ready (somewhere on the forum)