(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.
Retrieve TCL 8.4 (or higher). Download and install TCL 8.4
If you have not installed TCL already, download the latest TCL version from Sourceforge
[root root]# cd /usr/local/src
[root src]# wget http://heanet.dl.sourceforge.net/sourceforge/tcl/tcl8.4.5-src.tar.gz
[root src]# tar xfz tcl8.4.5-src.tar.gz
[root src]# cd tcl8.4.5/unix
[root unix]# ./configure --enable-threads
[root unix]# make install
[root root]#
cd /usr/local/src
wget http://heanet.dl.sourceforge.net/sourceforge/tcl/tcl8.4.5-src.tar.gz
tar xfz tcl8.4.5-src.tar.gz
cd tcl8.4.5/unix
./configure --enable-threads
make install
Retrieve AOLserver. Download the aolserver from CVS.
[root root]# cd /usr/local/src
[root src]# mkdir aolserver
[root src]# cd aolserver
[root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co -r aolserver_v40_r2 aolserver
[root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nscache
[root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nsrewrite
[root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nspostgres
[root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nssha1
[root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nsoracle
[root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nsxml
[root aolserver]# wget http://www.tdom.org/tDOM-0.7.8.tar.gz
[root aolserver]# tar xvfz tDOM-0.7.8.tar.gz
[root root]#
cd /usr/local/src
mkdir aolserver
cd aolserver
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co -r aolserver_v40_r2 aolserver
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nscache
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nsrewrite
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nspostgres
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nssha1
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nsoracle
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nsxml
wget http://www.tdom.org/tDOM-0.7.8.tar.gz
tar xvfz tDOM-0.7.8.tar.gz
Configure, compile and install AOLserver.
[root aolserver]# cd aolserver [root aolserver]# cd aolserver [root aolserver]# ./configure --with-tcl=/usr/local/lib/ [root aolserver]# make install
Configure, compile and install the modules.
[root /usr/local/src/aolserver/aolserver]# cd ../nscache [root /usr/local/src/aolserver/nscache]# make install
[root /usr/local/src/aolserver/nscache]# cd ../nsrewrite [root /usr/local/src/aolserver/nsrewrite]# make install
Install nsoracle (if you want to use Oracle)
[root /usr/local/src/aolserver/nscache]# cd ../nsoracle [root /usr/local/src/aolserver/nsrewrite]# make install
Steps so far
cd /usr/local/src/aolserver/
./configure --with-tcl=/usr/local/lib/
make install
cd ../nscache
make install
cd ../nsrewrite
make install
cd ../nsoracle
make install
Install nspostgres (if you want to use Postgres)
[root nsrewrite]# cd ../nspostgres [root nspostgres]# sudo make install POSTGRES=/usr/local/pgsql ACS=1 INST=/usr/local/aolserver
If you run into problems with libpq.a do the following (and repeat the step above)
[root nspostgres]# sudo ranlib /usr/local/pgsql/lib/libpq.a
If you run into problems with the linker, edit the Makefile. Add -lnsdb to the MODLIBS var.
MODLIBS = -L$(PGLIB) -lpq -lnsdb
[root nsrewrite]# cd ../nssha1 [root nssha1]# make
If the make fails you will have to edit nssha1.c. Comment out the following 2 lines (lines 139-140):
// typedef unsigned int u_int32_t; // typedef unsigned char u_int8_t;
Now install nssha1:
[root nssha1]# make install
[root nssha1]# cd ../tDOM-0.7.8/unix
Edit the CONFIG file. Uncomment the instructions meant for AOLserver 4, but edit it to look like this:
../configure --enable-threads --disable-tdomalloc --prefix=/usr/local/aolserver --with-tcl=/usr/local/lib
Now you can compile and configure tDOM
[root unix]# sh CONFIG [root unix]# make install
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 /tmp/openacs-5.0.2/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 /tmp/openacs-5.0.2/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 /tmp/openacs-5.0.2/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 /tmp/openacs-5.0.2/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
chmod 755 nsd-postgres
Change startup script (optional). If you want to run AOLserver on a port below 1024 (normally, for a webserver you will use 80), you will have to change the /var/lib/aolserver/service0/etc/daemontools/run script according to the documentation found there (namely: Add the -b yourip:yourport switch)