Prerequisite Software
by Joel Aufrecht
OpenACS is a collection of tcl scripts and database schema and
commands. To run, it requires a database and webserver, which
in turn require and operating system. Many additional
programs, such as a Mail Transport Agent and source control
system, are also needed for a fully effective instance.
Individual Programs
OpenACS &version;
The OpenACS tarball comprises the core packages and
many useful additional packages. This includes a full set
of documentation. The tarball works with both PostGreSQL
and Oracle.
Operating System
OpenACS is designed for a Unix-like system. It is
developed primarily in Linux. It can be run on Mac OS X,
and in Windows within VMWare.
Linux
. The installation assumes a linux kernel of 2.2.22 or newer, or 2.4.14 or newer.
FreeBSD
FreeBSD
guide. The Reference Platform uses bash, which is the
standard Linux shell. If you are using a different
shell, you will need to substitute your shell's
conventions for setting environment variables when
appropriate.
Mac OS X
Windows/VMWare
The only
way to run OpenACS on Windows is through the VMWare
emulator. (Please let me know if you have OpenACS
running directly in Windows.)
Build Environment
The Reference Platform installation compiles most programs from
source code.
glibc 2.1 or newer, REQUIRED
You need recent versions of these libraries for
Oracle to work properly. If you want Unicode support,
you'll need glibc 2.2. This should be included in your
operating system distribution.
GNU Make 3.76.1 or newer, REQUIRED
PostgreSQL and AOLserver require gmake to
compile. Note that on most linux
distributions, GNU Make is simply named
make and
there is no
gmake,
whereas on BSD distributions,
make and
gmake are
different.
TCL 8.3
TCL 8.3 development headers and libraries, OPTIONAL
The site-wide-search service, OpenFTS, requires these to
compile. (Debian users: apt-get install
tcl8.3-dev). You need this
to install OpenFTS.
libxml2 and libxml2-devel, REQUIRED
OpenACS &version; stores
queries in XML files, so we use an AOLserver module called
nsxml to parse these files. libxml2-devel is required to
compile nsxml. Libxml2 is available from http://xmlsoft.org). On Debian,
this can be installed by doing apt-get install
libxml2-dev. Users of other distributions can
download rpms from rpmfind.net.
Web Server
The web server handles incoming HTTP requests, provides
a runtime environment for OpenACS's tcl code, connects to the
database, sends out HTTP responses, and logs requests and
errors. OpenACS uses AOLserver; some people have had success
running Apache with mod_nsd - see this
post.
AOLserver 3.3oacs1, REQUIRED
Mat Kovach's source distribution of AOLserver, including all of the patches listed below.
Mat Kovach is graciously maintaining an AOLserver distribution that
includes all the patches and modules needed to run OpenACS &version;. These
instructions will describe how to install using his source
distribution. He also has binaries for SuSE 7.3 and OpenBSD 2.8 (and
perhaps more to come), currently located at uptime.openacs.org.
It's also possible to download all the pieces and patches yourself:
AOLserver is available at aolserver.com
ArsDigita's AOLserver distribution (including
internationalization patches, nscache, nsrewrite, nssha1 and the
oracle driver) is available at arsdigita.com
The OpenACS PostgreSQL driver (nspostgres.so) is available from
SourceForge. If
you do decide to use nspostgres.so, you have to remember to
change the AOLserver config file to point to nspostgres.so
instead of postgres.so. This guide uses Mat Kovach's distro
(i.e. postgres.so)
nsxml is available at http://acs-misc.sourceforge.net.
The patch that makes exec work
on BSD is available at sourceforge.net
The patch that makes ns_uuencode
work for binary files is available at sourceforge.net
The patch that makes AOLserver respect the
-g flag is available at
sourceforge.net
AolServer
startup wrapper Version 1, REQUIRED
This file automates the startup of AOLserver. You need
it to run AOLserver.
nsopenssl 2.1, OPTIONAL
Provides SSL capabilities for AOLserver. It requires
OpenSSL. You need this if you want users to make
secure (https) connections to your webserver.
OpenFTS TCL 0.3.2, OPTIONAL
Adds full-text-search to PostGreSQL and includes a
driver for AOLserver. You need this if you want users
to be able to search for any text on your site.
Analog 5.31, OPTIONAL
This program examines web server request logs, looks up
DNS values, and produces a report. You need this if you
want to see how much traffic your site is getting.
Database
The data on your site (for example, user names and passwords,
calender entries, and notes) is stored in the database.
OpenACS seperates the database with an abstraction layer,
which means that several different databases all function
identically. Currently OpenACS supports PostGreSQL 7.2 and
Oracle 8.1.7. While you can run the core OpenACS on any
supported database, not all contributed packages support all
databases.
Oracle 8.1.7 (Either this or PostGreSQL is REQUIRED)
You can register and download Oracle from Oracle
TechNet. You need this if you want to use an
Oracle database.
PostGreSQL 7.2.3 (Either this or Oracle is REQUIRED)
You need this if you want to use a PostGreSQL database.
PostGreSQL 7.3 is not backwards-compatible, and OpenACS
does not yet support it. If you are not in the United
States, select a closer mirror
PostgreSQL Init script Version 1, OPTIONAL
A script for automating the starting and stopping of
postgresql, for Unix-like environments that support
System V-style scripts. (Most Linux flavors, including
debian and Red Hat, support System V scripts.) You need
this if you are running Linux and PostGreSQL and want it
to run automatically.
Process Controller
This is software that initiates other software, and
restarts that software if it fails. On Linux, we recommend
using Daemontools to control AOLserver and qmail.
Daemontools 0.76, OPTIONAL
You need this if you want AOLserver and qmail to run
"supervised," meaning that they are monitored and
automatically restarted if they fail.
Mail Transport Agent
A Mail Transport Agent is a program that handles all
incoming and outgoing mail. The Reference Platform uses
Qmail; any MTA that provides a sendmail wrapper (that is,
that can be invoked by calling the sendmail program with the
same variables that sendmail expects) can be used.
Qmail 1.03, OPTIONAL
You need this (or a different Mail Transport
Agent) if you want your webserver to send and
receive email.
ucspi-tcp 0.88, OPTIONAL
This program listens for incoming TCP connections and
hands them to a program. We use it instead of inetd,
which is insecure. You need this if you are running qmail.
DocBook, OPTIONAL
(docbook-xml v4.2, docbook-xsl v1.56, libxslt 1.0.21,
xsltproc 1.0.21). You need this to write or edit documentation.
Source Control
A Source Control system keeps track of all of the old
versions of your files. It lets you recover old files,
compare versions of file, and identify specific versions of
files. You can use any source control system; the Reference
Platform and the OpenACS.org repository (where you can
get patched and development code in between releases) use cvs.
cvs 1.11.2, OPTIONAL
cvs is included in most unix distributions. You
need this if you want to track old versions of your
files, do controlled deployment of code from development
to production, or get or contribute development code from openacs.org.
($Id: software.xml,v 1.1.2.4 2003/05/04 06:30:46 joela Exp $)