Index: openacs-4/packages/acs-core-docs/www/xml/Makefile
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/Makefile,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/xml/Makefile 28 Feb 2003 05:25:48 -0000 1.4
+++ openacs-4/packages/acs-core-docs/www/xml/Makefile 24 Jun 2003 03:37:04 -0000 1.5
@@ -21,7 +21,6 @@
all: html pdf
prelim:
- cp -u files/*.{txt,html} ../files/
cp -u images/*.{pdf,png,gif,jpg} ../images/
cp -u openacs.css ..
Index: openacs-4/packages/acs-core-docs/www/xml/index.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/index.xml,v
diff -u -r1.12 -r1.13
--- openacs-4/packages/acs-core-docs/www/xml/index.xml 17 Jun 2003 20:56:17 -0000 1.12
+++ openacs-4/packages/acs-core-docs/www/xml/index.xml 24 Jun 2003 03:37:04 -0000 1.13
@@ -8,38 +8,12 @@
In documents, use &version;
-->
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -50,17 +24,10 @@
-
+
+
-
-
-
-
-
-
-
-
@@ -71,7 +38,6 @@
-
@@ -80,7 +46,14 @@
+
+
+
+
+
+
+
@@ -91,12 +64,32 @@
-]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
OpenACS Documentation
-
+
OpenACS For Everyone
@@ -124,6 +117,7 @@
more.
+
OpenACS relies on AOLserver , the
@@ -142,109 +136,119 @@
System. ArsDigita (now part of Red Hat, Inc.) kindly made
their work available under the GPL ,
- making all of this possible.
+ making all of this possible.
-
+
+ The ArsDigita Community System (ACS) is a toolkit of software
+ that will help you build Web services with a collaborative dimension,
+ ranging from knowledge management within companies to B2C ecommerce
+ to product support and community among the customers. The software is
+ free and open-source and has been tested in heavy use since
+ 1995.
- Philip Greenspun
+
+
+
+ OpenACS was born when Don Baccus, Ben Adida, et al decided
+ to port ACS from Oracle to PostgreSQL, thus making it a
+ fully open-source solution.
+
+
+
+ OpenACS &version; is the next generation of the web toolkit. It's based on
+ ACS 4, but no longer follows ArsDigita development. Unlike ACS
+ (which required Oracle) and OpenACS 3.x (which required PostgreSQL),
+ OpenACS &version; allows you to use either database. It's also built in such
+ a way to allow enterprising hackers (in the good sense of
+ the word) to extend it to other databases. Don Baccus leads
+ the development and numerous developers and non-developers
+ contribute from around the world.
+
+
+
The OpenACS community would like to hear your comments and
help you in your endeavors with the system. Stop by our
web site and feel
free to ask a question, post ideas or whatever.
-
-
- Release Notes
- Release Notes Prior
- to 5.0.0.
- &release-notes;
-
+ &release-notes;
-
-
+
Administrator's Guide
&software;
- &compatibility;
Installing on Unix/Linux
-
- &install-overview;
- &operating-system;
- &oracle;
- &postgres;
- &aolserver;
- &openacs;
- &credits;
-
+ &install-overview;
+ &operating-system;
+ &oracle;
+ &postgres;
+ &aolserver;
+ &openacs;
+ &credits;
-
-
+
Installing on Windows
-
&win2k;
-
-
Installing on a Macintosh
-
&mac;
+
+
+ Configuring a New Service
+ Placeholder
Upgrading
- How to upgrade an installation of OpenACS to a new version.
-
&upgrade;
-
-
+
+ Maintenance
+ &maintenance;
+ &database-maintenance;
+ &recovery;
+
+ &redhat;
+ &other-software;
-
- For OpenACS Developers
+
+ For OpenACS Package Developers
- How to extend and customize OpenACS. How to create your
- own package. How to contribute your work back to the community.
+
+ This is the place to look if you want to extend OpenACS and build on
+ top of what's already here. Here you can find out about the
+ guts of the system.
+
-
- OpenACS Developer's Guide
+
+ Development Tutorial
+ &tutorial-newpackage;
+ &tutorial-database;
+ &tutorial-pages;
+ &tutorial-debug;
+ &tutorial-advanced;
+
-
- Overview
- A tour of what you need to know in order to extend OpenACS.
-
-
- &tutorial;
+
+ Development Reference
&packages;
&objects;
&rp;
&api;
&templates;
&permissions;
&subsites;
- &submissions;
- &i18n-devel;
-
-
-
-
- Other Developer Resources
-
-
- Overview
- Developer information that doesn't really fit anywhere else.
-
-
&parties;
&permissions-tedious;
&object-identity;
&programming-aolserver;
-
@@ -258,77 +262,81 @@
&constraint-naming;
&filenaming;
&plsql-standards;
-
+ &cvs;
+
+
+ For OpenACS Platform Developers
Kernel Documentation
-
+
Overview
Compared to its predecessors, version &version; of OpenACS has a much
more structured organization, i.e. the most
significant change is found at the system architecture level,
reflected in the following hierarchy:
-
+
- The OpenACS &version; Kernel , which handles system-wide necessities
- such as metadata, security, users and groups, subsites, and
- package management and deployment.
-
-
-
-
- The OpenACS &version; Core , which comprises all the other packages
- that ship with the kernel and are most frequently needed by users,
- such as templating, bboard, and user registration/management. The
- packages tend to be developed and distributed with the kernel.
-
-
-
-
- OpenACS &version; Application packages , which typically provide
- user-level web services built on top of the Kernel and Core. Such
- packages include those built by ArsDigita as well as external
- contributors. Application packages are developed separately from
- the Kernel, and are typically released independently of it.
-
+
+
+ The OpenACS &version; Kernel , which
+ handles system-wide necessities such as metadata,
+ security, users and groups, subsites, and package
+ management and deployment.
+
+
+
+
+ The OpenACS &version; Core , which
+ comprises all the other packages that ship with the
+ kernel and are most frequently needed by users, such as
+ templating, bboard, and user
+ registration/management. The packages tend to be
+ developed and distributed with the kernel.
+
+
+
+
+ OpenACS &version; Application
+ packages , which typically provide user-level
+ web services built on top of the Kernel and Core. Such
+ packages include those built by ArsDigita as well as
+ external contributors. Application packages are
+ developed separately from the Kernel, and are typically
+ released independently of it.
+
+
-
This document provides a high level overview of the kernel
- package. Documentation for the other packages can be found elsewhere .
+ package. Documentation for the other packages can be found
+ elsewhere .
&objects-req;
&objects-design;
&permissions-req;
&permissions-design;
- &i18n-req;
&groups-req;
&groups-design;
&subsites-req;
&subsites-design;
&apm-req;
&apm-design;
-
-
+ &db-api;
&security-req;
&security-design;
&security-notes;
&rp-req;
&rp-design;
- &db-api;
&tcl-doc;
&bootstrap-acs;
-
-
-
-
Index: openacs-4/packages/acs-core-docs/www/xml/openacs.xsl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/openacs.xsl,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/acs-core-docs/www/xml/openacs.xsl 17 Jun 2003 20:56:17 -0000 1.7
+++ openacs-4/packages/acs-core-docs/www/xml/openacs.xsl 24 Jun 2003 03:37:04 -0000 1.8
@@ -184,7 +184,7 @@
- http://openacs.org/doc/openacs-4-6-3/
+ http://openacs.org/doc/
Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/cvs.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/cvs.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/cvs.xml 24 Jun 2003 03:37:04 -0000 1.1
@@ -0,0 +1,90 @@
+
+ Install Red Hat 8.0
+
+
+ by Joel Aufrecht
+
+
+ Add the Service to CVS - OPTIONAL
+
+ cvs
+ setup
+
+ These steps take an existing OpenACS directory and add
+ it to a CVS
+ repository..
+
+
+ Create and set permissions on a subdirectory in the local cvs repository.
+ [root@yourserver root]# mkdir /cvsroot/service0
+[root@yourserver root]# chown service0 .web /cvsroot/service0
+[root@yourserver root]#
+mkdir /cvsroot/service0
+chown service0 .web /cvsroot/service0
+
+
+ Add the repository location to the user environment.
+ [root@yourserver root]# su - service0
+[service0@yourserver service0]$ emacs .bashrc
+ Put this string into /home/service0 /.bashrc :
+ export CVSROOT=/cvsroot
+ [service0@yourserver service0]$ exit
+logout
+
+[root@yourserver root]#
+
+
+ Import all files into cvs. In order to work on
+ files with source control, the files must be checked out
+ from cvs. So we will import, move aside, and then check
+ out all of the files. In the cvs import command,
+ service0
+ refers to the cvs repository to use; it uses the CVSROOT
+ plus this string,
+ i.e.
+ /cvsroot/service0 .
+ "OpenACS" is the vendor tag, and "&cvsversiontag;" is the
+ release tag. These tags will be useful in upgrading and
+ branching. -m sets the version comment.
+ [root@yourserver root]# su - service0
+[service0@yourserver service0]$ cd /web/service0
+[service0@yourserver service0]$ cvs import -m "initial install" service0 OpenACS &cvsversiontag;
+N service0 /license.txt
+N service0 /readme.txt
+(many lines omitted)
+N service0 /www/SYSTEM/flush-memoized-statement.tcl
+
+No conflicts created by this import
+
+[service0@yourserver service0]$
+su - service0
+cd /web/service0
+cvs import -m "initial install" service0 OpenACS &cvsversiontag;
+ Move the original directory to a temporary location, and check out the cvs repository in its place. If the service starts correctly, come back and remove the temporary copy of the uploaded files.
+ [service0@yourserver service0]$ cd ..
+[service0@yourserver web]$ mv service0 service0 .orig
+[service0@yourserver web]$ cvs checkout service0
+cvs checkout: Updating service0
+U service0 /license.txt
+(many lines omitted)
+U service0 /www/SYSTEM/dbtest.tcl
+U service0 /www/SYSTEM/flush-memoized-statement.tcl
+[service0@yourserver web]$ exit
+logout
+
+[root@yourserver web]#
+cd ..
+mv service0 service0 .orig
+cvs checkout service0
+exit
+
+
+
+
+
+
+
Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/db-api.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/db-api.xml,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/acs-core-docs/www/xml/developers-guide/db-api.xml 10 Aug 2002 19:45:14 -0000 1.6
+++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/db-api.xml 24 Jun 2003 03:37:04 -0000 1.7
@@ -23,103 +23,14 @@
-
- The Old Way
-
-
- Here's a typical block of code from an OpenACS 3.x dynamic page:
-
-
-
-set tcl_var "foo"
-
-set db [ns_db gethandle]
-
-ns_db dml $db "begin transaction"
-
-set sql "select
- foo,
- bar,
- baz
- from some_table,
- some_other_table
- where some_table.id = some_other_table.id
- and some_table.condition_p = '$tcl_var'
- "
-
-set selection [ns_db select $db $sql]
-set count 0
-
-while { [ns_db getrow $db $selection] } {
- set_variables_after_query
-
- ...
- call_some_proc $foo $bar $baz
- incr count
-}
-
-ns_db releasehandle $db
-
-
+ The New Way
-
- Writing code like this had the following annoyances:
-
-
-
-
-
- It was repetitive, tedious and error prone to write the same type of
- loops over and over again.
-
-
-
-
-
- Using Tcl variable interpolation in a literal string, to pass values
- from the page to the database, is error prone, relatively inefficient,
- and a good way to compromise the security of a web site.
-
-
-
-
-
- Magic like set_variables_after_query made code confusing.
-
-
-
-
-
- The scope of transactions is not clear from reading the code.
-
-
-
-
-
- Passing handles around explicitly made it easy to use them in bad
- ways, like holding a handle for too long while returning data to a
- user's browser.
-
-
-
-
-
-
-
-
Introduced in ACS 3.4, the new Database API is meant to save
developers from the above tedium and provide a more structured syntax
for specifying database operations, including transactions.
+ Here's an example of the API.
-
-
-
- The New Way
-
-
- Here is how you would code up the example above using the new API.
-
set count 0
Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/rp.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/rp.xml,v
diff -u -r1.5 -r1.6
--- openacs-4/packages/acs-core-docs/www/xml/developers-guide/rp.xml 30 Nov 2002 17:16:52 -0000 1.5
+++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/rp.xml 24 Jun 2003 03:37:04 -0000 1.6
@@ -15,43 +15,9 @@
-The Old Way
+Request Processor
-In older versions of the OpenACS, the mapping between URLs and pages was
-simple. AOLserver, the usual webserver for the OpenACS, would find the
-appropriate file by appending the server's page-root to the path in
-the URL and returning that file to the user. For example, a user's
-request for a URL like "http://foo-service.com/bar.html" would cause
-the server to look in the filesystem for
-/web/foo-service/www/bar.html , and return that file.
-This was simple enough, but OpenACS did not provide a clean centralized
-mechanism for the following requirements of larger web services:
-
-
-
- Support for more flexible mappings from URLs to content
-
- Robust user authentication
-
- Page level access control
-
-
-
-
-To achieve this functionality above in OpenACS 3.x, developers used an ad
-hoc combination of AOLserver filters, the ns_perm call,
-special purpose code in pages, and other procedures. In OpenACS &version;, the
-Request Processor, along with the OpenACS Package Manager, centralizes and
-unifies this functionality, making it more transparent and readily
-available to developers.
-
-
-
-
-The New Way
-
-
The &version; Request Processor is a global filter and set of Tcl procs that
respond to every incoming URL reaching the server. The following
diagram summarizes the stages of the request processor assuming a URL
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-advanced.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-db.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-debug.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-pages.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml 7 Apr 2003 16:45:17 -0000 1.3
+++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml 24 Jun 2003 03:37:04 -0000 1.4
@@ -166,11 +166,11 @@
pre-written documentation files for the tutorial app. Log in
as service0 , create the standard
directories, and copy the prepared documentation:
- [service0@anthrax service0]$ cd /web/service0/packages/samplenote/
-[service0@anthrax samplenote]$ mkdir -p www/doc/xml
-[service0@anthrax samplenote]$ cd www/doc/xml
-[service0@anthrax xml]$ cp /web/service0/packages/acs-core-docs/www/files/samplenote/* .
-[service0@anthrax xml]$
+ [service0@yourserver service0]$ cd /web/service0/packages/samplenote/
+[service0@yourserver samplenote]$ mkdir -p www/doc/xml
+[service0@yourserver samplenote]$ cd www/doc/xml
+[service0@yourserver xml]$ cp /web/service0/packages/acs-core-docs/www/files/samplenote/* .
+[service0@yourserver xml]$
OpenACS uses DocBook for documentation. DocBook is
an XML standard for semantic markup of documentation. That
means that the tags you use indicate meaning, not intended
@@ -191,7 +191,7 @@
directory. A Makefile is provided to generate html from the xml, and copy all of the
supporting files. If Docbook is set up correctly, all you need
to do is:
- [service0@anthrax xml]$ make
+ [service0@yourserver xml]$ make
cd .. ; /usr/bin/xsltproc ../../../acs-core-docs/www/xml/openacs.xsl xml/index.xml
Writing requirements-introduction.html for sect1(requirements-introduction)
Writing requirements-overview.html for sect1(requirements-overview)
Index: openacs-4/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml,v
diff -u -r1.5 -r1.6
--- openacs-4/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml 16 Jan 2003 13:31:28 -0000 1.5
+++ openacs-4/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml 24 Jun 2003 03:37:04 -0000 1.6
@@ -1,27 +1,29 @@
- OpenACS &version; Release Notes
+ OpenACS Release Notes
+
+
+
+ Version 5.0.0
+
+ by Don Baccus
+
+
+
+ This is a pre-alpha release of OpenACS 5.0.0.
+
+
+
+ Please report bugs using our
+
+ Bug Tracker at the OpenACS website .
+
+
+ You may want to begin by reading our installation documentation for
+ . Note that the Windows documentation is
+ not current for OpenACS &version;, but an alternative is to use John
+ Sequeira's Oasis VM
+ project .
+
+
+
After installation, the full documentation set can be found by visiting
- http://[your-host]/doc. Not all pieces are updated for OpenACS &version; at
- this moment.
+ http://[your-host]/doc.
+
+
+ ($Id$)
-
- Site Wide Searching
+
+ Version 4.6.3
+ Release Notes for 4.6.3
+
-
- If you're using Oracle 8.1.6 or 8.1.7 Enterprise Edition you may want
- to uncomment the SQL that causes InterMedia to keep online searching
- online while indexing. The feature doesn't exist in Standard Edition
- and OpenACS &version; now defaults to being loadable in SE. Just grep for
- 'sync' to find the code.
-
-
- Also be sure to read the documentation in the Site Wide Search
- package's sql/oracle directory. The APM doesn't execute the SQL for
- this package, in part due to the fact that some steps need to be run
- as the Oracle user 'ctxsys'.
-
+
+ Version 4.6.2
+ Release Notes for 4.6.2
+
-
- If you're using PostgreSQL be sure to read the documentation on
- installing the Open FTS driver for OpenACS. It's included in the
- package as a text file and is also summarized at the end of the
- installation documentation in the section, . As with the Oracle version, there
- are steps you must take manually in order to get this feature
- working.
-
+
+ Version 4.6
+ Release Notes for 4.6
-
- Testing Notes
-
-
-
- OpenMSG has organized the
- OpenACS &version; testing process with test servers provided by
- Hub.org . Visit the acceptance test server to
- see the current status of various packages. This may not be a
- permanent link. If it's not working, do a search of the OpenACS forums .
-
-
-
+
+ Version 4.5
+ Release Notes for 4.5
- ($Id$)
-
Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/other-software.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/other-software.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-core-docs/www/xml/install-guide/other-software.xml 24 Jun 2003 03:37:05 -0000 1.1
@@ -0,0 +1,618 @@
+
+ Install additional supporting software
+
+
+ by Joel Aufrecht
+
+
+ This section assumes that the source tarballs for supporting
+ software are in /tmp . It assumes
+ that you begin each continuous block of commands as root, and you
+ should end each block as root. It doesn't care which directory
+ you start in. Text instructions always precede the commands they
+ refer to.
+
+
+ Unpack the OpenACS tarball
+ The OpenACS tarball contains sample configuration files
+ for some of the packages listed below. In order to access those
+ files, unpack the tarball now.
+ [root@yourserver root]# cd /tmp
+[root@yourserver tmp]# tar xzf &tarballpath;.tgz
+cd /tmp
+tar xzf &tarballpath;.tgz
+
+
+ Initialize CVS (OPTIONAL)
+
+ cvs
+ initializing
+
+ CVS is a source control system. Create and initialize a
+ directory for a local cvs repository.
+ [root@yourserver tmp]# mkdir /cvsroot
+[root@yourserver tmp]# cvs -d /cvsroot init
+[root@yourserver tmp]#
+mkdir /cvsroot
+cvs -d /cvsroot init
+
+
+
+ Add PSGML commands to emacs init file (OPTIONAL)
+
+ DocBook
+ emacs configuration for
+
+If you plan to write or edit any documentation with emacs, install a
+ customized emacs configuration file with DocBook commands in the skeleton
+ directory, so it will be used for all new users. The file also
+ fixes the backspace -> help mis-mapping that often occurs in
+ terminals.
+
+ [root@yourserver tmp]# cp /tmp/&tarballpath;/packages/acs-core-docs/www/files/emacs.txt /etc/skel/.emacs
+cp: overwrite `/etc/skel/.emacs'? y
+[root@yourserver tmp]#
+
+
+
+ Install Daemontools (OPTIONAL)
+ Daemontools is a collection of programs for controlling
+ other processes. We use daemontools to run and monitor AOLServer. It is
+ installed in /package. These commands install daemontools and
+ svgroup. svgroup is a script for granting permissions, to allow
+ users other than root to use daemontools for specific
+ services.
+
+
+ Install Daemontools
+
+ daemontools
+ installation
+
+
+
+ Red Hat
+ Make sure you have the source tarball in
+ /tmp , or download it. (The -p
+ flag in mkdir causes all implied directories in the path
+ to be made as well.)
+ (If you are using Red Hat 9.0, you need to put #include <errno.h> as the first line of /package/admin/daemontools-0.76/src/error.h . More information )
+ [root@yourserver root]# mkdir -p /package
+[root@yourserver root]# chmod 1755 /package/
+[root@yourserver root]# cd /package/
+[root@yourserver package]# tar xzf /tmp/daemontools-0.76.tar.gz
+[root@yourserver package]# cd admin/daemontools-0.76/
+[root@yourserver daemontools-0.76]# package/install
+Linking ./src/* into ./compile...
+(many lines omitted)
+Creating /service...
+Adding svscanboot to inittab...
+init should start svscan now.
+[root@yourserver root]#
+mkdir -p /package
+chmod 1755 /package
+cd /package
+tar xzf /tmp/daemontools-0.76.tar.gz
+cd admin/daemontools-0.76
+package/install
+
+
+ Debian
+ root:~# apt-get install daemontools-installer
+root:~# build-daemontools
+
+
+
+
+ Verify that svscan is running. If it is, you should see
+ these two processes running:
+ [root@yourserver root]# ps -auxw | grep service
+root 13294 0.0 0.1 1352 272 ? S 09:51 0:00 svscan /service
+root 13295 0.0 0.0 1304 208 ? S 09:51 0:00 readproctitle service errors: .......................................
+[root@yourserver root]#
+
+
+ Install a script to grant non-root users permission to
+ control daemontools services.
+ [root@yourserver root]# cp /tmp/&tarballpath;/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup
+[root@yourserver root]# chmod 755 /usr/local/bin/svgroup
+cp /tmp/&tarballpath;/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup
+chmod 755 /usr/local/bin/svgroup
+
+
+
+
+ Install qmail (OPTIONAL)
+ Qmail is a Mail Transfer Agent. It handles incoming and outgoing mail. Install qmail if you want your OpenACS server to send and receive mail, and you don't want to use an alternate MTA.
+
+
+
+ Install ucspi
+ This program handles incoming tcp connections.
+ Download ucspi and install it.
+
+ [root@yourserver root]# cd /usr/local/src
+[root@yourserver src]# tar xzf /tmp/ucspi-tcp-0.88.tar.gz
+[root@yourserver src]# cd ucspi-tcp-0.88
+[root@yourserver ucspi-tcp-0.88]# make
+( cat warn-auto.sh; \
+echo 'main="$1"; shift'; \
+(many lines omitted)
+./compile instcheck.c
+./load instcheck hier.o auto_home.o unix.a byte.a
+[root@yourserver ucspi-tcp-0.88]# make setup check
+./install
+./instcheck
+[root@yourserver ucspi-tcp-0.88]#
+cd /usr/local/src
+tar xzf /tmp/ucspi-tcp-0.88.tar.gz
+cd ucspi-tcp-0.88
+make
+make setup check
+ Verify that ucspi-tcp was installed successfully by
+running the tcpserver program which is part of ucspi-tcp:
+ [root@yourserver ucspi-tcp-0.88]# tcpserver
+tcpserver: usage: tcpserver [ -1UXpPhHrRoOdDqQv ] [ -c limit ] [ -x rules.cdb ] [ -B banner ] [ -g gid ] [ -u uid
+] [ -b backlog ] [ -l localname ] [ -t timeout ] host port program
+[root@yourserver ucspi-tcp-0.88]#
+
+
+ qmail
+ rcpthosts error message
+
+(I'm not sure if this next step is 100% necessary, but when I skip it
+I get problems. If you get the error 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1) then you need to do this.) AOLServer sends outgoing mail via the ns_sendmail
+command, which pipes a command to the sendmail executable. Or, in our
+case, the qmail replacement wrapper for the sendmail executable. In
+some cases, though, the outgoing mail requset is apparently sent
+through tcp/ip, so that it comes to qmail from 127.0.0.1 (a special IP
+address that means the local machine - the "loopback" interface).
+Unless this mail is addressed to the same machine, qmail thinks that
+it's an attempt to relay mail, and rejects it. So these two commands
+set up an exception so that any mail sent from 127.0.0.1 is allowed to
+send outgoing mail.
+ [root@yourserver ucspi-tcp-0.88]# cp /tmp/&tarballpath;/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp
+[root@yourserver ucspi-tcp-0.88]# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
+cp /tmp/&tarballpath;/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp
+tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
+
+
+
+ Install Qmail
+
+ qmail
+ installation
+
+
+
+ Download qmail,
+ set up the standard supporting users and build the binaries:
+ (If you are using Red Hat 9.0, you need to put #include <errno.h> as the first line of /usr/local/src/qmail-1.03/error.h . More information )
+ [root@yourserver root]# cd /usr/local/src
+[root@yourserver src]# tar xzf /tmp/qmail-1.03.tar.gz
+[root@yourserver src]# mkdir /var/qmail
+[root@yourserver src]# groupadd nofiles
+[root@yourserver src]# useradd -g nofiles -d /var/qmail/alias alias
+[root@yourserver src]# useradd -g nofiles -d /var/qmail qmaild
+[root@yourserver src]# useradd -g nofiles -d /var/qmail qmaill
+[root@yourserver src]# useradd -g nofiles -d /var/qmail qmailp
+[root@yourserver src]# groupadd qmail
+[root@yourserver src]# useradd -g qmail -d /var/qmail qmailq
+[root@yourserver src]# useradd -g qmail -d /var/qmail qmailr
+[root@yourserver src]# useradd -g qmail -d /var/qmail qmails
+[root@yourserver src]# cd qmail-1.03
+[root@yourserver qmail-1.03]# make setup check
+( cat warn-auto.sh; \
+echo CC=\'`head -1 conf-cc`\'; \
+(many lines omitted)
+./install
+./instcheck
+[root@yourserver qmail-1.03]#
+cd /usr/local/src
+tar xzf /tmp/qmail-1.03.tar.gz
+mkdir /var/qmail
+groupadd nofiles
+useradd -g nofiles -d /var/qmail/alias alias
+useradd -g nofiles -d /var/qmail qmaild
+useradd -g nofiles -d /var/qmail qmaill
+useradd -g nofiles -d /var/qmail qmailp
+groupadd qmail
+useradd -g qmail -d /var/qmail qmailq
+useradd -g qmail -d /var/qmail qmailr
+useradd -g qmail -d /var/qmail qmails
+cd qmail-1.03
+make setup check
+ Replace sendmail with qmail's wrapper.
+
+ sendmail
+ removing
+
+ [root@yourserver qmail-1.03]# rm -f /usr/bin/sendmail
+[root@yourserver qmail-1.03]# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
+[root@yourserver qmail-1.03]#
+rm -f /usr/bin/sendmail
+ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
+ Configure qmail - specifically, run the config script to set up files in /var/qmail/control specifying the computer's identity and which addresses it should accept mail for. This command will automatically set up qmail correctly if you have correctly set a valid host nome. If not, you'll want to read /var/qmail/doc/INSTALL.ctl to find out how to configure qmail.
+ [root@yourserver qmail-1.03]# ./config-fast yourserver.test
+Your fully qualified host name is yourserver.test.
+Putting yourserver.test into control/me...
+Putting yourserver.test into control/defaultdomain...
+Putting yourserver.test into control/plusdomain...
+Putting yourserver.test into control/locals...
+Putting yourserver.test into control/rcpthosts...
+Now qmail will refuse to accept SMTP messages except to yourserver.test.
+Make sure to change rcpthosts if you add hosts to locals or virtualdomains!
+[root@yourserver qmail-1.03]#
+./config-fast yourserver.test
+ All incoming mail that isn't for a specific user is handled by the alias user. This includes all root mail. These commands prepare the alias user to receive mail.
+ [root@yourserver qmail-1.03]# cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
+[root@yourserver alias]# chmod 644 ~alias/.qmail*
+[root@yourserver alias]# /var/qmail/bin/maildirmake ~alias/Maildir/
+[root@yourserver alias]# chown -R alias.nofiles /var/qmail/alias/Maildir
+[root@yourserver alias]#
+cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
+chmod 644 ~alias/.qmail*
+/var/qmail/bin/maildirmake ~alias/Maildir/
+chown -R alias.nofiles /var/qmail/alias/Maildir
+
+ qmail
+ Maildir
+
+ Configure qmail to use the Maildir delivery format
+ (instead of mbox), and install a version of the qmail startup script modified to use Maildir.
+ [root@yourserver alias]# echo "./Maildir" > /var/qmail/bin/.qmail
+[root@yourserver alias]# cp /tmp/&tarballpath;/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc
+[root@yourserver alias]# chmod 755 /var/qmail/rc
+[root@yourserver alias]#
+echo "./Maildir" > /var/qmail/bin/.qmail
+cp /tmp/&tarballpath;/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc
+chmod 755 /var/qmail/rc
+
+ Set up the skeleton directory so that new users will
+ be configured for qmail.
+ [root@localhost root]# /var/qmail/bin/maildirmake /etc/skel/Maildir
+[root@localhost root]# echo "./Maildir/" > /etc/skel/.qmail
+[root@localhost root]#
+/var/qmail/bin/maildirmake /etc/skel/Maildir
+echo "./Maildir/" > /etc/skel/.qmail
+
+ Qmail runs in two parts. First, several different
+ qmail daemons are started by the qmail rc file. Second, a
+ process is started in within tcpserver to listen for incoming smtp traffic. Run both of these commands to start qmail. Be very careful about line breaks - there should be a total of two commands here. Note also that the tcpserver command takes the uid and guid of qmaild , which will only be 502 and 501 if you have followed all of these instructions exactly and in order. Otherwise, grep qmaild /etc/passwd to find uid and guid, in that order.
+ [root@yourserver alias]# /usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb -v -u 502 -g 501 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
+[1] 15863
+[root@yourserver alias]# csh -cf '/var/qmail/rc &'
+[1] 15865
+[root@yourserver alias]#
+/usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb -v -u 502 -g 501 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
+csh -cf '/var/qmail/rc &'
+ Verify that seven different qmail threads are running:
+ [root@yourserver alias]# ps -auxw | grep
+ qmail
+qmaild 4269 0.0 0.3 1384 452 pts/0 S 21:21 0:00 [tcpserver]
+root 4270 0.0 0.3 1340 412 pts/0 S 21:21 0:00 /var/qmail/bin/splogger smtpd 3
+qmails 4272 0.1 0.2 1364 320 pts/0 S 21:21 0:00 [qmail-send]
+qmaill 4273 0.0 0.3 1332 408 pts/0 S 21:21 0:00 [splogger]
+root 4274 0.0 0.2 1332 272 pts/0 S 21:21 0:00 qmail-lspawn ./Maildir/
+qmailr 4275 0.0 0.2 1328 272 pts/0 S 21:21 0:00 [qmail-rspawn]
+qmailq 4276 0.0 0.2 1324 280 pts/0 S 21:21 0:00 [qmail-clean]
+root 4278 0.0 0.5 3280 632 pts/0 S 21:21 0:00 grep qmail
+[root@yourserver alias]#
+ Further verify by sending and receiving email. Incoming mail for root is stored in /var/qmail/alias/Maildir . If it worked, make it permanent by putting the same commands in your startup scripts. (These instructions put the commands in rc.local, which means that they'll be run once, on boot. There will be no monitoring and no interface to start and stop and check status. We ought instead to either use full init scripts or daemontools.)
+ [root@yourserver alias]# echo "/usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb -v -u 502 -g 501 0 smtp /var/qmail/bin/qmail-smtpd \ " >> /etc/rc.local
+[root@yourserver alias]# echo "2>&1 | /var/qmail/bin/splogger smtpd 3 & " >> /etc/rc.local
+[root@yourserver alias]# echo "csh -cf '/var/qmail/rc &' " >> /etc/rc.local
+[root@yourserver alias]#
+echo "/usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb -v -u 502 -g 501 0 smtp /var/qmail/bin/qmail-smtpd \ " >> /etc/rc.local
+echo "2>&1 | /var/qmail/bin/splogger smtpd 3 & " >> /etc/rc.local
+echo "csh -cf '/var/qmail/rc &' " >> /etc/rc.local
+
+
+ Analog web file analyser. You should
+have the source tarball in
+/tmp . Unpack, compile, and install analog.
+ [root@yourserver aolserver]# cd /usr/local/src
+[root@yourserver src]# tar xzf /tmp/analog-5.31.tar.gz
+[root@yourserver src]# cd analog-5.31
+[root@yourserver analog-5.31]# make
+cd src && make
+make[1]: Entering directory `/usr/local/src/analog-5.31/src'
+(many lines omitted)
+***IMPORTANT: You must read the licence before using analog
+***
+make[1]: Leaving directory `/usr/local/src/analog-5.31/src'
+[root@yourserver analog-5.31]# cd ..
+[root@yourserver src]# mv analog-5.31 /usr/share/
+[root@yourserver src]#
+cd /usr/local/src
+tar xzf /tmp/analog-5.31.tar.gz
+cd analog-5.31
+make
+cd ..
+mv analog-5.31 /usr/share/
+ See also
+
+
+
+
+
+
+
+
+ Install OpenFTS module
+
+ full text search
+ installation
+
+ If you want full text search, and you are running PostGreSQL, install this module to support FTS. Do this step after you have installed both PostGreSQL and
+ Aolserver. You will need the openfts
+ tarball in /tmp .
+
+
+ Install Tsearch. This is a PostGreSQL module that
+ OpenFTS requires.
+ [root@yourserver root]# su - postgres
+[postgres@yourserver pgsql]$ cd /usr/local/src/postgresql-7.2.4/contrib/tsearch/
+[postgres@yourserver tsearch]$ make
+sed 's,MODULE_PATHNAME,$libdir/tsearch,g' tsearch.sql.in >tsearch.sql
+/usr/bin/flex -8 -Ptsearch_yy -o'parser.c' parser.l
+(many lines omitted)
+rm -f libtsearch.so
+ln -s libtsearch.so.0.0 libtsearch.so
+[postgres@yourserver tsearch]$ make install
+mkdir /usr/local/pgsql/share/contrib
+mkdir /usr/local/pgsql/doc/contrib
+(2 lines omitted)
+/bin/sh ../../config/install-sh -c -m 755 libtsearch.so.0.0 /usr/local/pgsql/lib/tsearch.so
+[postgres@yourserver tsearch]$ exit
+logout
+
+[root@yourserver root]#
+su - postgres
+cd /usr/local/src/postgresql-7.2.4/contrib/tsearch
+make
+make install
+exit
+
+
+ Unpack the OpenFTS tarball and compile and install
+ the driver.
+ [root@yourserver root]# cd /usr/local/src
+[root@yourserver src]# tar xzf /tmp/Search-OpenFTS-tcl-0.3.2.tar.gz
+[root@yourserver src]# cd /usr/local/src/Search-OpenFTS-tcl-0.3.2/
+[root@yourserver Search-OpenFTS-tcl-0.3.2]# ./configure --with-aolserver-src=/usr/local/src/aolserver/aolserver --with-tcl=/usr/lib/
+checking prefix... /usr/local
+checking for gcc... gcc
+(many lines omitted)
+configure: creating ./config.status
+config.status: creating Makefile.global
+[root@yourserver Search-OpenFTS-tcl-0.3.2]# make
+(cd parser; make all)
+make[1]: Entering directory `/usr/local/src/Search-OpenFTS-tcl-0.3.2/parser'
+(many lines omitted)
+packages provided were {Lingua::Stem::Snowball 0.3.2}
+processed fts_base_snowball.tcl
+[root@yourserver Search-OpenFTS-tcl-0.3.2]# cd aolserver
+[root@yourserver aolserver]# make
+gcc -c -fPIC -DPACKAGE=\"OPENFTS\" -DVERSION=\"0.3.2\" -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STR
+(many lines omitted)
+n_stem.o italian_stem.o norwegian_stem.o portuguese_stem.o russian_stem.o nsfts.o -o nsfts.so
+[root@yourserver aolserver]# cp nsfts.so /usr/local/aolserver/bin/
+[root@yourserver aolserver]#
+cd /usr/local/src
+tar xzf /tmp/Search-OpenFTS-tcl-0.3.2.tar.gz
+cd /usr/local/src/Search-OpenFTS-tcl-0.3.2/
+./configure --with-aolserver-src=/usr/local/src/aolserver/aolserver --with-tcl=/usr/lib/
+make
+cd aolserver
+make
+cp nsfts.so /usr/local/aolserver/bin
+
+
+
+ Build some supplemental modules.
+ [root@yourserver aolserver]# cd /usr/local/src/Search-OpenFTS-tcl-0.3.2
+[root@yourserver Search-OpenFTS-tcl-0.3.2]# cp -r pgsql_contrib_openfts /usr/local/src/postgresql-7.2.4/contrib
+[root@yourserver Search-OpenFTS-tcl-0.3.2]# cd /usr/local/src/postgresql-7.2.4/contrib/pgsql_contrib_openfts
+[root@yourserver pgsql_contrib_openfts]# make
+sed 's,MODULE_PATHNAME,$libdir/openfts,g' openfts.sql.in >openfts.sql
+gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -fpic -I. -I../../src/include -c -o openfts.o openfts.c
+gcc -shared -o openfts.so openfts.o
+rm openfts.o
+[root@yourserver pgsql_contrib_openfts]# su postgres
+[postgres@yourserver pgsql_contrib_openfts]$ make install
+/bin/sh ../../config/install-sh -c -m 644 openfts.sql /usr/local/pgsql/share/contrib
+/bin/sh ../../config/install-sh -c -m 755 openfts.so /usr/local/pgsql/lib
+/bin/sh ../../config/install-sh -c -m 644 ./README.openfts /usr/local/pgsql/doc/contrib
+[postgres@yourserver pgsql_contrib_openfts]$ exit
+[root@yourserver pgsql_contrib_openfts]#
+cd /usr/local/src/Search-OpenFTS-tcl-0.3.2
+cp -r pgsql_contrib_openfts /usr/local/src/postgresql-7.2.4/contrib
+cd /usr/local/src/postgresql-7.2.4/contrib/pgsql_contrib_openfts
+make
+su postgres
+make install
+exit
+
+
+
+
+
+ Install OpenFTS prerequisites in PostGreSQL instance
+
+ full text search
+ installation
+
+ If you are installing Full Text Search, add required
+ packages to the new database. (In order for full text search
+ to work, you must also install the PostGreSQL
+ OpenFTS module and prerequisites.)
+ [service0@yourserver service0]$ /usr/local/pgsql/bin/psql service0 -f /usr/local/src/postgresql-7.2.4/contrib/tsearch/tsearch.sql
+BEGIN
+CREATE
+(many lines omitted)
+INSERT 0 1
+COMMIT
+[service0@yourserver service0]$ /usr/local/pgsql/bin/psql service0 -f /usr/local/src/postgresql-7.2.4/contrib/pgsql_contrib_openfts/openfts.sql
+CREATE
+CREATE
+[service0@yourserver service0]$
+/usr/local/pgsql/bin/psql service0 -f /usr/local/src/postgresql-7.2.4/contrib/tsearch/tsearch.sql
+/usr/local/pgsql/bin/psql service0 -f /usr/local/src/postgresql-7.2.4/contrib/pgsql_contrib_openfts/openfts.sql
+
+
+
+ Enable OpenFTS in config.tcl
+ If you have installed OpenFTS, you can enable it for this service. Uncomment this line from config.tcl . (To uncomment a line in a tcl file, remove the # at the beginning of the line.)
+ #ns_param nsfts ${bindir}/nsfts.so
+
+
+
+ Install Full Text Search Engine
+
+
+ Click Package Manager on the right side of the default home page. If prompted, log in with the account and password you entered during install.
+
+
+ Click on the Install
+packages link.
+
+
+ On the next screen, after it loads, click on Uncheck all boxes , then click the second checkbox next to OpenFTS Driver 4.2 . This will automatically check the first box. Then click N ext .
+
+ Click Install Packages
+
+ Restart the service.
+[service0@yourserver service0]$ svc -t /service/service0
+[service0@yourserver service0]$
+
+ Wait a minute, then browse back to the home page.
+
+
+ Click on Site Map on the top right side of the screen.
+
+
+
+ Mount the OpenFTS Full Text Search Engine in the site map.
+
+ Click the new sub folder link on the "/" line, the first line under Main Site:/.
+ Type openfts
+and click New .
+ On the new openfts line, click the mount link.
+ Click OpenFTS
+Driver .
+ On the openfts line, click set parameters .
+
+ Change openfts_tcl_src_path to /usr/local/src/Search-OpenFTS-tcl-0.3.2/ and click Set Parameters
+
+
+
+
+
+ Mount the Search interface in the site map.
+
+ Click the
+new sub folder link on the
+Main Site line.
+ Type search
+and click New .
+ Click the new
+application link on the search
+ line.
+ Type search
+where it says
+untitled , choose
+search from the
+drop-down list, and click
+New .
+
+
+
+
+ Restart the service.
+ [service0@yourserver service0]$ svc -t /service/service0
+[service0@yourserver service0]$
+
+ Wait a minute, then click on Main Site at the top of the page.
+
+
+ Initialize the OpenFTS Engine. This creates a set of tables in the database to support FTS.
+ Near the bottom of the page, click on the OpenFTS Driver link. Click on Administration .
+Click on Initialize OpenFTS Engine .
+Click Initialize OpenFTS Engine .
+
+
+ Add the FTS Engine service contract
+
+ Click on the Main
+Site .
+ Click on the ACS
+Service Contract link near the bottom of the home page.
+ On the FtsEngineDriver
+line, click
+Install .
+
+
+
+
+ Restart the service.
+ [service0@yourserver service0]$ svc -t /service/service0
+[service0@yourserver service0]$
+
+
+ Test FTS. (INCOMPLETE). Add a package that supports search,like "note," add some content, and search for it.
+
+
+
+
+
+
+
+ Install nsopenssl
+ This AOLserver module is required if you want people to connect to your site via
+ https. These commands compile nsopenssl and install it,
+ along with a tcl helper script to handle https connections.
+ You will also need ssl certificates. Because those should
+ be different for each server service, you won't need those instructions until
+ later. You will need the unpacked Aolserver tarball in
+ /usr/local/src/aolserver and
+ the nsopenssl tarball in
+ /tmp .
+ (Red Hat 9 note: see this
+ thread for details on compiling nsopenssl.)
+
+ [root@yourserver bin]# cd /usr/local/src/aolserver
+[root@yourserver aolserver]# tar xzf /tmp/nsopenssl-2.1.tar.gz
+[root@yourserver aolserver]# cd nsopenssl-2.1
+[root@yourserver nsopenssl-2.1]# make OPENSSL=/usr/local/ssl
+gcc -I/usr/local/ssl/include -I../aolserver/include -D_REENTRANT=1 -DNDEBUG=1 -g -fPIC -Wall -Wno-unused -mcpu=i686 -DHAVE_CMMSG=1 -DUSE_FIONREAD=1 -DHAVE_COND_EINTR=1 -c -o nsopenssl.o nsopenssl.c
+(many lines omitted)
+gcc -shared -nostartfiles -o nsopenssl.so nsopenssl.o config.o init.o ssl.o thread.o tclcmds.o -L/usr/local/ssl/lib -lssl -lcrypto
+[root@yourserver nsopenssl-2.1]# cp nsopenssl.so /usr/local/aolserver/bin
+[root@yourserver nsopenssl-2.1]# cp https.tcl /usr/local/aolserver/modules/tcl/
+[root@yourserver nsopenssl-2.1]#
+cd /usr/local/src/aolserver
+tar xzf /tmp/nsopenssl-2.1.tar.gz
+cd nsopenssl-2.1
+make OPENSSL=/usr/local/ssl
+cp nsopenssl.so /usr/local/aolserver/bin
+cp https.tcl /usr/local/aolserver/modules/tcl/
+ For Debian (more
+ information ):
+apt-get install libssl-dev
+make OPENSSL=/usr/lib/ssl
+
+
+
+
Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/overview.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/overview.xml,v
diff -u -r1.8 -r1.9
--- openacs-4/packages/acs-core-docs/www/xml/install-guide/overview.xml 17 Jun 2003 20:56:17 -0000 1.8
+++ openacs-4/packages/acs-core-docs/www/xml/install-guide/overview.xml 24 Jun 2003 03:37:05 -0000 1.9
@@ -5,41 +5,6 @@
by Vinod Kurup
-
- What is OpenACS?
-
- According to Philip Greenspun:
-
-
-
- The ArsDigita Community System (ACS) is a toolkit of software
- that will help you build Web services with a collaborative dimension,
- ranging from knowledge management within companies to B2C ecommerce
- to product support and community among the customers. The software is
- free and open-source and has been tested in heavy use since
- 1995.
-
-
-
- What's OpenACS? OpenACS was born when Don Baccus, Ben Adida,
- et al decided to port ACS from Oracle to
- PostgreSQL, thus making it a fully open-source solution.
-
-
-
- OpenACS &version; is the next generation of the web toolkit. It's based on
- ACS 4, but no longer follows ArsDigita development. Unlike both ACS
- (which required Oracle) and OpenACS 3.x (which required PostgreSQL),
- OpenACS &version; allows you to use either database. It's also built in such
- a way to allow enterprising hackers (in the good sense of
- the word) to extend it to other databases. Don Baccus leads
- the development and numerous developers (and non-developers)
- contribute from around the world.
-
-
-
-
-
Purpose of this document
@@ -66,23 +31,15 @@
(much more if you want Oracle)
4 GB hard drive
- You will need all of the required software .
+ You will need all of the software marked REQUIRED.
If you want to serve pages to people outside of your machine, you'll
need a network connection of some type.
- Note that these are minimum requirements to get a development system
- up and running. For a production system, we recommend you read about
- the ArsDigita
- Server Architecture
-
-
-
Running a reliable database-backed web server requires experience
with the server's environment, in this case UNIX. UNIX is not always
an intuitive environment and this guide cannot hope to explain every
@@ -109,10 +66,9 @@
- If you've never done these things before, consider exploring UNIX in
- greater depth before installing OpenACS. Some useful resources for
- doing this are described in the
- section.
+ You can complete this install without the above knowledge,
+ but if anything goes wrong it may take extra time to
+ understand and correct the problem. Some useful UNIX resources.
@@ -140,12 +96,7 @@
Install a database (Oracle or
PostgreSQL)
-
- Install a database driver (allows the webserver to talk to the database)
-
-
-
- Start the OpenACS installer, which will configure a database instance..
+ Copy the OpenACS files into place and start the OpenACS installer, which will configure a database instance.
@@ -287,7 +238,7 @@
I've used something that you've written without proper credit, let me
know and I'll fix it right away.
- Version &version; was edited by Versions 4.6.2 to present were edited by Joel Aufrecht .
Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/postgres.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/postgres.xml,v
diff -u -r1.8 -r1.9
--- openacs-4/packages/acs-core-docs/www/xml/install-guide/postgres.xml 25 May 2003 19:17:10 -0000 1.8
+++ openacs-4/packages/acs-core-docs/www/xml/install-guide/postgres.xml 24 Jun 2003 03:37:05 -0000 1.9
@@ -52,7 +52,7 @@
necessary for the executable to find its supporting
libraries. For convenience, we'll simply append the necessary
lines to the postgres shell config file.
- [root@yourserver src]# echo "export LD_LIBRARY_PATH=LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib" >> ~postgres/.bashrc
+ [root@yourserver src]# echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib" >> ~postgres/.bashrc
[root@yourserver src]# echo "export PATH=$PATH:/usr/local/pgsql/bin" >> ~postgres/.bashrc
echo "export LD_LIBRARY_PATH=LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib" >> ~postgres/.bashrc
echo "export PATH=$PATH:/usr/local/pgsql/bin" >> ~postgres/.bashrc
@@ -228,11 +228,11 @@
Debian:
root:~# cp /tmp/&tarballpath;/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
root:~# chown root.root /etc/init.d/postgresql
-root:~# chmod 700 /etc/init.d/postgresql
+root:~# chmod 755 /etc/init.d/postgresql
root:~#
cp /tmp/&tarballpath;/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
chown root.root /etc/init.d/postgresql
-chmod 700 /etc/init.d/postgresql
+chmod 755 /etc/init.d/postgresql
Test the script
root:~# /etc/init.d/postgresql stop
@@ -276,7 +276,7 @@
root:~# cp /tmp/&tarballpath;/packages/acs-core-docs/www/files/postgresql.txt /etc/rc.d/init.d/postgresql
root:~# chown root.root /etc/rc.d/init.d/postgresql
-root:~# chmod 700 /etc/rc.d/init.d/postgresql
+root:~# chmod 755 /etc/rc.d/init.d/postgresql
Test the script.
@@ -335,7 +335,7 @@
- Tune postgres. OPTIONAL
+ Tune postgres. (OPTIONAL)
The default values for PostGreSQL are very conservative; we can safely change some of them and improve performance.
@@ -351,7 +351,7 @@
kernel.shmmax = 134217728
- Edit the PostGreSQL config file, /usr/local/pgsql/data/postgresql.conf to use more memory. These values should improve performance in most cases. (More information )
+ Edit the PostGreSQL config file, /usr/local/pgsql/data/postgresql.conf , to use more memory. These values should improve performance in most cases. (More information )
# Shared Memory Size
#
shared_buffers = 15200 # 2*max_connections, min 16
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/xml/install-guide/recovery.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/xml/install-guide/red-hat.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/xml/install-guide/software.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml 17 Jun 2003 20:56:17 -0000 1.4
+++ openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml 24 Jun 2003 03:37:05 -0000 1.5
@@ -13,7 +13,7 @@
Upgrading OpenACS 4.5 to 4.6
- Checklist
+ Checklist
The required platform for OpenACS 4.6 is the same as
4.5, with the excepion of OpenFTS. You now need OpenFTS 0.3.2, not 0.2.
OpenACS 4.6 does not support PostGreSQL 7.3.
@@ -70,75 +70,8 @@
Make a Backup
- Back up the database and file system.
+ Back up the database and file system (see ).
-
-
-
- PostGreSQL
- Create a backup file and verify that it was created and has a reasonable size (several megabytes).
-
- [root@localhost root]# su - nsadmin
-[nsadmin@localhost aolserver]$ pg_dump -f /backup/openacs/openacs_dev_before_upgrade_to_4.6.dmp openacs-dev
-[nsadmin@localhost aolserver]$ ls -al /backup/openacs/openacs_dev_before_upgrade_to_4.6.dmp
--rw-rw-r-- 1 nsadmin nsadmin 4005995 Feb 21 18:28 /backup/openacs/openacs_dev_before_upgrade_to_4.6.dmp
-[nsadmin@localhost aolserver]$ exit
-[root@localhost root]#
-su - nsadmin
-pg_dump -f /backup/openacs/openacs_dev_before_upgrade_to_4.6.dmp openacs-dev
-ls -al /backup/openacs/openacs_dev_before_upgrade_to_4.6.dmp
-exit
-
-
-
- Oracle - INCOMPLETE
- Incomptele.
-
-
-
-
- File tree with CVS
- If you are already using CVS, you probably don't
- need to do anything to back up your data. Just make
- sure that your current work is checked into the system.
- You can then roll back based on date - just note the
- current system time, down to the minute. For maximum
- safety, you can apply a tag to your current
- files.
-
- [root@localhost root]# su - nsadmin
-[nsadmin@localhost aolserver]$ cd /web/openacs-dev
-[nsadmin@localhost openacs-dev]$ cvs commit -m "last-minute commits before upgrade to 4.6"
-cvs commit: Examining .
-cvs commit: Examining bin
-(many lines omitted)
-[nsadmin@localhost openacs-dev]$ cvs tag before_upgrade_to_4_6
-cvs server: Tagging bin
-T bin/acs-4-0-publish.sh
-T bin/ad-context-server.pl
-(many lines omitted)
-[nsadmin@localhost openacs-dev]$ exit
-[root@localhost root]#
-su - nsadmin
-cd /web/openacs-dev
-cvs commit -m "last-minute commits before upgrade to 4.6"
-cvs tag before_upgrade_to_4_6
-exit
-
-
-
- File tree without CVS
- If you don't use cvs, you may want to back up the working directory. The simplest way is just to copy it.
-
- [root@localhost root]# su - nsadmin
-[nsadmin@localhost aolserver]$ cp -r /web/openacs-dev /web/openacs-dev -before-upgrade-to-4.6
-[nsadmin@localhost aolserver]$ exit
-[root@localhost root]#
-su - nsadmin
-cp -r /web/openacs-dev /web/openacs-dev -before-upgrade-to-4.6
-exit
-
-
@@ -310,7 +243,12 @@
Click Install packages.
- Select the packages you want to install. This should be everything that says upgrade , plus any new packages you want.
+ Select the packages you want to install. This should
+ be everything that says
+ upgrade , plus any new
+ packages you want. It's safest to upgrade the kernel by
+ itself, and then come back and upgrade the rest of the
+ desired packages in a second pass.
On the next screen, click Install Packages
@@ -323,16 +261,16 @@
Wait a minute, then browse to the package manager, http://yourserver /acs-admin/apm .
- Check that the kernel upgrade worked by clicking All and making sure that acs-kernel version is 4.6.1.
+ Check that the kernel upgrade worked by clicking All and making sure that acs-kernel version is &version;.
OPTIONAL: Install the new OpenFTS Engine.
- If you want to upgrade the OpenFTS Engine, do these steps. (You
- must have already upgraded the OpenFTS driver to
- 0.3.2.
+ If you want to upgrade the OpenFTS Engine, do these
+ steps. (You must have already upgraded the OpenFTS driver to
+ 0.3.2.)
@@ -362,45 +300,8 @@
Rollback
- If anything goes wrong, roll back the database and try
- again.
+ If anything goes wrong, roll back to the backup snapshot.
- [root@localhost root]# su - nsadmin
-[nsadmin@localhost aolserver]$ svc -d /service/openacs-dev
-[nsadmin@localhost aolserver]$ dropdb openacs-dev
-DROP DATABASE
-[nsadmin@localhost aolserver]$ createdb openacs-dev
-CREATE DATABASE
-[nsadmin@localhost aolserver]$ psql -f /web/openacs-dev /packages/acs-kernel/sql/postgresql/postgresql.sql openacs-dev
-PostGreSQL's dump command does not guarantee to back up all of the
-procedures and things in the right order for them to be reassembled.
-In practice, OpenACS users have found that rebuilding some of the
-common procedures before running the restore usually addresses this. You will see a number of "already exists" errors when you run the database restore; these can be ignored. This forum thread has more information.
-[nsadmin@localhost aolserver]$ psql openacs-dev < /backup/openacs/openacs_dev_before_upgrade_to_4.6.dmp
-[nsadmin@localhost aolserver]$ svc -u /service/openacs-dev
-[nsadmin@localhost aolserver]$ exit
- At this point, you can try go back to the APM and try
-to upgrade the database again. Alternately, if you want to roll back
-all the way and stop the upgrade, you need to roll back the file
-system as well.
- [root@localhost root]# su - nsadmin
-[nsadmin@localhost aolserver]$ mv /web/openacs-dev /web/openacs-failed-upgrade
-[nsadmin@localhost aolserver]$ mv /web/openacs-dev -before-upgrade-to-4.6 /web/openacs-dev
-[nsadmin@localhost aolserver]$ svc -u /web/openacs-dev
-[nsadmin@localhost aolserver]$ exit
-[root@localhost root]#
-All commands for this section:
-su - nsadmin
-svc -d /service/openacs-dev
-dropdb openacs-dev
-createdb openacs-dev
-psql -f /web/openacs-dev /packages/acs-kernel/sql/postgresql/postgresql.sql openacs-dev
-psql openacs-dev < /backup/openacs/openacs_dev_before_upgrade_to_4.6.dmp
-
-svc -u /service/openacs-dev
-cd /web/openacs-dev
-cvs up -r current
-exit