We recommend the use of AOLserver 4.0.1 or later. These instructions are retained as a resource.
Debian users: we do not recommend installing Debian packages for Aolserver or Postgres. Several people have reported problems while trying to install using apt-get instead of from source. If you have the time to debug these and submit what you did, that's great, but if not, you should stick to installing from source.
Unpack the Aolserver tarball. Download the aolserver tarball and unpack it.
[root root]#cd /usr/local/src
[root src]#wget --passive http://uptime.openacs.org/aolserver-openacs/aolserver3.3oacs1.tar.gz
--15:38:08-- http://uptime.openacs.org/aolserver-openacs/aolserver3.3oacs1.tar.gz => `aolserver3.3oacs1.tar.gz' Resolving uptime.openacs.org... done. Connecting to uptime.openacs.org[207.166.200.199]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3,858,074 [application/x-compressed] 100%[====================================>] 3,858,074 66.56K/s ETA 00:00 15:39:05 (66.56 KB/s) - `aolserver3.3oacs1.tar.gz' saved [3858074/3858074] [root src]#tar xzf aolserver3.3oacs1.tar.gz
[root src]# cd /usr/local/src wget --passive http://uptime.openacs.org/aolserver-openacs/aolserver3.3oacs1.tar.gz tar xzf aolserver3.3oacs1.tar.gz
This section also relies on some OpenACS files, which you can get with the section called “Unpack the OpenACS tarball”.
Compile AOLserver. Compile and install AOLserver. First, prepare the installation directory and the source code. The message about BUILD-MODULES can be ignored.
root\@yourserver root]#mkdir -p /usr/local/aolserver
[root root]#cd /usr/local/src/aolserver
[root aolserver]#./conf-clean
cat: BUILD-MODULES: No such file or directory Done. [root aolserver]#mkdir -p /usr/local/aolserver cd /usr/local/src/aolserver ./conf-clean
If you are using Oracle, edit conf-db
and change postgresql
to oracle
, or to the word both
if you want both drivers installed. In
order to get nsoracle to compile, you may need to su - oracle, and
then su (without the -) root to set the environment variables
properly.
conf-inst
should contain the
location where AOLserver is to be installed. Overwrite the
tarball's default value with our default value, /usr/local/aolserver
:
[root aolserver]# echo "/usr/local/aolserver" > conf-inst
[root aolserver]#
conf-make
should contain the
name of the GNU Make command on your system. It defaults to
gmake
. Debian users:
.ln -s
/usr/bin/make /usr/bin/gmake
Set an environment variable that the nspostgres driver Makefile
needs to compile correctly and run conf
, which compiles AOLserver, the default
modules, and the database driver, and installs them.
Debian users, see warning above, but if you do use apt-get for
AOLserver 3.3+ad13 and PostgreSQL from apt-get may need to make
these symlinks: ln -s
/usr/include/postgresql/ /usr/include/pgsql
and ln -s /usr/lib/postgresql
/usr/local/pgsql
)
[root aolserver]# export POSTGRES=/usr/local/pgsql; ./conf
Building in /usr/local/aolserver
with the following modules:
AOLserver
nscache
nsrewrite
nssha1
nsxml
pgdriver
==================================================================
Starting Build Sat Mar 8 10:28:26 PST 2003
Running gmake in aolserver/; output in log/aolserver.log
(several minute delay here)
Running gmake in nscache/; output in log/nscache.log
Running gmake in nsrewrite/; output in log/nsrewrite.log
Running gmake in nssha1/; output in log/nssha1.log
Running gmake in nsxml/; output in log/nsxml.log
Running gmake in nspostgres/; output in log/nspostgres.log
Creating ...
==================================================================
Done Building Sat Mar 8 10:31:35 PST 2003
[root aolserver]#
This takes about 5 minutes. It builds aolserver, several
modules, and the database driver. (Upgraders, note that the
postgres database driver has changed from postgres.so to
nspostgres.so). All of the results are logged to files in
/usr/local/src/aolserver/log
.
If you run into problems running AOLserver, check these files for
build errors.
Add a database-specific wrapper script. This script sets database environment variables before starting AOLserver; this allows the AOLserver instance can communicate with the database. There is one script each for Oracle and PostgreSQL. They don't conflict, so if you plan to use both databases, install both.
Oracle
[root aolserver]#cd /usr/local/aolserver/bin
[root bin]#cp /var/tmp/openacs-5.9.0/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
[root bin]#chmod 750 nsd-oracle
[root bin]# cd /usr/local/aolserver/bin cp /var/tmp/openacs-5.9.0/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle chmod 750 nsd-oracle
PostgreSQL
[root aolserver]#cd /usr/local/aolserver/bin
[root bin]#cp /var/tmp/openacs-5.9.0/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
[root bin]#chmod 755 nsd-postgres
[root bin]# cd /usr/local/aolserver/bin cp /var/tmp/openacs-5.9.0/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres chmod 755 nsd-postgres
Install tDOM. Download the tDOM tarball, unpack it, adjust the configuration file to match our patched distribution of AOLserver, and compile it.
[root root]#cd /usr/local/src
[root src]#wget --passive http://www.tdom.org/tDOM-0.7.8.tar.gz
--16:40:58-- http://www.tdom.org/tDOM-0.7.8.tar.gz => `tDOM-0.7.8.tar.gz' Resolving www.tdom.org... done. Connecting to www.tdom.org[212.14.81.4]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 826,613 [application/x-compressed] 100%[====================================>] 826,613 138.06K/s ETA 00:00 16:41:04 (138.06 KB/s) - `tDOM-0.7.8.tar.gz' saved [826613/826613] [root src]#tar xzf tDOM-0.7.8.tar.gz
[root src]#cd tDOM-0.7.8/unix
[root unix]# cd /usr/local/src wget --passive http://www.tdom.org/tDOM-0.7.8.tar.gz tar xzf tDOM-0.7.8.tar.gz cd tDOM-0.7.8/unix
Edit the file CONFIG and change this section:
# ---------------------------------------------------- # aolsrc="/usr/src/aolserver-3.4" # ../configure --enable-threads --disable-tdomalloc \ # --with-aolserver=$aolsrc \ # --with-tcl=$aolsrc/tcl8.3.4/unix
to
# ---------------------------------------------------- aolsrc="/usr/local/src/aolserver/aolserver" ../configure --enable-threads --disable-tdomalloc \ --with-aolserver=$aolsrc \ --with-tcl=$aolsrc/tcl8.3.2/unix
And configure and compile:
[root unix]#sh CONFIG
creating cache ./config.cache checking for memmove... yes (many lines omitted) creating Makefile creating tdomConfig.sh [root unix]#make
gcc -pipe -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DTCL_THREADS=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 (many lines omitted) -Wl,-rpath,/usr/local/lib -o tcldomsh;\ fi [root unix]#cp libtdom0.7.8.so /usr/local/aolserver/bin/
[root unix]#cd /usr/local/aolserver/bin/
[root bin]#ln -s libtdom0.7.8.so libtdom.so
[root bin]# sh CONFIG make cp libtdom0.7.8.so /usr/local/aolserver/bin/ cd /usr/local/aolserver/bin ln -s libtdom0.7.8.so libtdom.so
Install nsopenssl (OPTIONAL)
Install Full Text Search with OpenFTS (OPTIONAL)
Install nspam (OPTIONAL)
Test AOLserver. In order to test
AOLserver, we'll run it using the sample-config.tcl file
provided in the AOLserver distribution, under the nobody user and
web
group. The
sample-config.tcl configuration writes to the default log
locations, so we need to give it permission to do so or it will
fail. Grant the web
group
permission to write to /usr/local/aolserver/log
and /usr/local/aolserver/servers
.
[root root]#cd /usr/local/aolserver
[root aolserver]#chown -R root.web log servers
[root aolserver]#chmod -R g+w log servers
[root aolserver]#ls -l
total 32 drwxr-sr-x 2 root root 4096 Mar 8 12:57 bin drwxr-xr-x 3 root root 4096 Mar 8 10:34 include drwxr-sr-x 3 root root 4096 Mar 8 10:34 lib drwxrwsr-x 2 root web 4096 Mar 8 10:31 log drwxr-sr-x 3 root root 4096 Mar 8 10:31 modules -rw-r--r-- 1 root root 7320 Mar 31 2001 sample-config.tcl drwxrwsr-x 3 root web 4096 Mar 8 10:31 servers [root aolserver]# cd /usr/local/aolserver chown -R root.web log servers chmod -R g+w log servers ls -l
Note: AOLserver4.x does not include a default start page, so we
create one for this test. Type echo
"Welcome to AOLserver" >
/usr/local/aolserver40r8/servers/server1/pages/index.html
Now, we'll run a quick test to ensure AOLserver is running correctly. We'll use the sample config file provided with AOLserver. This file will attempt to guess your IP address and hostname. It will then start up the server at port 8000 of that IP address.
[root aolserver]# ./bin/nsd -t sample-config.tcl -u nobody -g web
[root aolserver]# [08/Mar/2003:15:07:18][31175.8192][-main-] Notice: config.tcl: starting to read config file...
[08/Mar/2003:15:07:18][31175.8192][-main-] Warning: config.tcl: nsssl not loaded -- key/cert files do not exist.
[08/Mar/2003:15:07:18][31175.8192][-main-] Warning: config.tcl: nscp not loaded
-- user/password is not set.
[08/Mar/2003:15:07:18][31175.8192][-main-] Notice: config.tcl: finished reading
config file.
The first warning, about nsssl, can be ignored. We won't be using nsssl; we'll be using nsopenssl instead, and we haven't fully configured it yet. The nscp warning refers to the fact that, without a user and password in the config file, the administrative panel of AOLserver won't load. We don't plan to use it and can ignore that error as well. Any other warning or error is unexpected and probably a problem.
Test to see if AOLserver is working by starting Mozilla
or Lynx
on the same
computer and surfing over to your web page. If you
browse from another computer and the sample config file didn't
guess your hostname or ip correctly, you'll get a false
negative test.
[root aolserver]# lynx localhost:8000
You should see a "Welcome to AOLserver" page. If this
doesn't work, try going to http://127.0.0.1:8000/
. If this still
doesn't work, check out the Troubleshooting
AOLserver section below. Note that you will not be able to
browse to the web page from another machine, because AOLserver is
only listening to the local address.
Shutdown the test server:
[root aolserver]# killall nsd
[root aolserver]#
The killall
command will
kill all processes with the name nsd
, but clearly this is not a good tool to
use for managing your services in general. We cover this topic in
the Keep AOLserver
alive section.
Troubleshooting. If you can't view the
welcome page, it's likely there's a problem with your
server configuration. Start by viewing your AOLserver log, which is
in /usr/local/aolserver/log/server.log
. You
should also try to find lines of the form:
[01/Jun/2000:12:11:20][5914.4051][-nssock-] Notice: nssock: listening on http://localhost.localdomain:8000 (127.0.0.1:8000) [01/Jun/2000:12:11:20][5914.4051][-nssock-] Notice: accepting connections
If you can find these lines, try entering the URL the server is
listening on. If you cannot find these lines, there must be an
error somewhere in the file. Search for lines beginning with the
word Error
instead of
Notice
.
The sample-config.tcl
file
grabs your address and hostname from your OS settings.
set hostname [ns_info hostname] set address [ns_info address]
If you get an error that nssock can't get the requested
address, you can set these manually. If you type 0.0.0.0, AOLserver
will try to listen on all available addresses. Note: ns_info address
doesn't appear to be
supported in current versions of AOLserver.
set hostname [ns_info hostname] #set address [ns_info address] set address 0.0.0.0
Install Analog web file analyzer. (OPTIONAL)