Prev | Chapter 3. Complete Installation | Next

## Install AOLserver 4

by Malte Sussdorff

OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

1. Check suitability of previously installed TCL. Start tcl (type `tclsh` or find it using `which tclsh`).

       [root root]% info exists tcl_platform(threaded)
       1
       [root root]% info patchlevel
       8.4.7
       [root root]%
       tclsh
       info exists tcl_platform(threaded)
       info patchlevel

   If the first command returns anything other than `1`, then tcl is not threaded. If tcl is threaded and the version is 8.4 or higher, then installing tcl from source is optional.

   Retrieve TCL 8.4 (or higher). Download and install TCL 8.4 from source

   If you have not installed a threaded version of TCL, download the latest TCL version from Sourceforge

   Debian: `apt-get install tcl8.4 tcl8.4-dev` and proceed to the next step. In that step, replace `--with-tcl=/usr/local/lib/` with `--with-tcl=/usr/lib/tcl8.4`.

   Remember that you have to be root if you want to follow these instructions. On Mac OS X type `sudo su -` to become root.

   Alternatively use `curl -L -O` instead of `wget` (especially on Mac OS X).

       [root root]# cd /usr/local/src
       [root src]# wget http://heanet.dl.sourceforge.net/sourceforge/tcl/tcl8.4.7-src.tar.gz
       [root src]# tar xfz tcl8.4.7-src.tar.gz
       [root src]# cd tcl8.4.7/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.7-src.tar.gz
       tar xfz tcl8.4.7-src.tar.gz
       cd tcl8.4.7/unix
       ./configure --enable-threads
       make install

2. Retrieve AOLserver. Download the aolserver from CVS.

       [root root]# cd /usr/local/src
       [root src]# mkdir aolserver40r8
       [root src]# cd aolserver40r8
       [root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver login
       [root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co  -r aolserver_v40_r8 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 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 -r v2_7 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 aolserver40r8
       cd aolserver40r8
       cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co -r aolserver_v40_r8 aolserver
       cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nscache
       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 -r v2_7 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

3. Configure, compile and install AOLserver. Many people need to run more than one version of AOLserver in parallel. This section accomodates future upgrades by installing AOLserver 4 in `/usr/local/aolserver40r8`.

       [root aolserver]# cd /usr/local/src/aolserver40r8/aolserver
       [root aolserver]# ./configure --prefix=/usr/local/aolserver40r8 --with-tcl=/usr/local/lib/
       [root aolserver]# make install
       cd /usr/local/src/aolserver40r8/aolserver
       ./configure --prefix=/usr/local/aolserver40r8 --with-tcl=/usr/local/lib/
       make install
       ln -s /usr/local/aolserver40r8 /usr/local/aolserver

   If this is the only version of AOLserver in use, or is the default version, create a symlink. If not, then be sure to use `/usr/local/aolserver40r8` instead of `/usr/local/aolserver` in future steps.

       [root aolserver]# ln -s /usr/local/aolserver40r8 /usr/local/aolserver

4. Configure, compile and install the modules.

   1. Install nscache

          [root aolserver]# cd /usr/local/src/aolserver40r8/nscache
          [root nscache]# make install

   2. Install nsoracle (if you want to use Oracle)

          [root nscache]# cd ../nsoracle
          [root nsoracle]# make install

   3. Install nspostgres (if you want to use Postgres)

          [root nsrewrite]# cd ../nspostgres
          [root nspostgres]# make install POSTGRES=/usr/local/pgsql ACS=1 INST=/usr/local/aolserver40r8

      If you get errors like:

          nspostgres.c: In function `Ns_PgTableList':
          nspostgres.c:679: warning: passing arg 3 of `Tcl_DStringAppend' as signed due to prototype

      then PostGreSQL is probably not in the standard location. The location of PostGreSQL is very dependent on which method was used to install it. To correct the problem, replace `/usr/local/pgsql` with the path to the path to your PostGreSQL installation.

      Another possibility is that you may need to set the LD_LIBRARY_PATH environmental variable. You may still get warnings, but sometimes this will fix things enough to work.

          [root nspostgres]# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib

      You can use the `ldd` command to verify that all libraries are linked in: `ldd /usr/local/src/aolserver40r8/nspostgres/nspostgres.so`

      If you run into problems with libpq.a do the following (and repeat the step above)

          [root nspostgres]# 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

   4. Install nssha1

          [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

   5. Install tDOM

          [root nssha1]# cd ../tDOM-0.7.8/unix
          [root unix]# ../configure --enable-threads --disable-tdomalloc --prefix=/usr/local/aolserver40r8 --with-tcl=/usr/local/lib
          [root unix]# make install

5. 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/aolserver40r8/bin
         [root bin]# cp /tmp/openacs-5.1.4/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
         [root bin]# chmod 750 nsd-oracle
         [root bin]#
         cd /usr/local/aolserver40r8/bin
         cp /tmp/openacs-5.1.4/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
         chmod 750 nsd-oracle

   - PostgreSQL

         [root aolserver]# cd /usr/local/aolserver40r8/bin
         [root bin]# cp /tmp/openacs-5.1.4/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
         [root bin]# chmod 755 nsd-postgres
         [root bin]#
         cd /usr/local/aolserver40r8/bin
         cp /tmp/openacs-5.1.4/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
         chmod 755 nsd-postgres

   You may need to edit these scripts if you are not using /usr/local/aolserver as the directory of Aolserver4.

6. 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)

7. Test AOLserver.

($Id$)

Prev | Home | Next
Install PostgreSQL | Up | Install OpenACS 5.1.4

View comments on this page at openacs.org