%myvars; ]> Prerequisite Software by Joel Aufrecht OpenACS requires, at a minimum, an operating system, database, and webserver to work. Many additional programs, such as a build environment, Mail Transport Agent, and source control system, are also needed for a fully effective installation. Version Compatibility Matrix OpenACS Version 3.2.5 4.5 4.6 4.6.1 4.6.2 4.6.3 5.0 5.1 AOLserver 3 Yes No 3.3+ad13 Maybe Yes 3.3oacs1 Maybe Yes 3.4.2 No 3.4.2oacs1 Maybe Yes Maybe 3.5.5 Maybe Yes No 4.0 Maybe Yes PostgreSQL 7.0 Yes No 7.2 Yes No 7.3.2 - 7.3.x No Yes 7.4 No Maybe Oracle 8.1.6 Maybe Yes 8.1.7 Maybe Yes 9i No Yes
The OpenACS installation instructions assume the operating system and build environment are installed. The instructions explain installation of TCL, tDOM, tclwebtest, a Web Server, a Database, a Process Controller, and Source Control software. The following external links are for reference only. <ulink url="http://openacs.org/projects/openacs/download/">OpenACS &version;</ulink> 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. Some scripts require bash shell. 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 OpenACS Reference Platform uses shell scripts written for 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, and install bash to work with the scripts. 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 --use gmake. TCL 8.3 TCL 8.3, REQUIRED OpenACS is written in TCL, an interpreted language. A threaded version of the TCL interpreter must be installed for OpenACS to work. The TCL interpreter that is included in most standard distributions may not be thread safe. 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. tDOM, REQUIRED OpenACS &version; stores queries in XML files, so we use an AOLserver module called tDOM to parse these files. (This replaces libxml2, which was used prior to 4.6.4.) tDOM is available from http://www.tdom.org). tclwebtest, OPTIONAL tclwebtest 0.3 is a tool for testing web interfaces via tcl scripts. http://sourceforge.net/project/showfiles.php?group_id=31075. 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. <ulink url="http://uptime.openacs.org/aolserver-openacs/aolserver3.3oacs1.tar.gz">AOLserver 3.3oacs1</ulink>, 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 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) The patch that makes exec work on BSD is available at sourceforge.net The patch for aolserver 3.x that makes ns_uuencode work for binary files is available at sourceforge.net The patch that makes AOLserver 3.x respect the -g flag is available at sourceforge.net nsopenssl, OPTIONAL Provides SSL capabilities for AOLserver. It requires OpenSSL. You need this if you want users to make secure (https) connections to your webserver. aolserver3.x requires nsopenssl 2.1a. aolserver4.x requires nsopenssl3; see url="http://www.aolserver.com/">aolserver.com for latest release. (home page) <ulink url="http://braindamage.alal.com/software/ns_pam-0.1.tar.gz">ns_pam 0.1</ulink>, OPTIONAL Provides PAM capabilities for AOLserver. You need this if you want OpenACS users to authenticate through a PAM module (such as RADIUS). (home page) <ulink url="ftp://ftp.freeradius.org/pub/radius/pam_radius-1.3.16.tar">pam_radius 1.3.16</ulink>, OPTIONAL Provides RADIUS capabilities for PAM. You need this if you want to use RADIUS authentication via PAM in OpenACS. <ulink url="http://sourceforge.net/project/showfiles.php?group_id=3152">ns_ldap 0.r8 </ulink>, OPTIONAL Provides LDAP capabilities for AOLserver. You need this if you want to use LDAP authentication in OpenACS. <ulink url="http://unc.dl.sourceforge.net/sourceforge/openfts/Search-OpenFTS-tcl-0.3.2.tar.gz">OpenFTS TCL 0.3.2</ulink>, 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. <ulink url="http://www.analog.cx/analog-5.32.tar.gz">Analog 5.32</ulink>, 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. <ulink url="http://sourceforge.net/projects/balance/">Balance 3.11</ulink>, OPTIONAL "Balance is a simple but powerful generic tcp proxy with round robin load balancing and failover mechanisms." You need this or something equivalent if you are running a high-availability production site and do not have an external load balancing system. Database The data on your site (for example, user names and passwords, calender entries, and notes) is stored in the database. OpenACS separates the database with an abstraction layer, which means that several different databases all function identically. 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. <ulink url="http://sourceforge.net/projects/pgsql/">PostgreSQL 7.3.4</ulink> (Either this or Oracle is REQUIRED) You need this if you want to use a PostgreSQL database. 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. <ulink url="http://cr.yp.to/daemontools/daemontools-0.76.tar.gz">Daemontools 0.76</ulink>, 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. <ulink url="http://www.qmail.org/netqmail/">Netqmail 1.04</ulink>, OPTIONAL You need this (or a different Mail Transport Agent) if you want your webserver to send and receive email. <ulink url="http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz">ucspi-tcp 0.88</ulink>, 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.8 2003/10/29 09:01:09 joela Exp $)