software.xml
Delivered as text/xml
[ hide source ] | [ make this the default ]
File Contents
<?xml version='1.0' ?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % myvars SYSTEM "../variables.ent">
%myvars;
]>
<sect1 id="individual-programs">
<title>Prerequisite Software</title>
<authorblurb>
<para>by <ulink url="mailto:joel@aufrecht.org">Joel Aufrecht</ulink></para>
</authorblurb>
<para>
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.
</para>
<table id="compatibility-matrix">
<title>Version Compatibility Matrix</title>
<tgroup cols="10">
<colspec colname="c1"/>
<colspec colname="c2"/>
<colspec colname="3.2.5"/>
<colspec colname="4.5"/>
<colspec colname="4.6"/>
<colspec colname="4.6.1"/>
<colspec colname="4.6.2"/>
<colspec colname="4.6.3"/>
<colspec colname="5.0"/>
<colspec colname="5.1"/>
<colspec colname="5.2"/>
<colspec colname="5.3"/>
<colspec colname="5.4"/>
<colspec colname="5.5"/>
<thead>
<row>
<entry align="center" namest="c1" nameend="c2">OpenACS Version</entry>
<entry colname="3.2.5">3.2.5</entry>
<entry colname="4.5"> 4.5 </entry>
<entry colname="4.6"> 4.6 </entry>
<entry colname="4.6.1">4.6.1</entry>
<entry colname="4.6.2">4.6.2</entry>
<entry colname="4.6.3">4.6.3</entry>
<entry colname="5.0">5.0</entry>
<entry colname="5.1">5.1</entry>
<entry colname="5.2">5.2</entry>
<entry colname="5.3">5.3</entry>
<entry colname="5.4">5.4</entry>
<entry colname="5.5">5.5</entry>
</row>
</thead>
<tbody>
<row>
<entry morerows="7">AOLserver</entry>
<entry>3</entry>
<entry namest="3.2.5" nameend="3.2.5" align="center" ><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
<entry namest="4.5" nameend="5.5" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
</row>
<row>
<entry>3.3+ad13</entry>
<entry namest="3.2.5" nameend="3.2.5" align="center"><?dbhtml bgcolor="yellow" ?><?dbfo bgcolor="yellow" ?>Maybe</entry>
<entry namest="4.5" nameend="5.1" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
<entry namest="5.2" nameend="5.5" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
</row>
<row>
<entry>3.3oacs1</entry>
<entry namest="3.2.5" nameend="3.2.5" align="center"><?dbhtml bgcolor="yellow" ?><?dbfo bgcolor="yellow" ?>Maybe</entry>
<entry namest="4.5" nameend="5.1" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
<entry namest="5.2" nameend="5.5" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
</row>
<row>
<entry>3.4.4</entry>
<entry namest="3.2.5" nameend="5.5" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
</row>
<row>
<entry>3.4.4oacs1</entry>
<entry namest="3.2.5" nameend="4.6.1" align="center"><?dbhtml bgcolor="yellow" ?><?dbfo bgcolor="yellow" ?>Maybe</entry>
<entry namest="4.6.2" nameend="4.6.3" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
<entry namest="5.0" nameend="5.5" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
</row>
<row>
<entry>3.5.5</entry>
<entry namest="3.2.5" nameend="4.6.1" align="center"><?dbhtml bgcolor="yellow" ?><?dbfo bgcolor="yellow" ?>Maybe</entry>
<entry namest="4.6.2" nameend="4.6.3" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
<entry namest="5.0" nameend="5.5" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
</row>
<row>
<entry>4.0</entry>
<entry namest="3.2.5" nameend="4.6.1" align="center"><?dbhtml bgcolor="yellow" ?><?dbfo bgcolor="yellow" ?>Maybe</entry>
<entry namest="4.6.2" nameend="5.5" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
</row>
<row>
<entry>4.5</entry>
<entry namest="3.2.5" nameend="5.1" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
<entry namest="5.2" nameend="5.5" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
</row>
<row>
<entry morerows="1">Tcl</entry>
<entry>8.4</entry>
<entry namest="3.2.5" nameend="5.5" align="center" ><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
</row>
<row>
<entry>8.5.4 -</entry>
<entry namest="3.2.5" nameend="5.5" align="center"><?dbhtml bgcolor="yellow" ?><?dbfo bgcolor="yellow" ?>Maybe</entry>
</row>
<row>
<entry morerows="7">PostgreSQL</entry>
<entry>7.0</entry>
<entry namest="3.2.5" nameend="3.2.5" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
<entry namest="4.5" nameend="5.5" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
</row>
<row>
<entry>7.2</entry>
<entry namest="3.2.5" nameend="3.2.5" align="center"><?dbhtml bgcolor="yellow" ?><?dbfo bgcolor="yellow" ?>Maybe</entry>
<entry namest="4.5" nameend="4.6.3" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
<entry namest="5.0" nameend="5.5" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
</row>
<row>
<entry>7.3.2 - 7.3.x</entry>
<entry namest="3.2.5" nameend="4.6.2" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
<entry namest="4.6.3" nameend="5.2" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
<entry namest="5.3" nameend="5.5" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
</row>
<row>
<entry>7.4</entry>
<entry namest="3.2.5" nameend="4.6.3" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
<entry namest="5.0" nameend="5.2" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
<entry namest="5.3" nameend="5.5" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
</row>
<row>
<entry>8.0</entry>
<entry namest="3.2.5" nameend="5.0" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
<entry namest="5.1" nameend="5.1" align="center"><?dbhtml bgcolor="yellow" ?><?dbfo bgcolor="yellow" ?>Maybe</entry>
<entry namest="5.2" nameend="5.5" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
</row>
<row>
<entry>8.1</entry>
<entry namest="3.2.5" nameend="5.1" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
<entry namest="5.2" nameend="5.5" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
</row>
<row>
<entry>8.2</entry>
<entry namest="3.2.5" nameend="5.1" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
<entry namest="5.2" nameend="5.2" align="center"><?dbhtml bgcolor="yellow" ?><?dbfo bgcolor="yellow" ?>CVS version only</entry>
<entry namest="5.3" nameend="5.5" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
</row>
<row>
<entry>8.3</entry>
<entry namest="3.2.5" nameend="5.4" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
<entry namest="5.5" nameend="5.5" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
</row>
<row>
<entry morerows="4">Oracle</entry>
<entry>8.1.6</entry>
<entry namest="3.2.5" nameend="3.2.5" align="center"><?dbhtml bgcolor="yellow" ?><?dbfo bgcolor="yellow" ?>Maybe</entry>
<entry namest="4.5" nameend="5.2" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
<entry namest="5.3" nameend="5.5" align="center"><?dbhtml bgcolor="yellow" ?><?dbfo bgcolor="yellow" ?>Maybe</entry>
</row>
<row>
<entry>8.1.7</entry>
<entry namest="3.2.5" nameend="3.2.5" align="center"><?dbhtml bgcolor="yellow" ?><?dbfo bgcolor="yellow" ?>Maybe</entry>
<entry namest="4.5" nameend="5.2" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
<entry namest="5.3" nameend="5.5" align="center"><?dbhtml bgcolor="yellow" ?><?dbfo bgcolor="yellow" ?>Maybe</entry>
</row>
<row>
<entry>9i</entry>
<entry namest="3.2.5" nameend="4.6.3" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
<entry namest="5.0" nameend="5.5" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
</row>
<row>
<entry>10g</entry>
<entry namest="3.2.5" nameend="5.1" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
<entry namest="5.2" nameend="5.5" align="center"><?dbhtml bgcolor="lightgreen" ?><?dbfo bgcolor="lightgreen" ?>Yes</entry>
</row>
<row>
<entry>11g</entry>
<entry namest="3.2.5" nameend="5.4" align="center"><?dbhtml bgcolor="red" ?><?dbfo bgcolor="red" ?>No</entry>
<entry namest="5.5" nameend="5.5" align="center"><?dbhtml bgcolor="yellow" ?><?dbfo bgcolor="yellow" ?>Maybe</entry>
</row>
</tbody>
</tgroup>
</table>
<para>The OpenACS installation instructions assume the operating system and build environment are installed.
The instructions explain installation of Tcl, Tcllib, tDOM, tclwebtest, a Web Server, a Database, a Process Controller, and
Source Control software. The following external links are for reference only.
</para>
<itemizedlist>
<listitem id="openacs-download"><formalpara><title><ulink
url="http://openacs.org/projects/openacs/download/">OpenACS &version;</ulink></title>
<para>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.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Operating System</title>
<para>OpenACS is designed for a Unix-like system. It is
developed primarily in Linux. It can be run on macOS,
and in Windows within VMWare.</para>
</formalpara>
<itemizedlist>
<listitem>
<formalpara>
<title>GNU/Linux</title>
<para>The installation assumes a linux kernel of 2.2.22 or newer, or 2.4.14 or newer.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>FreeBSD</title>
<para><ulink url="https://web.archive.org/web/20011204174701/http://www.orchardlabs.com:80/freebsd/">FreeBSD guide</ulink>. 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. Substitute <userinput>fetch</userinput> when the instructions suggest you use
<userinput>wget</userinput> to download software.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>macOS</title>
<para><xref linkend="mac-installation"/></para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Windows/VMWare</title>
<para><xref linkend="win2k-installation"/> 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.)</para>
</formalpara>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<formalpara>
<title>Build Environment</title>
<para>The Reference Platform installation compiles most programs from
source code.</para>
</formalpara>
<itemizedlist>
<listitem>
<formalpara>
<title><ulink url="http://www.gnu.org/software/libc/libc.html">glibc</ulink> 2.2 or newer, REQUIRED</title>
<para>You need recent versions of these libraries for
Oracle to work properly. For Unicode support,
you need glibc 2.2 or newer. This should be included in your
operating system distribution.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title><ulink url="http://www.gnu.org/software/make/">GNU Make</ulink> 3.76.1 or newer, REQUIRED</title>
<para>PostgreSQL and AOLserver require gmake to
compile. Note that on most linux
distributions, GNU Make is simply named
<computeroutput>make</computeroutput> and
there is no
<computeroutput>gmake</computeroutput>,
whereas on BSD distributions,
<computeroutput>make</computeroutput> and
<computeroutput>gmake</computeroutput> are
different --use gmake.</para>
</formalpara>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<formalpara>
<title><ulink url="https://www.tcl-lang.org/">Tcl</ulink> 8.6.x</title>
<para></para>
</formalpara>
<itemizedlist>
<listitem>
<formalpara>
<title><ulink url="https://www.tcl-lang.org/">Tcl</ulink> 8.6.x, REQUIRED</title>
<para>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. </para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title><ulink url="https://www.tcl-lang.org/">Tcl</ulink> 8.6.x development headers and libraries, OPTIONAL</title>
<para> The site-wide-search service, OpenFTS, requires these to
compile. (Debian users: <computeroutput>apt-get install
tcl8.6-dev</computeroutput>). You need this
to install OpenFTS.</para>
</formalpara>
</listitem>
</itemizedlist>
</listitem>
<listitem id="source-tcllib">
<formalpara>
<title><ulink url="https://sourceforge.net/projects/tcllib/">Tcllib</ulink>, REQUIRED</title>
<para>
OpenACS &version; uses those Tcl extensions to send e-mail out, among others.
</para>
</formalpara>
</listitem>
<listitem id="source-tdom">
<formalpara>
<title><ulink url="http://www.tdom.org/">tDOM</ulink>, REQUIRED</title>
<para>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.)</para>
</formalpara>
</listitem>
<listitem id="source-tclwebtest">
<formalpara>
<title><ulink url="http://tclwebtest.sourceforge.net/">tclwebtest</ulink>, OPTIONAL</title>
<para>tclwebtest is a tool for testing web interfaces via Tcl scripts.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Web Server</title>
<para>The web server handles incoming HTTP requests, provides
a run time environment for OpenACS's Tcl code, connects to the
database, sends out HTTP responses, and logs requests and
errors. OpenACS uses AOLserver;
<ulink url="http://openacs.org/forums/message-view?message_id=21461">some people have had success running Apache with mod_nsd</ulink>.</para>
</formalpara>
<itemizedlist>
<listitem id="source-aolserver">
<formalpara>
<title><ulink url="https://sourceforge.net/projects/naviserver/">NaviServer</ulink> 4.99.x, PREFERRED, REQUIRED</title>
<para>or</para>
<title><ulink url="http://aolserver.com/">AOLserver</ulink> 4.x</title>
<para>Provides the base HTTP server</para>
</formalpara>
</listitem>
</itemizedlist>
<para>
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 <ulink
url="http://uptime.openacs.org/aolserver-openacs/">uptime.openacs.org</ulink>.
</para>
<para>
It's also possible to download all the pieces and patches yourself:
</para>
<itemizedlist>
<listitem><para>
AOLserver is available at <ulink url="http://aolserver.com">aolserver.com</ulink>
</para></listitem>
<listitem><para>
The OpenACS PostgreSQL driver (nspostgres.so) is available from
<ulink
url="http://prdownloads.sourceforge.net/aolserver/nspostgres-3.5.tar.gz?download">SourceForge</ulink>. 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)
</para></listitem>
<listitem><para>
The patch that makes <computeroutput>exec</computeroutput> work
on BSD is available at <ulink
url="http://sourceforge.net/tracker/index.php?func=detail&aid=415475&group_id=3152&atid=303152">sourceforge.net</ulink>
</para></listitem>
<listitem><para>
The patch for AOLserver 3.x that makes <computeroutput>ns_uuencode</computeroutput>
work for binary files is available at <ulink
url="http://sourceforge.net/tracker/index.php?func=detail&aid=474259&group_id=3152&atid=303152">sourceforge.net</ulink>
</para></listitem>
<listitem><para>
The patch that makes AOLserver 3.x respect the
<computeroutput>-g</computeroutput> flag is available at
<ulink
url="http://sourceforge.net/tracker/index.php?func=detail&aid=509413&group_id=3152&atid=303152">sourceforge.net</ulink>
</para></listitem>
</itemizedlist>
</listitem>
<listitem id="nsopenssl-download">
<formalpara>
<title>nsopenssl, OPTIONAL</title>
<para>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 <ulink
url="http://www.scottg.net/download/nsopenssl-2.1a.tar.gz">nsopenssl 2.1a</ulink>. aolserver4.x requires nsopenssl3; see
<ulink url="http://www.aolserver.com/">aolserver.com</ulink> for latest release. (<ulink
url="http://panoptic.com/wiki/aolserver/Nsopenssl">home page</ulink>)
</para>
</formalpara>
</listitem>
<listitem id="nspam-download">
<formalpara>
<title><ulink url="http://wayback.archive.org/web/20050228071203/http://braindamage.alal.com/software/nspam.html">ns_pam</ulink> 0.1 or newer, OPTIONAL</title>
<para>Provides PAM capabilities for AOLserver. You
need this if you want OpenACS users to authenticate
through a PAM module (such as RADIUS).</para>
</formalpara>
</listitem>
<listitem id="pam-radius-download">
<formalpara>
<title><ulink
url="ftp://ftp.freeradius.org/pub/radius/pam_radius-1.3.16.tar">pam_radius 1.3.16</ulink>, OPTIONAL</title>
<para>Provides RADIUS capabilities for PAM. You need
this if you want to use RADIUS authentication via PAM in OpenACS.</para>
</formalpara>
</listitem>
<listitem id="nsldap-download">
<formalpara>
<title><ulink
url="http://sourceforge.net/project/showfiles.php?group_id=3152">ns_ldap 0.r8</ulink>, OPTIONAL</title>
<para>Provides LDAP capabilities for AOLserver. You need
this if you want to use LDAP authentication in OpenACS.</para>
</formalpara>
</listitem>
<listitem id="openfts-download">
<formalpara>
<title><ulink
url="http://unc.dl.sourceforge.net/sourceforge/openfts/Search-OpenFTS-tcl-0.3.2.tar.gz">OpenFTS
Tcl 0.3.2</ulink>, OPTIONAL</title> <para>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. For postgres 7.4.x and
higher, full text search is also available via tsearch2.
</para>
</formalpara>
</listitem>
<listitem>
<formalpara id="analog-download">
<title><ulink
url="http://www.analog.cx/">Analog</ulink> 5.32 or newer, OPTIONAL</title>
<para>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.</para>
</formalpara>
</listitem>
<listitem>
<formalpara id="balance-download">
<title><ulink
url="http://sourceforge.net/projects/balance/">Balance</ulink> 3.11 or newer, OPTIONAL</title>
<para>"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.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Database</title>
<para>The data on your site (for example, usernames and passwords,
calendar 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.</para>
</formalpara>
<itemizedlist>
<listitem>
<formalpara>
<title>Oracle 8.1.7 (Either this or PostgreSQL is REQUIRED)</title>
<para>You can register and download Oracle from <ulink
url="https://www.oracle.com/downloads/index.html">Oracle
TechNet</ulink>. You need this if you want to use an
Oracle database.</para>
</formalpara>
</listitem>
<listitem>
<formalpara id="source-postgresql">
<title><ulink url="http://sourceforge.net/projects/pgsql/">PostgreSQL</ulink> 7.4.x (Either this or Oracle is REQUIRED)</title>
<para>You need this if you want to use a PostgreSQL database.</para>
</formalpara>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<formalpara>
<title>Process Controller</title>
<para>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.</para>
</formalpara>
<itemizedlist>
<listitem id="daemontools-download">
<formalpara>
<title><ulink
url="http://cr.yp.to/daemontools/daemontools-0.76.tar.gz">Daemontools
0.76</ulink>, OPTIONAL</title> <para>You need this if
you want AOLserver and qmail to run "supervised,"
meaning that they are monitored and automatically
restarted if they fail. An alternative would be to
run the services from inittab.</para>
</formalpara>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<formalpara>
<title>Mail Transport Agent</title>
<para>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.</para>
</formalpara>
<itemizedlist>
<listitem>
<formalpara id="qmail-download">
<title><ulink
url="http://www.qmail.org/netqmail/">Netqmail 1.04</ulink>, OPTIONAL</title>
<para>You need this (or a different Mail Transport
Agent) if you want your webserver to send and receive email.</para>
</formalpara>
</listitem>
<listitem>
<formalpara id="ucspi-download">
<title><ulink
url="http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz">ucspi-tcp 0.88</ulink>, OPTIONAL</title>
<para>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.</para>
</formalpara>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<formalpara>
<title><ulink url="http://www.docbook.org/">DocBook</ulink>, OPTIONAL</title>
<para>(docbook-xml v4.4, docbook-xsl v1.56, libxslt 1.0.21,
xsltproc 1.0.21). You need this to write or edit documentation.
</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Source Control</title>
<para>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.</para>
</formalpara>
<itemizedlist>
<listitem>
<formalpara>
<title><ulink url="https://www.cvshome.org/">cvs</ulink> 1.11.18, OPTIONAL</title>
<para>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.</para>
</formalpara>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<para><phrase role="cvstag">($Id: software.xml,v 1.31 2024/09/11 06:15:47 gustafn Exp $)</phrase></para>
</sect1>