Check suitability of previously installed
-TCL. Start Tcl (type tclsh
or find it using
+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 +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 +Tcl 8.4 (or higher). Download and install Tcl 8.4 from source
Note for Debian users: you can apt-get install tcl8.4-dev if you have the right version (stable users will need to add tcl8.4 to their sources.list file as described on the Install Postgres page). You'll have to use /usr/lib/tcl8.4/ instead of /usr/local/lib when you try to find the Tcl libraries, however.
If you have not installed Tcl already, 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
+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
+instructions. On macOS typesudo su +-
to become root.Alternatively use
curl -L +-O
instead ofwget
(especially on macOS).[root root]#cd /usr/local/src
[root src]#wget http://heanet.dl.sourceforge.net/sourceforge/tcl/tcl8.4.9-src.tar.gz
[root src]#tar xfz tcl8.4.9-src.tar.gz
[root src]#cd tcl8.4.9/unix
[root unix]#./configure --enable-threads
[root unix]#make install
[root root]# -cd /usr/local/src +cd /usr/local/src wget http://heanet.dl.sourceforge.net/sourceforge/tcl/tcl8.4.9-src.tar.gz tar xfz tcl8.4.9-src.tar.gz cd tcl8.4.9/unix ./configure --enable-threads -make install +make install
-Retrieve AOLserver. Download the -AOLserver from CVS.
[root root]#cd /usr/local/src
+Retrieve AOLserver. Download the AOLserver +from CVS.[root root]#cd /usr/local/src
[root src]#mkdir aolserver40r10
[root src]#cd aolserver40r10
[root aolserver]#cvs -z3 -d:pserver:anonymous\@cvs.sourceforge.net:/cvsroot/aolserver login
@@ -73,7 +78,7 @@ [root aolserver]#tar xvfz tDOM-0.7.8.tar.gz
[root aolserver]#cvs -z3 -d:pserver:anonymous\@cvs.sourceforge.net:/cvsroot/tcllib co -r tcllib-1-8 tcllib
[root root]# -cd /usr/local/src +cd /usr/local/src mkdir aolserver40r10 cd aolserver40r10 cvs -z3 -d:pserver:anonymous\@cvs.sourceforge.net:/cvsroot/aolserver co -r aolserver_v40_r10 AOLserver @@ -83,19 +88,19 @@ cvs -z3 -d:pserver:anonymous\@cvs.sourceforge.net:/cvsroot/aolserver co -r v2_7 nsoracle wget http://www.tdom.org/files/tDOM-0.8.0.tar.gz tar xvfz tDOM-0.8.0.tar.gz -cvs -z3 -d:pserver:anonymous\@cvs.sourceforge.net:/cvsroot/tcllib co -r tcllib-1-8 tcllib +cvs -z3 -d:pserver:anonymous\@cvs.sourceforge.net:/cvsroot/tcllib co -r tcllib-1-8 tcllib
-Configure, compile and install AOLserver.
-Many people need to run more than one version of AOLserver in
-parallel. This section accommodates future upgrades by installing
-AOLserver 4 in /usr/local/aolserver40r9
.
[root aolserver]#cd /usr/local/src/aolserver40r10/aolserver
+Configure, compile and install +AOLserver. Many people need to run more than one +version of AOLserver in parallel. This section accommodates future +upgrades by installing AOLserver 4 in/usr/local/aolserver40r9
.[root aolserver]#cd /usr/local/src/aolserver40r10/aolserver
[root aolserver]#./configure --prefix=/usr/local/aolserver40r10 --with-tcl=/usr/local/lib/
-[root aolserver]#make install
cd /usr/local/src/aolserver40r10/aolserver +[root aolserver]#make install
cd /usr/local/src/aolserver40r10/aolserver ./configure --prefix=/usr/local/aolserver40r10 --with-tcl=/usr/local/lib/ make install - +If you are using gcc 4 or later, see http://openacs.org/forums/message-view?message_id=309814
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 @@ -108,27 +113,31 @@
Configure, compile and install the modules.
- -
Install nscache
[root aolserver]#cd /usr/local/src/aolserver40r10/nscache
+[root aolserver]#cd /usr/local/src/aolserver40r10/nscache
[root nscache]#make install AOLSERVER=/usr/local/aolserver
- -
Install nsoracle (if you want to use Oracle)
[root nscache]#cd ../nsoracle
++Install nsoracle (if you want to +use Oracle)
[root nscache]#cd ../nsoracle
[root nsoracle]#make install AOLSERVER=/usr/local/aolserver
OpenACS looks for the Oracle driver at /usr/local/aolserver/bin/ora8.so, but some versions of nsoracle may create nsoracle.so instead. In that case, you can symlink (
ln -s nsoracle.so ora8.so
) to fix it.- -
Install nspostgres (if you want to use Postgres)
[root nscache]#cd ../nspostgres
++Install nspostgres (if you want +to use Postgres)
[root nscache]#cd ../nspostgres
[root nspostgres]#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib:/usr/local/aolserver/lib
[root nspostgres]#make install POSTGRES=LSB ACS=1 INST=/usr/local/aolserver AOLSERVER=/usr/local/aolserver
-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 prototypethen PostGreSQL is probably not in the standard location. The -location of PostGreSQL is very dependent on which method was used +
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 prototypethen 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
LSB
with the path to the path to your -PostGreSQL installation. Often this is/usr/local/pgsql
.You can use the
ldd
command +PostgreSQL installation. Often this is/usr/local/pgsql
.You can use the
ldd
command to verify that all libraries are linked in:ldd /usr/local/src/aolserver40r10/nspostgres/nspostgres.so
If you run into problems with libpq.a do the following (and @@ -137,38 +146,40 @@
-lnsdb
to theMODLIBS
var.MODLIBS = -L$(PGLIB) -lpq -lnsdb
- -
Install nssha1
[root nspostgres]#cd ../nssha1
+[root nspostgres]#cd ../nssha1
Now install nssha1:
[root nssha1]#make install AOLSERVER=/usr/local/aolserver
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;- -
Install tDOM
[root nssha1]#cd ../tDOM-0.8.0/unix
+[root nssha1]#cd ../tDOM-0.8.0/unix
Edit the
CONFIG
file. Uncomment the instructions meant for AOLserver 4, but edit it to -look like this:-../configure --enable-threads --disable-tdomalloc +look like this:../configure --enable-threads --disable-tdomalloc --prefix=/usr/local/aolserver --with-tcl=/usr/local/libNote that the location of the Tcl library may vary on different platforms (e.g. for Debian 3.0: --with-tcl=/usr/lib/tcl8.4)
Now you can compile and configure tDOM
[root unix]#sh CONFIG
[root unix]#make install
- -
Install TCLLIB
[root nssha1]#cd ../tcllib
+[root nssha1]#cd ../tcllib
Configure and compile TCLLIB
[root unix]#./configure -prefix=/usr/local/aolserver40r10
[root unix]#make install
-Add a database-specific wrapper script.
-This script sets database environment variables before starting
-AOLserver; this allows the AOLserver instance to communicate with
-the database. There is one script for Oracle and one for
-PostgreSQL. They do not conflict. If you plan to use both
-databases, install both. Note that this section requires you to
-have OpenACS files available, which you can get through CVS,
+Add a database-specific wrapper
+script. This script sets database environment
+variables before starting AOLserver; this allows the AOLserver
+instance to communicate with the database. There is one script for
+Oracle and one for PostgreSQL. They do not conflict. If you plan to
+use both databases, install both. Note that this section requires
+you to have OpenACS files available, which you can get through CVS,
through a tarball, or by other means. You can come back to this
section after you acquire the OpenACS code, but don't forget to
come back. (Note to maintainers: this should be moved to the next
@@ -178,34 +189,33 @@
[root bin]# cp /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
+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
+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 +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 +chmod 755 nsd-postgres
You may need to edit these scripts if you are not using /usr/local/aolserver as the directory of Aolserver4.
-Change startup script (optional). If you
+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/var/lib/aolserver/service0/etc/daemontools/run
script according to the documentation found there (namely: Add the
--b yourip:yourport
-switch)
+-b yourip:yourport switch)
($Id: aolserver4.xml,v 1.32 2017/08/07 -23:47:54 gustafn Exp $)
+