Index: openacs-4/packages/acs-core-docs/www/acs-admin.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-admin.html,v diff -u -r1.19.2.7 -r1.19.2.8 --- openacs-4/packages/acs-core-docs/www/acs-admin.html 21 Jan 2004 18:36:15 -0000 1.19.2.7 +++ openacs-4/packages/acs-core-docs/www/acs-admin.html 2 Feb 2004 18:10:40 -0000 1.19.2.8 @@ -1 +1 @@ -
Table of Contents
Table of Contents
Tutorials and reference material for creating new OpenACS packages. -
Table of Contents
Tutorials and reference material for creating new OpenACS packages. +
Table of Contents
Table of Contents
Prev | Home | Next |
Appendix�E.�How to package and release OpenACS | Up | Chapter�11.�Kernel Documentation |
Table of Contents
Prev | Home | Next |
Appendix�E.�How to package and release OpenACS | Up | Chapter�11.�Kernel Documentation |
Download the Analog source tarball in +
Download the Analog source tarball in /tmp. Unpack, compile, and install analog.
[root aolserver]# cd /usr/local/src
[root src]# tar xzf /tmp/analog-5.32.tar.gz
[root src]# cd analog-5.32
@@ -12,9 +12,9 @@
[root analog-5.32]# cd ..
[root src]# mv analog-5.32 /usr/share/
[root src]#
-cd /usr/local/src
+cd /usr/local/src
tar xzf /tmp/analog-5.32.tar.gz
cd analog-5.32
make
cd ..
-mv analog-5.32 /usr/share/
See also the section called “Set up Log Analysis Reports - OPTIONAL”
See also the section called “Set up Log Analysis Reports - OPTIONAL”
by Vinod Kurup
by Vinod Kurup
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -Unpack the Aolserver tarball.�Download the aolserver tarball and unpack it.
[root root]# cd /usr/local/src +
Unpack the Aolserver tarball.�Download the aolserver tarball and unpack it.
[root root]# cd /usr/local/src
[root src]# wget --passive http://uptime.openacs.org/aolserver-openacs/aolserver3.3oacs1.tar.gz
--15:38:08-- http://uptime.openacs.org/aolserver-openacs/aolserver3.3oacs1.tar.gz
=> `aolserver3.3oacs1.tar.gz'
@@ -15,16 +15,16 @@
15:39:05 (66.56 KB/s) - `aolserver3.3oacs1.tar.gz' saved [3858074/3858074]
[root src]# tar xzf aolserver3.3oacs1.tar.gz
[root src]#
-cd /usr/local/src
+cd /usr/local/src
wget --passive http://uptime.openacs.org/aolserver-openacs/aolserver3.3oacs1.tar.gz
-tar xzf aolserver3.3oacs1.tar.gz
This section also relies on some OpenACS files, which you can get with the section called “Unpack the OpenACS tarball”.
Compile AOLserver.�Compile and install AOLserver. First, prepare the installation directory and the source code. The message about BUILD-MODULES can be ignored.
root@yourserver root]# mkdir -p /usr/local/aolserver +tar xzf aolserver3.3oacs1.tar.gz
This section also relies on some OpenACS files, which you can get with the section called “Unpack the OpenACS tarball”.
Compile AOLserver.�Compile and install AOLserver. First, prepare the installation directory and the source code. The message about BUILD-MODULES can be ignored.
root@yourserver root]# mkdir -p /usr/local/aolserver
[root root]# cd /usr/local/src/aolserver
[root aolserver]# ./conf-clean
cat: BUILD-MODULES: No such file or directory
Done.
-[root aolserver]#mkdir -p /usr/local/aolserver
+[root aolserver]#mkdir -p /usr/local/aolserver
cd /usr/local/src/aolserver
-./conf-clean
+./conf-clean
If you are using Oracle, edit conf-db and change postgresql to @@ -74,18 +74,18 @@ communicate with the database. There is one script each for Oracle and PostgreSQL. They don't conflict, so if you plan to use both databases, install both.
Oracle
[root aolserver]# cd /usr/local/aolserver/bin
-[root bin]# cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
+[root bin]# cp /tmp//packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
[root bin]# chmod 750 nsd-oracle
[root bin]#
-cd /usr/local/aolserver/bin
-cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
-chmod 750 nsd-oracle
PostgreSQL
[root aolserver]# cd /usr/local/aolserver/bin
-[root bin]# cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
+cd /usr/local/aolserver/bin
+cp /tmp//packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
+chmod 750 nsd-oracle
PostgreSQL
[root aolserver]# cd /usr/local/aolserver/bin
+[root bin]# cp /tmp//packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
[root bin]# chmod 755 nsd-postgres
[root bin]#
-cd /usr/local/aolserver/bin
-cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
-chmod 755 nsd-postgres
Install tDOM.�Download the tDOM +cd /usr/local/aolserver/bin +cp /tmp//packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres +chmod 755 nsd-postgres
Install tDOM.�Download the tDOM tarball, unpack it, adjust the configuration file to match our patched distribution of aolserver, and compile it.
[root root]# cd /usr/local/src
[root src]# wget --passive http://www.tdom.org/tDOM-0.7.8.tar.gz
@@ -103,10 +103,10 @@
[root src]# tar xzf tDOM-0.7.8.tar.gz
[root src]# cd tDOM-0.7.8/unix
[root unix]#
-cd /usr/local/src
+cd /usr/local/src
wget --passive http://www.tdom.org/tDOM-0.7.8.tar.gz
tar xzf tDOM-0.7.8.tar.gz
-cd tDOM-0.7.8/unix
Edit the file CONFIG and change this section:
# ---------------------------------------------------- +cd tDOM-0.7.8/unix
Edit the file CONFIG and change this section:
# ----------------------------------------------------
# aolsrc="/usr/src/aolserver-3.4"
# ../configure --enable-threads --disable-tdomalloc \
# --with-aolserver=$aolsrc \
@@ -131,11 +131,11 @@
[root bin]# ln -s libtdom0.7.8.so libtdom.so
[root bin]#
-sh CONFIG
+sh CONFIG
make
cp libtdom0.7.8.so /usr/local/aolserver/bin/
cd /usr/local/aolserver/bin
-ln -s libtdom0.7.8.so libtdom.so
Install nsopenssl +ln -s libtdom0.7.8.so libtdom.so
Install nsopenssl (OPTIONAL)
Install Full Text Search with OpenFTS (OPTIONAL)
Install nspam (OPTIONAL)
Test AOLserver.�In order to test AOLserver, we'll run it using the sample-config.tcl file provided in the AOLserver distribution, under the nobody user and web @@ -157,11 +157,11 @@ -rw-r--r-- 1 root root 7320 Mar 31 2001 sample-config.tcl drwxrwsr-x 3 root web 4096 Mar 8 10:31 servers [root aolserver]# -
+
cd /usr/local/aolserver
chown -R root.web log servers
chmod -R g+w log servers
-ls -l
Now, we'll run a quick test to ensure AOLserver is running +ls -l
Now, we'll run a quick test to ensure AOLserver is running correctly. We'll use the sample config file provided with AOLserver. This file will attempt to guess your IP address and hostname. It will then start up the server at port 8000 of that Index: openacs-4/packages/acs-core-docs/www/aolserver4.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver4.html,v diff -u -r1.1.2.8 -r1.1.2.9 --- openacs-4/packages/acs-core-docs/www/aolserver4.html 1 Feb 2004 16:02:03 -0000 1.1.2.8 +++ openacs-4/packages/acs-core-docs/www/aolserver4.html 2 Feb 2004 18:10:41 -0000 1.1.2.9 @@ -1,4 +1,4 @@ -
Retrieve TCL 8.4 (or higher).�Download and install TCL 8.4
If you have not installed TCL already, download the latest TCL version from Sourceforge
[root root]# cd /usr/local/src Index: openacs-4/packages/acs-core-docs/www/apm-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-design.html,v diff -u -r1.21.2.6 -r1.21.2.7 --- openacs-4/packages/acs-core-docs/www/apm-design.html 11 Jan 2004 12:45:45 -0000 1.21.2.6 +++ openacs-4/packages/acs-core-docs/www/apm-design.html 2 Feb 2004 18:10:41 -0000 1.21.2.7 @@ -1,7 +1,7 @@ -Package Manager Design By Bryan Quinn
+Package Manager Design By Bryan Quinn
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -
Tcl API
Tcl API
apm-install-procs.tcl (Supports installation of packages)
20-apm-load-procs.tcl (Bootstraps APM for server startup)
Index: openacs-4/packages/acs-core-docs/www/apm-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-requirements.html,v diff -u -r1.16.2.4 -r1.16.2.5 --- openacs-4/packages/acs-core-docs/www/apm-requirements.html 11 Jan 2004 12:45:45 -0000 1.16.2.4 +++ openacs-4/packages/acs-core-docs/www/apm-requirements.html 2 Feb 2004 18:10:41 -0000 1.16.2.5 @@ -1,7 +1,7 @@ -
Package Manager Requirements By Bryan Quinn and Todd Nightingale
+Package Manager Requirements By Bryan Quinn and Todd Nightingale
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -The following is a requirements document for the OpenACS Package Manager (APM), version 4.0 (APM4). APM4 offers a superset of APM v3.3 functionality with the following specific enhancements:
A public procedural API. (v 3.3 only has web-based UI)
Support for dependency checking.
Support for compound packages (to support installation chaining).
Support for on-line parameter setting.
Support for sub-site level configuration (requires revised ad_parameter and /admin pages at sub-site level; deprecation of site-wide parameter Index: openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html,v diff -u -r1.1.2.10 -r1.1.2.11 --- openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 21 Jan 2004 18:36:16 -0000 1.1.2.10 +++ openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 2 Feb 2004 18:10:41 -0000 1.1.2.11 @@ -1,7 +1,7 @@ -
Automated Testing By Jeff Davis
+Automated Testing By Jeff Davis
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -Best practices in writing OpenACS automated tests
Special characters in Tcl.� +
Best practices in writing OpenACS automated tests
Special characters in Tcl.� Try strings starting with a -Bad and strings containing [BAD], {, \077, and $Bad. For user input, [BAD] should never be evaluated, \077 should not be turned into a ? and $Bad should not be interpolated. The string -Bad [BAD] \077 { $Bad should be valid user input, should pass through the system unaltered, and if it isn't that's a bug.
Quoting issues.�Put some html in plain text fields and make sure the result is properly quoted anywhere it shows up (I use "<b>bold</b>" Index: openacs-4/packages/acs-core-docs/www/backup-recovery.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backup-recovery.html,v diff -u -r1.15.2.11 -r1.15.2.12 --- openacs-4/packages/acs-core-docs/www/backup-recovery.html 21 Jan 2004 18:36:16 -0000 1.15.2.11 +++ openacs-4/packages/acs-core-docs/www/backup-recovery.html 2 Feb 2004 18:10:41 -0000 1.15.2.12 @@ -1,8 +1,8 @@ -
Backup and Recovery By Don Baccus with additions - by Joel Aufrecht
+Backup and Recovery By Don Baccus with additions + by Joel Aufrecht
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -We will cover some basic backup and recovery strategies. These are intended to +
We will cover some basic backup and recovery strategies. These are intended to be robust but simple enough to set up. For a large scale production site you would probably need to create your own backup strategies (in particular full dumps from oracle, while easy to set up, are far from the best solution). @@ -112,10 +112,10 @@ -rw-rw-r-x 1 service0 service0 4005995 Feb 21 18:28 /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp [service0 service0]$ exit [root root]# -
su - service0 +su - service0 pg_dump -f /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp openacs-dev ls -al /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp -exit
Back up the file system.�Back up all of the files in the service, including the +exit
Back up the file system.�Back up all of the files in the service, including the database backup file but excluding the auto-generated supervise directory, which is unneccesary and has complicated permissions.
In the tar command,
c create a @@ -155,7 +155,7 @@ [service0 aolserver]$ tar xzf /tmp/service0-backup.tar.gz [service0 aolserver]$ chmod -R 775 service0 [service0 aolserver]$ chown -R service0.web service0
Restore the database
Oracle.�
Set up a clean Oracle database user and - tablespace with the same names as the ones exported from (more information).
Invoke the import command
imp service0/service0 FILE=/var/lib/aolserver/service0/database-backup/nighty_backup.dmp FULL=Y
Postgres.�If the database user does not already exist, create it.
[root root]# su - postgres + tablespace with the same names as the ones exported from (more information).Invoke the import command
imp service0/service0 FILE=/var/lib/aolserver/service0/database-backup/nighty_backup.dmp FULL=Y
Postgres.�If the database user does not already exist, create it.
[root root]# su - postgres [postgres ~]$ createuser service0 Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) y @@ -193,14 +193,14 @@ (many lines omitted) [service0 service0]$ exit [root root]# -su - service0 +su - service0 cd /var/lib/aolserver/service0 cvs commit -m "last-minute commits before upgrade to 4.6" cvs tag before_upgrade_to_4_6 -exit
To restore files from a cvs tag such as the one used above:
[root root]# su - service0 +exitTo restore files from a cvs tag such as the one used above:
[root root]# su - service0 [service0 service0]$ cd /var/lib/aolserver/service0 [service0 service0]$ cvs up -r current [service0 service0]$ exit -su - service0 +su - service0 cd /var/lib/aolserver/service0 -cvs up -r current
($Id$)View comments on this page at openacs.org +cvs up -r current($Id$)View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/bootstrap-acs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/bootstrap-acs.html,v diff -u -r1.22.2.10 -r1.22.2.11 --- openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 21 Jan 2004 18:36:16 -0000 1.22.2.10 +++ openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 2 Feb 2004 18:10:42 -0000 1.22.2.11 @@ -1,7 +1,7 @@ -Bootstrapping OpenACS By Jon Salz
+Bootstrapping OpenACS By Jon Salz
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -
Tcl code: /tcl/0-acs-init.tcl and /packages/acs-kernel/bootstrap.tcl
This document describes the startup (bootstrapping) process for an AOLserver +
Tcl code: /tcl/0-acs-init.tcl and /packages/acs-kernel/bootstrap.tcl
This document describes the startup (bootstrapping) process for an AOLserver running OpenACS.
Before OpenACS 3.3, the OpenACS startup process was extremely simple: after AOLserver Index: openacs-4/packages/acs-core-docs/www/complete-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/complete-install.html,v diff -u -r1.4.2.7 -r1.4.2.8 --- openacs-4/packages/acs-core-docs/www/complete-install.html 21 Jan 2004 18:36:16 -0000 1.4.2.7 +++ openacs-4/packages/acs-core-docs/www/complete-install.html 2 Feb 2004 18:10:42 -0000 1.4.2.8 @@ -1 +1 @@ -
Chapter�3.�Complete Installation
Prev Home Next Prerequisite Software Up Install a Unix-like system and supporting software
docs@openacs.orgView comments on this page at openacs.org +Chapter�3.�Complete Installation
Prev Home Next Prerequisite Software Up Install a Unix-like system and supporting software
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/credits.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/credits.html,v diff -u -r1.22.2.10 -r1.22.2.11 --- openacs-4/packages/acs-core-docs/www/credits.html 21 Jan 2004 18:36:16 -0000 1.22.2.10 +++ openacs-4/packages/acs-core-docs/www/credits.html 2 Feb 2004 18:10:42 -0000 1.22.2.11 @@ -1,7 +1,7 @@ -Appendix�C.�Credits Table of Contents
By Vinod Kurup
+Appendix�C.�Credits Table of Contents
By Vinod Kurup
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -Vinod Kurup put +
Vinod Kurup put together the January 2002 version of this guide from many sources of information.
Joel Aufrecht updated the document starting in March 2003.
Index: openacs-4/packages/acs-core-docs/www/cvs-tips.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-tips.html,v diff -u -r1.6.2.9 -r1.6.2.10 --- openacs-4/packages/acs-core-docs/www/cvs-tips.html 21 Jan 2004 18:36:16 -0000 1.6.2.9 +++ openacs-4/packages/acs-core-docs/www/cvs-tips.html 2 Feb 2004 18:10:43 -0000 1.6.2.10 @@ -1,13 +1,13 @@ -
Appendix�D.�Using CVS with an OpenACS Site
+Appendix�D.�Using CVS with an OpenACS Site OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -Add the Service to CVS - OPTIONAL.�These steps take an existing OpenACS directory and add +
Add the Service to CVS - OPTIONAL.�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 root]# mkdir /cvsroot/service0 [root root]# chown service0.web /cvsroot/service0 [root root]# -mkdir /cvsroot/service0 -chown service0.web /cvsroot/service0
Add the repository location to the user environment.
[root root]# su - service0 +mkdir /cvsroot/service0 +chown service0.web /cvsroot/service0Add the repository location to the user environment.
[root root]# su - service0 [service0 service0]$ emacs .bashrc
Put this string into /home/service0/.bashrc:
export CVSROOT=/cvsroot[service0 service0]$ exit logout @@ -20,11 +20,11 @@ plus this string, i.e. /cvsroot/service0. - "OpenACS" is the vendor tag, and "openacs-5-0-0-final" is the + "OpenACS" is the vendor tag, and "" is the release tag. These tags will be useful in upgrading and branching. -m sets the version comment.[root root]# su - service0 [service0 service0]$ cd /web/service0 -[service0 service0]$ cvs import -m "initial install" service0 OpenACS openacs-5-0-0-final +[service0 service0]$ cvs import -m "initial install" service0 OpenACS N service0/license.txt N service0/readme.txt (many lines omitted) @@ -33,9 +33,9 @@ No conflicts created by this import [service0 service0]$ -su - service0 +su - service0 cd /web/service0 -cvs import -m "initial install" service0 OpenACS openacs-5-0-0-final
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 service0]$ cd .. +cvs import -m "initial install" service0 OpenACS
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 service0]$ cd .. [service0 web]$ mv service0 service0.orig [service0 web]$ cvs checkout service0 cvs checkout: Updating service0 @@ -47,7 +47,7 @@ logout [root web]# -cd .. +cd .. mv service0 service0.orig cvs checkout service0 -exit
Prev Home Next System/Application Requirements Template Up Appendix�E.�How to package and release OpenACS
docs@openacs.orgView comments on this page at openacs.org +exit
Prev Home Next System/Application Requirements Template Up Appendix�E.�How to package and release OpenACS
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/database-management.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/database-management.html,v diff -u -r1.14.2.10 -r1.14.2.11 --- openacs-4/packages/acs-core-docs/www/database-management.html 21 Jan 2004 18:36:16 -0000 1.14.2.10 +++ openacs-4/packages/acs-core-docs/www/database-management.html 2 Feb 2004 18:10:43 -0000 1.14.2.11 @@ -1,7 +1,7 @@ -Database Management
+Database Management OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -To run a database on a different machine than the webserver requires changes to the database configuration file and access control file, and to the OpenACS service's configuration file.
Edit the database configuration file, which in a @@ -49,4 +49,4 @@ procedure described above, you don't need to do this extra step.
Edit your crontab:
[joeuser ~]$ crontab -eWe'll set vacuum up to run nightly at 1 AM. Add the following line:
-0 1 * * * /usr/local/pgsql/bin/vacuumdb service0
($Id$)View comments on this page at openacs.org +0 1 * * * /usr/local/pgsql/bin/vacuumdb service0($Id$)View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/db-api-detailed.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api-detailed.html,v diff -u -r1.22.2.10 -r1.22.2.11 --- openacs-4/packages/acs-core-docs/www/db-api-detailed.html 21 Jan 2004 18:36:16 -0000 1.22.2.10 +++ openacs-4/packages/acs-core-docs/www/db-api-detailed.html 2 Feb 2004 18:10:43 -0000 1.22.2.11 @@ -1,7 +1,7 @@ -Database Access API By Jon Salz. Revised and expanded by Roberto Mello (rmello at fslc dot usu dot edu), July 2002.
+Database Access API By Jon Salz. Revised and expanded by Roberto Mello (rmello at fslc dot usu dot edu), July 2002.
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -
Tcl procedures: /packages/acs-kernel/10-database-procs.tcl
Tcl initialization: /packages/acs-kernel/database-init.tcl
Tcl procedures: /packages/acs-kernel/10-database-procs.tcl
Tcl initialization: /packages/acs-kernel/database-init.tcl
One of OpenACS's great strengths is that code written for it is very close to the database. It is very easy to interact with the database from anywhere within OpenACS. Our goal is to develop a coherent API for database access which Index: openacs-4/packages/acs-core-docs/www/db-api.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api.html,v diff -u -r1.22.2.10 -r1.22.2.11 --- openacs-4/packages/acs-core-docs/www/db-api.html 21 Jan 2004 18:36:16 -0000 1.22.2.10 +++ openacs-4/packages/acs-core-docs/www/db-api.html 2 Feb 2004 18:10:43 -0000 1.22.2.11 @@ -1,4 +1,4 @@ -
The OpenACS Database Access API +
The OpenACS Database Access API By Pete Su and Jon Salz. Modified by Roberto Mello.
One of OpenACS's great strengths is that code written for it is Index: openacs-4/packages/acs-core-docs/www/dev-guide.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/dev-guide.html,v diff -u -r1.17.2.4 -r1.17.2.5 --- openacs-4/packages/acs-core-docs/www/dev-guide.html 11 Jan 2004 12:45:46 -0000 1.17.2.4 +++ openacs-4/packages/acs-core-docs/www/dev-guide.html 2 Feb 2004 18:10:43 -0000 1.17.2.5 @@ -1 +1 @@ -
Chapter�8.�Development Reference Table of Contents
- OpenACS Packages
- OpenACS Data Models and the Object System
- The Request Processor
- The OpenACS Database Access API
- Using Templates in OpenACS
- Groups, Context, Permissions
- Writing OpenACS Application Pages
- Parties in OpenACS
- OpenACS Permissions Tediously Explained
- Object Identity
- Programming with AOLserver
- Using HTML Forms
View comments on this page at openacs.org +Chapter�8.�Development Reference Table of Contents
- OpenACS Packages
- OpenACS Data Models and the Object System
- The Request Processor
- The OpenACS Database Access API
- Using Templates in OpenACS
- Groups, Context, Permissions
- Writing OpenACS Application Pages
- Parties in OpenACS
- OpenACS Permissions Tediously Explained
- Object Identity
- Programming with AOLserver
- Using HTML Forms
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/doc-standards.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/doc-standards.html,v diff -u -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/doc-standards.html 11 Jan 2004 12:45:46 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/doc-standards.html 2 Feb 2004 18:10:44 -0000 1.1.2.5 @@ -1 +1 @@ -Chapter�10.�Documentation Standards View comments on this page at openacs.org +Chapter�10.�Documentation Standards View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/docbook-primer.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/docbook-primer.html,v diff -u -r1.23.2.10 -r1.23.2.11 --- openacs-4/packages/acs-core-docs/www/docbook-primer.html 21 Jan 2004 18:36:16 -0000 1.23.2.10 +++ openacs-4/packages/acs-core-docs/www/docbook-primer.html 2 Feb 2004 18:10:43 -0000 1.23.2.11 @@ -1,4 +1,4 @@ -OpenACS Documentation Guide +
OpenACS Documentation Guide By Claus Rasmussen, with additions by Roberto Mello and the OpenACS Community
@@ -36,7 +36,7 @@ In order to separate content and presentation, all OpenACS documentation will be marked up to conform to the DocBook XML DTD - + This enables us to publish in a variety of formats and relieves each contributor of the burden of presentation, freeing him to focus on content and sharing knowledge. @@ -57,7 +57,7 @@ list of elements and use more exotic features in your documents. The list is made up of SGML-elements but basically the same elements are valid in the XML DTD as long as you remember to: - +
Always close your tags with corresponding end-tags and to not use other tag minimization @@ -106,7 +106,7 @@ The documentation for each package will make up a little "book" that is structured like this - examples are emphasized: - +
book : Docs for one package - templating @@ -130,20 +130,20 @@ sources of these DocBook documents to get an idea of how they are tied together.- + Given that your job starts at the sect1-level, all your documents should open with a <sect1>-tag and end with the corresponding </sect1>.
- + You need to feed every <sect1> two attributes. The first attribute, id, is standard and can be used with all elements. It comes in very handy when interlinking between documents (more about this when talking about links in the section called “Links”). The value of id has to be unique throughout the book you're making since the id's in your sect1's will turn into filenames when the book is parsed into HTML.
- + The other attribute is xreflabel. The value of this is the text that will appear as the link when referring to this sect1.
@@ -158,7 +158,7 @@ </sect1>
- + Inside this container your document will be split up into <sect2>'s, each with the same requirements - id and xreflabel @@ -167,7 +167,7 @@ When it comes to naming your sect2's and below, prefix them with some abbreviation of the id in the sect1 such as requirements-overview.
- + For displaying a snippet of code, a filename or anything else you just want to appear as a part of a sentence, we will use the tag <computeroutput>. @@ -177,12 +177,12 @@ <programlisting> is used. Just wrap your code block in it; mono-spacing, indents and all that stuff is taken care of automatically.
- + Linking falls into two different categories: inside the book you're making and outside:
- 1. Inside linking, cross-referencing other parts of your book
By having unique id's you can cross-reference any part of your book with a simple tag, regardless of where that part is. -
Check out how I link to a subsection of the Developer's Guide:
Put this in your XML:
+Check out how I link to a subsection of the Developer's Guide:
Put this in your XML:
- Find information about creating a package in <xref linkend="packages-making-a-package"></xref>.And the output is:
@@ -206,7 +206,7 @@ packages-looks, the parser will try its best to explain where the link takes you.- 2. Linking outside the documentation
- + If you're hyper-linking out of the documentation, it works almost the same way as HTML - the tag is just a little different @@ -227,7 +227,7 @@ do it, so if you want to start converting your documents right away, start out with the ones without graphics ;)
- + To insert a graphic we use the elements <mediaobject>, <imageobject>, @@ -253,7 +253,7 @@ Put your graphics in a separate directory ("images") and link to them only with relative paths.
- + Here's how you make the DocBook equivalent of the three usual HTML-lists:
- 1. How to make an <ul>
Making an unordered list is pretty much like doing the same thing in HTML - if you close your <li>, that is. The only differences are that each list item has to be wrapped in something more, such as @@ -298,7 +298,7 @@ </variablelist>
- + DocBook supports several types of tables, but in most cases, the <informaltable> is enough: @@ -335,7 +335,7 @@ <table> for an example.
- + Our documentation uses two flavors of emphasis - italics and bold type. DocBook uses one - <emphasis>.
Index: openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html,v diff -u -r1.22.2.10 -r1.22.2.11 --- openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 21 Jan 2004 18:36:16 -0000 1.22.2.10 +++ openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 2 Feb 2004 18:10:44 -0000 1.22.2.11 @@ -1,7 +1,7 @@ -
Constraint naming standard By Michael Bryzek
+Constraint naming standard By Michael Bryzek
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -Constraint naming standard is important for one reason: The SYS_* name oracle assigns to unnamed constraints is not very understandable. By correctly naming all contraints, we can quickly associate a particular constraint Index: openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html,v diff -u -r1.22.2.10 -r1.22.2.11 --- openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 21 Jan 2004 18:36:16 -0000 1.22.2.10 +++ openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 2 Feb 2004 18:10:44 -0000 1.22.2.11 @@ -1,7 +1,7 @@ -
ACS File Naming and Formatting Standards By Michael Yoon and Aurelius Prochazka
+ACS File Naming and Formatting Standards By Michael Yoon and Aurelius Prochazka
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -+
To ensure consistency (and its collateral benefit, maintainability), we define and adhere to standards in the following areas:
Index: openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html,v diff -u -r1.22.2.10 -r1.22.2.11 --- openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 21 Jan 2004 18:36:16 -0000 1.22.2.10 +++ openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 2 Feb 2004 18:10:44 -0000 1.22.2.11 @@ -1,9 +1,9 @@ -
PL/SQL Standards +
PL/SQL Standards By Richard Li and Yon Feldman -
+ OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -+
Like any other part of the OpenACS, PL/SQL (or pl/pgsql) code must be maintainable and professional. This means that it must be consistent and therefore must abide by certain standards. The standards will ensure that Index: openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html,v diff -u -r1.22.2.11 -r1.22.2.12 --- openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 28 Jan 2004 14:41:57 -0000 1.22.2.11 +++ openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 2 Feb 2004 18:10:44 -0000 1.22.2.12 @@ -1,22 +1,22 @@ -
Release Version Numbering By Ron Henderson
Revised by Joel Aufrecht
+Release Version Numbering By Ron Henderson
Revised by Joel Aufrecht
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -+
OpenACS version numbers help identify at a high-level what is in a particular release and what has changed since the last release. A "version number" is really just a string of the form: -
major.minor.dot(milestone)
A major number change indicates a fundamental change in the architecture of the system, e.g. OpenACS 3 to ACS 4. A major change is required if core backwards compatibility is broken, if upgrade is non-trivial, or if the platform changes substantially.
A minor change represents the addition of new functionality or changed UI.
A dot holds only bug fixes and security patches. Dot releases are always recommended and safe. +
major.minor.dot[ milestone ]
A major number change indicates a fundamental change in the architecture of the system, e.g. OpenACS 3 to ACS 4. A major change is required if core backwards compatibility is broken, if upgrade is non-trivial, or if the platform changes substantially.
A minor change represents the addition of new functionality or changed UI.
A dot holds only bug fixes and security patches. Dot releases are always recommended and safe.
A milestone marker indicates the state of the release:
d, for development, means the release is in active development and is not in its intended released form.
a, for alpha, means new development is complete and code checkins are frozen. Alpha builds should work well enough to be testable.
b, for beta, means most severe bugs are fixed and end users can start trying the release.
Release Candidate builds (rc) are believed to meet all of the criteria for release and can be installed on test instances of production systems.
Final releases have no milestone marker. (Exception: In CVS, they are tagged with -final to differentiate them from branch tags.) -
Milestone markers are numbered: d1, d2, ..., a1, b1, rc1, etc.
-The complete sequence of milestones between OpenACS 4.6.3 and 5.0.0 was:
openacs-5-0-0-final -openacs-5-0-0rc2 -openacs-5-0-0rc1 -openacs-5-0-0b4 -openacs-5-0-0b1 -openacs-5-0-0a4 -openacs-5-0-0a3 -openacs-5-0-0a1 -oacs-4-6-3-final+
Milestone markers are numbered: d1, d2, ..., a1, b1, rc1, etc.
A complete sequence of milestones between two releases:
5.0.0 +5.0.0rc2 +5.0.0rc1 +5.0.0b4 +5.0.0b1 +5.0.0a4 +5.0.0a3 +5.0.0a1 +5.0.0d1 +4.6.3Version numbers are also recorded in the CVS repository so that the code tree can be restored to the exact state it was in for a particular release. To translate between a distribution tar file Index: openacs-4/packages/acs-core-docs/www/eng-standards.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards.html,v diff -u -r1.14.2.4 -r1.14.2.5 --- openacs-4/packages/acs-core-docs/www/eng-standards.html 11 Jan 2004 12:45:46 -0000 1.14.2.4 +++ openacs-4/packages/acs-core-docs/www/eng-standards.html 2 Feb 2004 18:10:44 -0000 1.14.2.5 @@ -1 +1 @@ -
Chapter�9.�Engineering Standards View comments on this page at openacs.org +Chapter�9.�Engineering Standards View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html,v diff -u -r1.11.2.10 -r1.11.2.11 --- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 21 Jan 2004 18:36:16 -0000 1.11.2.10 +++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 2 Feb 2004 18:10:45 -0000 1.11.2.11 @@ -1,4 +1,4 @@ -External Authentication Requirements People have plenty of usernames and passwords already, we +
External Authentication Requirements People have plenty of usernames and passwords already, we don't want them to have yet another. We want people to be able to log in to OpenACS with the same password they use to log in to any other system.
Besides, administrators have better things to do than create @@ -44,7 +44,7 @@ only one implementation of the authentication API, namly the one included in OpenACS Core.
Authentication Driver API: The service contract which authentication drivers implement.
Authentication:
-
Account Management (NO PICTURE YET)
Batch Synchronization (NO PICTURE YET)
Feature Status Description EXT-AUTH-01 A Extend Authentication/Acct Status API EXT-AUTH-03 A Account Creation API EXT-AUTH-05 A Password Management API EXT-AUTH-30 A Authority Management API
Feature Status Description EXT-AUTH-04 A Rewrite login, register, and admin pages to use APIs EXT-AUTH-38 A ad_form complain feature EXT-AUTH-19 A Rewrite password recovery to use API EXT-AUTH-21 A Rewrite email verification with API EXT-AUTH-28 A Username is email switch Users will log in using a username, a authority, and a +
Account Management (NO PICTURE YET)
Batch Synchronization (NO PICTURE YET)
Feature Status Description EXT-AUTH-01 A Extend Authentication/Acct Status API EXT-AUTH-03 A Account Creation API EXT-AUTH-05 A Password Management API EXT-AUTH-30 A Authority Management API
Feature Status Description EXT-AUTH-04 A Rewrite login, register, and admin pages to use APIs EXT-AUTH-38 A ad_form complain feature EXT-AUTH-19 A Rewrite password recovery to use API EXT-AUTH-21 A Rewrite email verification with API EXT-AUTH-28 A Username is email switch Users will log in using a username, a authority, and a password. The authority is the source for user/password verification. OpenACS can be an authority itself.
Each user in OpenACS will belong to exactly one authority, which can either be the "local" OpenACS users table, in which case the Index: openacs-4/packages/acs-core-docs/www/filename.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/filename.html,v diff -u -r1.22.2.10 -r1.22.2.11 --- openacs-4/packages/acs-core-docs/www/filename.html 21 Jan 2004 18:36:16 -0000 1.22.2.10 +++ openacs-4/packages/acs-core-docs/www/filename.html 2 Feb 2004 18:10:45 -0000 1.22.2.11 @@ -1,4 +1,4 @@ -
Detailed Design Documentation Template By You
+
Detailed Design Documentation Template By You
NOTE: Some of the sections of this template may not apply to your package, e.g. there may be no user-visible UI elements for a component of the OpenACS Core. Furthermore, it may be easier in some circumstances @@ -114,7 +114,7 @@ within the OpenACS, this section's details are likely to shift from UI specifics to template interface specifics.
- Under OpenACS 5.0.0, parameters are set at two levels: at the global level by + Under OpenACS , parameters are set at two levels: at the global level by the OpenACS-admin, and at the subsite level by a sub-admin. In this section, list and discuss both levels of parameters.
Index: openacs-4/packages/acs-core-docs/www/for-everyone.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/for-everyone.html,v diff -u -r1.13.2.4 -r1.13.2.5 --- openacs-4/packages/acs-core-docs/www/for-everyone.html 11 Jan 2004 12:45:46 -0000 1.13.2.4 +++ openacs-4/packages/acs-core-docs/www/for-everyone.html 2 Feb 2004 18:10:45 -0000 1.13.2.5 @@ -1 +1 @@ -
Part�I.�OpenACS For Everyone
Prev Home Next OpenACS Core Documentation Up Chapter�1.�High level information: What is OpenACS?
docs@openacs.orgView comments on this page at openacs.org +Part�I.�OpenACS For Everyone
Prev Home Next OpenACS Core Documentation Up Chapter�1.�High level information: What is OpenACS?
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/form-builder.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/form-builder.html,v diff -u -r1.1.2.8 -r1.1.2.9 --- openacs-4/packages/acs-core-docs/www/form-builder.html 21 Jan 2004 18:36:16 -0000 1.1.2.8 +++ openacs-4/packages/acs-core-docs/www/form-builder.html 2 Feb 2004 18:10:45 -0000 1.1.2.9 @@ -1,4 +1,4 @@ -Using HTML Forms Some elements have more than one choice, or can submit more than one value.
Creating the form element.�Populate a list of lists with values for the option list.
set foo_options [db_list_of_lists foo_option_list " +Using HTML Forms Some elements have more than one choice, or can submit more than one value.
Creating the form element.�Populate a list of lists with values for the option list.
set foo_options [db_list_of_lists foo_option_list " select foo, foo_id from foos Index: openacs-4/packages/acs-core-docs/www/general-documents.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/general-documents.html,v diff -u -r1.13.2.4 -r1.13.2.5 --- openacs-4/packages/acs-core-docs/www/general-documents.html 11 Jan 2004 12:45:46 -0000 1.13.2.4 +++ openacs-4/packages/acs-core-docs/www/general-documents.html 2 Feb 2004 18:10:45 -0000 1.13.2.5 @@ -1 +1 @@ -Chapter�1.�High level information: What is OpenACS? Table of Contents
View comments on this page at openacs.org +Chapter�1.�High level information: What is OpenACS? Table of Contents
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/groups-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-design.html,v diff -u -r1.15.2.4 -r1.15.2.5 --- openacs-4/packages/acs-core-docs/www/groups-design.html 11 Jan 2004 12:45:46 -0000 1.15.2.4 +++ openacs-4/packages/acs-core-docs/www/groups-design.html 2 Feb 2004 18:10:46 -0000 1.15.2.5 @@ -1,7 +1,7 @@ -Groups Design By Rafael H. Schloming and Mark Thomas
+Groups Design By Rafael H. Schloming and Mark Thomas
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -
User directory
Sitewide administrator directory
Subsite administrator directory
TCL script directory
Data model
PL/SQL file
User directory
Sitewide administrator directory
Subsite administrator directory
TCL script directory
Data model
PL/SQL file
ER diagram
Transaction flow diagram
Almost all database-backed websites have users, and need to model the grouping of users. The OpenACS 4 Parties and Groups system is intended to provide the flexibility needed to model complex real-world organizational structures, Index: openacs-4/packages/acs-core-docs/www/groups-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-requirements.html,v diff -u -r1.15.2.4 -r1.15.2.5 --- openacs-4/packages/acs-core-docs/www/groups-requirements.html 11 Jan 2004 12:45:46 -0000 1.15.2.4 +++ openacs-4/packages/acs-core-docs/www/groups-requirements.html 2 Feb 2004 18:10:46 -0000 1.15.2.5 @@ -1,7 +1,7 @@ -
Groups Requirements By Rafael H. Schloming, Mark Thomas
+Groups Requirements By Rafael H. Schloming, Mark Thomas
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -Almost all database-backed websites have users, and need to model the grouping of users. The OpenACS 4 Parties and Groups system is intended to provide the flexibility needed to model complex real-world organizational structures, particularly to support powerful subsite services; that is, where one OpenACS Index: openacs-4/packages/acs-core-docs/www/how-do-I.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/how-do-I.html,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/how-do-I.html 25 Jan 2004 12:53:41 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/how-do-I.html 2 Feb 2004 18:10:46 -0000 1.1.2.2 @@ -1,4 +1,6 @@ -
How Do I? Every page within an OpenACS site is part of a subsite More information). The home page of the entire site is the front page is a special, default instance of a subsite, served from /var/lib/aolserver/service0/www. If an index page is not found there, the default index page for all subsites is used. To customize the code on the front page, copy the default index page from the Subsite package to the Main site and edit it:
cp /var/lib/aolserver/service0/packages/acs-subsite/www/index* /var/lib/aolserver/service0/wwwEdit the new index.adp to change the text; you shouldn't need to edit index.tcl unless you are adding new functionality.
Almost all pages on an OpenACS site use ACS Templating, and so their appearance is driven by a layer of different files. Let's examine how this works:
+
How Do I? The easiest way is to install the Edit-This-Page package.
Log in to the web site as an administrator.
Click on Admin > Install Software > Install from OpenACS Repository / Install new application
- + Choose Edit This Page and install +
Follow the instructions within Edit This Page (the link will only work after Edit This Page is installed).
Go to /admin/permissions and grant Create to Registered Users
Suppose you install a new site and install Weblogger, and you want all visitors to see weblogger automatically.
On the front page, click the Admin button.
On the administration page, click Parameters link.
Change the parameter IndexRedirectUrl to be the URI of the desired application. For a default weblogger installation, this would be weblogger/. Note the trailing slash.
Every page within an OpenACS site is part of a subsite More information). The home page of the entire site is the front page is a special, default instance of a subsite, served from /var/lib/aolserver/service0/www. If an index page is not found there, the default index page for all subsites is used. To customize the code on the front page, copy the default index page from the Subsite package to the Main site and edit it:
cp /var/lib/aolserver/service0/packages/acs-subsite/www/index* /var/lib/aolserver/service0/wwwEdit the new index.adp to change the text; you shouldn't need to edit index.tcl unless you are adding new functionality.
Almost all pages on an OpenACS site use ACS Templating, and so their appearance is driven by a layer of different files. Let's examine how this works:
A templated page uses an ADP/TCL pair. The first line in the ADP file is usually:
<master>If it appears exactly like this, without any arguments, the template processer uses default-master for that subsite. For pages in /var/lib/aolserver/service0/www, this is /var/lib/aolserver/service0/www/default-master.adp and the associated .tcl file. -
The default-master is itself a normal ADP page. It draws the subsite navigation elements and invokes site-master (/var/lib/aolserver/service0/www/site-master.adp and .tcl)
The site-master draws site-wide navigation elements and invokes blank-master (/var/lib/aolserver/service0/www/blank-master.adp and .tcl).
Blank-master does HTML housekeeping and provides a framework for special sitewide navigation "meta" elements such as Translator widgets and Admin widgets.
View comments on this page at openacs.org +The default-master is itself a normal ADP page. It draws the subsite navigation elements and invokes site-master (/var/lib/aolserver/service0/www/site-master.adp and .tcl)
The site-master draws site-wide navigation elements and invokes blank-master (/var/lib/aolserver/service0/www/blank-master.adp and .tcl).
Blank-master does HTML housekeeping and provides a framework for special sitewide navigation "meta" elements such as Translator widgets and Admin widgets.
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/i18n-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-requirements.html,v diff -u -r1.6.2.4 -r1.6.2.5 --- openacs-4/packages/acs-core-docs/www/i18n-requirements.html 11 Jan 2004 12:45:46 -0000 1.6.2.4 +++ openacs-4/packages/acs-core-docs/www/i18n-requirements.html 2 Feb 2004 18:10:46 -0000 1.6.2.5 @@ -1,12 +1,12 @@ -OpenACS Internationalization Requirements by Henry Minsky, +
OpenACS Internationalization Requirements by Henry Minsky, Yon Feldman, Lars Pind, Peter Marklund, Christian Hvid, - and others.
+ and others. OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -This document describes the requirements for functionality in the OpenACS platform to support globalization of the core and optional modules. The goal is to make it possible to support delivery of Index: openacs-4/packages/acs-core-docs/www/i18n.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n.html,v diff -u -r1.13.2.10 -r1.13.2.11 --- openacs-4/packages/acs-core-docs/www/i18n.html 21 Jan 2004 18:36:16 -0000 1.13.2.10 +++ openacs-4/packages/acs-core-docs/www/i18n.html 2 Feb 2004 18:10:46 -0000 1.13.2.11 @@ -1,10 +1,10 @@ -
Internationalization +
Internationalization By Peter Marklund and Lars Pind -
+ OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -This document describes how to develop internationalized OpenACS packages, including writing new packages with internationalization and converting old packages. Text that @@ -48,7 +48,7 @@ which are static and mostly text, it may be easier to create a new ADP page for each language. In this case, the pages are distinguished by a file naming convention. -
If the request processor finds a file named filename.locale.adp, where locale matches the user's locale, it will process that file instead of filename.adp. For example, for a user with locale tl_PH, the file index.tl_PH.adp, if found, will be used instead of index.adp. The locale-specific file should thus contain text in the language appropriate for that locale. The code in the page, however, should still be in English. Message keys are still processed.
+
If the request processor finds a file named filename.locale.adp, where locale matches the user's locale, it will process that file instead of filename.adp. For example, for a user with locale tl_PH, the file index.tl_PH.adp, if found, will be used instead of index.adp. The locale-specific file should thus contain text in the language appropriate for that locale. The code in the page, however, should still be in English. Message keys are still processed.
Internationalizing templates is about replacing human readable text in a certain language with internal message keys, which can then be dynamically replaced with real human language in @@ -200,7 +200,7 @@ test. If you don't provide the package_key argument then all packages with catalog files will be checked. The script will run its checks primarily on en_US xml catalog files. -
Some parameters contain text that need to be localized. In this case, instead of storing the real text in the parameter, you should use message keys using the short notation above, @@ -263,15 +263,15 @@ Use the *_pretty version in your ADP page.
To internationalize numbers, use lc_numeric $value, which formats the number using the appropriate decimal point and thousand separator for the locale. -
When coding forms, remember to use message keys for each piece of text that is user-visible, including form option labels and button labels.
When coding forms, remember to use message keys for each piece of text that is user-visible, including form option labels and button labels.
Acs-lang includes tools to automate some internationalization. From /acs-admin/apm/, select a package and then click on Internationalization, then Convert ADP, Tcl, and SQL files to using the - message catalog..
- See Multilingual APM Parameters -
Find datetime in .xql files. Use command line tools to find suspect SQL code:
grep -r "to_char.*H" * + message catalog..
Find datetime in .xql files. Use command line tools to find suspect SQL code:
grep -r "to_char.*H" * grep -r "to_date.*H" *In SQL statements, replace the format string with the ANSI standard format, YYYY-MM-DD HH24:MI:SS and change the field name to *_ansi so that it cannot be confused with previous, improperly formatting fields. For example,
to_char(timestamp,'MM/DD/YYYY HH:MI:SS') as foo_date_prettybecomes
to_char(timestamp,'YYYY-MM-DD HH24:MI:SS') as foo_date_ansiIn TCL files where the date fields are used, convert the datetime from local server timezone, which is how it's stored in the database, to the user's timezone for display. Do this with the localizing function lc_time_system_to_conn:
set foo_date_ansi [lc_time_system_to_conn $foo_date_ansi]When a datetime will be written to the database, first convert it from the user's local time to the server's timezone with lc_time_conn_to_system. Index: openacs-4/packages/acs-core-docs/www/index.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/index.html,v diff -u -r1.22.2.11 -r1.22.2.12 --- openacs-4/packages/acs-core-docs/www/index.html 25 Jan 2004 12:53:41 -0000 1.22.2.11 +++ openacs-4/packages/acs-core-docs/www/index.html 2 Feb 2004 18:10:46 -0000 1.22.2.12 @@ -1 +1 @@ -
OpenACS Core Documentation Table of Contents
- I. OpenACS For Everyone
- II. Administrator's Guide
- 2. Installation Overview
- 3. Complete Installation
- 4. Configuring a new OpenACS Site
- 5. Upgrading
- 6. Maintenance
- A. Install Red Hat 8/9
- B. Install additional supporting software
- Unpack the OpenACS tarball
- Initialize CVS (OPTIONAL)
- Add PSGML commands to emacs init file (OPTIONAL)
- Install Daemontools (OPTIONAL)
- Install qmail (OPTIONAL)
- Install Analog web file analyzer
- Install nspam
- Install Full Text Search
- Install nsopenssl
- Install tclwebtest.
- Install PHP for use in AOLserver
- Install Squirrelmail for use as a webmail system for OpenACS
- C. Credits
- III. For OpenACS Package Developers
- 7. Development Tutorial
- 8. Development Reference
- OpenACS Packages
- OpenACS Data Models and the Object System
- The Request Processor
- The OpenACS Database Access API
- Using Templates in OpenACS
- Groups, Context, Permissions
- Writing OpenACS Application Pages
- Parties in OpenACS
- OpenACS Permissions Tediously Explained
- Object Identity
- Programming with AOLserver
- Using HTML Forms
- 9. Engineering Standards
- 10. Documentation Standards
- D. Using CVS with an OpenACS Site
- E. How to package and release OpenACS
- IV. For OpenACS Platform Developers
- 11. Kernel Documentation
- Overview
- Object Model Requirements
- Object Model Design
- Permissions Requirements
- Permissions Design
- Groups Requirements
- Groups Design
- Subsites Requirements
- Subsites Design Document
- Package Manager Requirements
- Package Manager Design
- Database Access API
- OpenACS Internationalization Requirements
- Internationalization
- Security Requirements
- Security Design
- Security Notes
- Request Processor Requirements
- Request Processor Design
- Documenting Tcl Files: Page Contracts and Libraries
- Bootstrapping OpenACS
- External Authentication Requirements
- Index
List of Figures
List of Tables
List of Examples
View comments on this page at openacs.org +OpenACS Core Documentation Table of Contents
- I. OpenACS For Everyone
- II. Administrator's Guide
- 1. Installation Overview
- 1. Complete Installation
- 1. Configuring a new OpenACS Site
- 2. Upgrading
- 1. Maintenance
- A. Install Red Hat 8/9
- B. Install additional supporting software
- Unpack the OpenACS tarball
- Initialize CVS (OPTIONAL)
- Add PSGML commands to emacs init file (OPTIONAL)
- Install Daemontools (OPTIONAL)
- Install qmail (OPTIONAL)
- Install Analog web file analyzer
- Install nspam
- Install Full Text Search
- Install nsopenssl
- Install tclwebtest.
- Install PHP for use in AOLserver
- Install Squirrelmail for use as a webmail system for OpenACS
- A. Credits
- III. For OpenACS Package Developers
- 1. Development Tutorial
- 1. Development Reference
- OpenACS Packages
- OpenACS Data Models and the Object System
- The Request Processor
- The OpenACS Database Access API
- Using Templates in OpenACS
- Groups, Context, Permissions
- Writing OpenACS Application Pages
- Parties in OpenACS
- OpenACS Permissions Tediously Explained
- Object Identity
- Programming with AOLserver
- Using HTML Forms
- 1. Engineering Standards
- 2. Documentation Standards
- A. Using CVS with an OpenACS Site
- A. How to package and release OpenACS
- IV. For OpenACS Platform Developers
- 1. Kernel Documentation
- Overview
- Object Model Requirements
- Object Model Design
- Permissions Requirements
- Permissions Design
- Groups Requirements
- Groups Design
- Subsites Requirements
- Subsites Design Document
- Package Manager Requirements
- Package Manager Design
- Database Access API
- OpenACS Internationalization Requirements
- Internationalization
- Security Requirements
- Security Design
- Security Notes
- Request Processor Requirements
- Request Processor Design
- Documenting Tcl Files: Page Contracts and Libraries
- Bootstrapping OpenACS
- External Authentication Requirements
- Index
List of Figures
List of Tables
List of Examples
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/individual-programs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/individual-programs.html,v diff -u -r1.13.2.7 -r1.13.2.8 --- openacs-4/packages/acs-core-docs/www/individual-programs.html 24 Jan 2004 11:07:45 -0000 1.13.2.7 +++ openacs-4/packages/acs-core-docs/www/individual-programs.html 2 Feb 2004 18:10:47 -0000 1.13.2.8 @@ -6,7 +6,7 @@ and webserver. Many additional programs, such as a Mail Transport Agent and source control system, are also needed for a fully effective instance. -Table�2.2.�Version Compatibility Matrix
OpenACS Version 3.2.5 4.5 4.6 4.6.1 4.6.2 4.6.3 5.0.0 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.x � Yes No 7.3.2 - 7.3.4 No Yes 7.4 No Maybe Oracle 8.1.6 Maybe Yes 8.1.7 Maybe Yes 9i No Yes
OpenACS 5.0.0.�The OpenACS tarball comprises the core packages and +
Table�2.2.�Version Compatibility Matrix
OpenACS Version 3.2.5 4.5 4.6 4.6.1 4.6.2 4.6.3 5.0.0 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.x � Yes No 7.3.2 - 7.3.4 No Yes 7.4 No Maybe Oracle 8.1.6 Maybe Yes 8.1.7 Maybe Yes 9i No Yes
OpenACS .�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 @@ -38,7 +38,7 @@ distributions.
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 5.0.0 stores + to install OpenFTS.
tDOM, REQUIRED.�OpenACS 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 @@ -49,7 +49,7 @@ 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 5.0.0. These + includes all the patches and modules needed to run OpenACS . 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. @@ -93,8 +93,7 @@ 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 + 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 Index: openacs-4/packages/acs-core-docs/www/install-cvs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-cvs.html,v diff -u -r1.12.2.10 -r1.12.2.11 --- openacs-4/packages/acs-core-docs/www/install-cvs.html 21 Jan 2004 18:36:16 -0000 1.12.2.10 +++ openacs-4/packages/acs-core-docs/www/install-cvs.html 2 Feb 2004 18:10:48 -0000 1.12.2.11 @@ -1,6 +1,6 @@ -
Initialize CVS (OPTIONAL) CVS is a source control system. Create and initialize a +
Initialize CVS (OPTIONAL) CVS is a source control system. Create and initialize a directory for a local cvs repository.
[root tmp]# mkdir /cvsroot [root tmp]# cvs -d /cvsroot init [root tmp]# -mkdir /cvsroot -cvs -d /cvsroot init
Prev Home Next Unpack the OpenACS tarball Up Add PSGML commands to emacs init file (OPTIONAL)
docs@openacs.orgView comments on this page at openacs.org +mkdir /cvsroot +cvs -d /cvsroot init
Prev Home Next Unpack the OpenACS tarball Up Add PSGML commands to emacs init file (OPTIONAL)
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/install-daemontools.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-daemontools.html,v diff -u -r1.13.2.10 -r1.13.2.11 --- openacs-4/packages/acs-core-docs/www/install-daemontools.html 21 Jan 2004 18:36:16 -0000 1.13.2.10 +++ openacs-4/packages/acs-core-docs/www/install-daemontools.html 2 Feb 2004 18:10:48 -0000 1.13.2.11 @@ -1,9 +1,9 @@ -Install Daemontools (OPTIONAL) Daemontools is a collection of programs for controlling +
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
download daemontools and install it.
Red Hat 8
[root root]# mkdir -p /package + services.
Install Daemontools
download daemontools and install it.
Red Hat 8
[root root]# mkdir -p /package [root root]# chmod 1755 /package/ [root root]# cd /package/ [root package]# tar xzf /tmp/daemontools-0.76.tar.gz @@ -15,12 +15,12 @@ Adding svscanboot to inittab... init should start svscan now. [root root]# -mkdir -p /package +mkdir -p /package chmod 1755 /package cd /package tar xzf /tmp/daemontools-0.76.tar.gz cd admin/daemontools-0.76 -package/install
Red Hat 9
Make sure you have the source tarball in +package/install
Red Hat 9
Make sure you have the source tarball in /tmp, or download it.
[root root]# mkdir -p /package [root root]# chmod 1755 /package/ @@ -47,21 +47,21 @@ Adding svscanboot to inittab... init should start svscan now. [root root]# -mkdir -p /package +mkdir -p /package chmod 1755 /package cd /package tar xzf /tmp/daemontools-0.76.tar.gz cd admin wget http://moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch cd daemontools-0.76 patch -p1 < ../daemontools-0.76.errno.patch -package/install
Debian
[root ~]# apt-get install daemontools-installer +package/installDebian
[root ~]# apt-get install daemontools-installer [root ~]# build-daemontoolsVerify that svscan is running. If it is, you should see these two processes running:
[root 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 root]#Install a script to grant non-root users permission to - control daemontools services.
[root root]# cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup + control daemontools services.[root root]# cp /tmp//packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup [root root]# chmod 755 /usr/local/bin/svgroup -cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup -chmod 755 /usr/local/bin/svgroup
Prev Home Next Add PSGML commands to emacs init file (OPTIONAL) Up Install qmail (OPTIONAL)
docs@openacs.orgView comments on this page at openacs.org +cp /tmp//packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup +chmod 755 /usr/local/bin/svgroup
Prev Home Next Add PSGML commands to emacs init file (OPTIONAL) Up Install qmail (OPTIONAL)
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/install-full-text-search.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/install-full-text-search.html,v diff -u -r1.11.2.11 -r1.11.2.12 --- openacs-4/packages/acs-core-docs/www/install-full-text-search.html 21 Jan 2004 18:36:16 -0000 1.11.2.11 +++ openacs-4/packages/acs-core-docs/www/install-full-text-search.html 2 Feb 2004 18:10:48 -0000 1.11.2.12 @@ -1,7 +1,7 @@ -Install Full Text Search By Joel Aufrecht and Malte Sussdorff
+Install Full Text Search By Joel Aufrecht and Malte Sussdorff
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -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 +
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 root]# su - postgres @@ -20,11 +20,11 @@ logout [root root]# -su - postgres +su - postgres cd /usr/local/src/postgresql-7.3.4/contrib/tsearch make make install -exit
Unpack the OpenFTS tarball and compile and install +exit
Unpack the OpenFTS tarball and compile and install the driver.
[root root]# cd /usr/local/src [root src]# tar xzf /tmp/Search-OpenFTS-tcl-0.3.2.tar.gz [root src]# cd /usr/local/src/Search-OpenFTS-tcl-0.3.2/ @@ -47,15 +47,15 @@ n_stem.o italian_stem.o norwegian_stem.o portuguese_stem.o russian_stem.o nsfts.o -o nsfts.so [root aolserver]# cp nsfts.so /usr/local/aolserver/bin/ [root aolserver]# -cd /usr/local/src +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 aolserver]# cd /usr/local/src/Search-OpenFTS-tcl-0.3.2 +Build some supplemental modules.
[root aolserver]# cd /usr/local/src/Search-OpenFTS-tcl-0.3.2 [root Search-OpenFTS-tcl-0.3.2]# cp -r pgsql_contrib_openfts /usr/local/src/postgresql-7.3.4/contrib [root Search-OpenFTS-tcl-0.3.2]# cd /usr/local/src/postgresql-7.3.4/contrib/pgsql_contrib_openfts [root pgsql_contrib_openfts]# make @@ -70,13 +70,13 @@ /bin/sh ../../config/install-sh -c -m 644 ./README.openfts /usr/local/pgsql/doc/contrib [postgres pgsql_contrib_openfts]$ exit [root pgsql_contrib_openfts]# -cd /usr/local/src/Search-OpenFTS-tcl-0.3.2 +cd /usr/local/src/Search-OpenFTS-tcl-0.3.2 cp -r pgsql_contrib_openfts /usr/local/src/postgresql-7.3.4/contrib cd /usr/local/src/postgresql-7.3.4/contrib/pgsql_contrib_openfts make su postgres make install -exit
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 service0]$ /usr/local/pgsql/bin/psql service0 -f /usr/local/src/postgresql-7.3.4/contrib/tsearch/tsearch.sql @@ -89,8 +89,8 @@ CREATE CREATE [service0 service0]$ -/usr/local/pgsql/bin/psql service0 -f /usr/local/src/postgresql-7.3.4/contrib/tsearch/tsearch.sql -/usr/local/pgsql/bin/psql service0 -f /usr/local/src/postgresql-7.3.4/contrib/pgsql_contrib_openfts/openfts.sql
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
Click Admin on the top of the default home page. If prompted, log in with the account and password you entered during install.
Click on the Install +/usr/local/pgsql/bin/psql service0 -f /usr/local/src/postgresql-7.3.4/contrib/tsearch/tsearch.sql +/usr/local/pgsql/bin/psql service0 -f /usr/local/src/postgresql-7.3.4/contrib/pgsql_contrib_openfts/openfts.sql
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
Click Admin on the top of the default home page. If prompted, log in with the account and password you entered during install.
Click on the Install software link.
Click on the Install new service link.
Click on the Install link next to OpenFTS Driver.
Restart the service.
[service0 service0]$ svc -t /service/service0 [service0 service0]$
Wait a minute, then browse back to the home page.
Click on Admin on the top of the screen.
Click on Main Site Administration in the "Subsite Administration" section.
Click on Site Map in the "Advanced Features" section.
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 Index: openacs-4/packages/acs-core-docs/www/install-more-software.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-more-software.html,v diff -u -r1.6.2.4 -r1.6.2.5 --- openacs-4/packages/acs-core-docs/www/install-more-software.html 11 Jan 2004 12:45:46 -0000 1.6.2.4 +++ openacs-4/packages/acs-core-docs/www/install-more-software.html 2 Feb 2004 18:10:48 -0000 1.6.2.5 @@ -1,7 +1,7 @@ -
Appendix�B.�Install additional supporting software Table of Contents
- Unpack the OpenACS tarball
- Initialize CVS (OPTIONAL)
- Add PSGML commands to emacs init file (OPTIONAL)
- Install Daemontools (OPTIONAL)
- Install qmail (OPTIONAL)
- Install Analog web file analyzer
- Install nspam
- Install Full Text Search
- Install nsopenssl
- Install tclwebtest.
- Install PHP for use in AOLserver
- Install Squirrelmail for use as a webmail system for OpenACS
+Appendix�B.�Install additional supporting software Table of Contents
- Unpack the OpenACS tarball
- Initialize CVS (OPTIONAL)
- Add PSGML commands to emacs init file (OPTIONAL)
- Install Daemontools (OPTIONAL)
- Install qmail (OPTIONAL)
- Install Analog web file analyzer
- Install nspam
- Install Full Text Search
- Install nsopenssl
- Install tclwebtest.
- Install PHP for use in AOLserver
- Install Squirrelmail for use as a webmail system for OpenACS
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -This section assumes that the source tarballs for supporting +
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 Index: openacs-4/packages/acs-core-docs/www/install-nsopenssl.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-nsopenssl.html,v diff -u -r1.7.2.6 -r1.7.2.7 --- openacs-4/packages/acs-core-docs/www/install-nsopenssl.html 11 Jan 2004 12:45:46 -0000 1.7.2.6 +++ openacs-4/packages/acs-core-docs/www/install-nsopenssl.html 2 Feb 2004 18:10:48 -0000 1.7.2.7 @@ -1,7 +1,7 @@ -
Install nsopenssl By Joel Aufrecht and Malte Sussdorff
+Install nsopenssl By Joel Aufrecht and Malte Sussdorff
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -This AOLserver module is required if you want people to connect to your site via +
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 @@ -21,20 +21,20 @@ [root nsopenssl-2.1]# cp nsopenssl.so /usr/local/aolserver/bin [root nsopenssl-2.1]# cp https.tcl /usr/local/aolserver/modules/tcl/ [root nsopenssl-2.1]# -
cd /usr/local/src/aolserver +cd /usr/local/src/aolserver wget --passive http://www.scottg.net/download/nsopenssl-2.1.tar.gz tar xzf 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 +cp https.tcl /usr/local/aolserver/modules/tcl/
For Debian (more + information):
apt-get install libssl-dev cd /usr/local/src/aolserver tar xzf /tmp/nsopenssl-2.1.tar.gz cd nsopenssl-2.1 make OPENSSL=/usr/lib/ssl cp nsopenssl.so /usr/local/aolserver/bin -cp https.tcl /usr/local/aolserver/modules/tcl/
You will need the AOLserver4 source in /usr/local/src/aolserver/aolserver and OpenSSL installed in /usr/local/ssl (or at least symlinked there).
[root bin]# cd /usr/local/src/aolserver +cp https.tcl /usr/local/aolserver/modules/tcl/You will need the AOLserver4 source in /usr/local/src/aolserver/aolserver and OpenSSL installed in /usr/local/ssl (or at least symlinked there).
[root bin]# cd /usr/local/src/aolserver [root aolserver]# cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver login [root aolserver]# cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nsopenssl [root aolserver]# cd nsopenssl @@ -43,20 +43,20 @@ (many lines omitted) [root nsopenssl-2.1]# make install OPENSSL=/usr/local/ssl INST=/usr/local/aolserver [root nsopenssl-2.1]# -cd /usr/local/src/aolserver +cd /usr/local/src/aolserver cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver login cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nsopenssl cd nsopenssl make OPENSSL=/usr/local/ssl -make install OPENSSL=/usr/local/ssl INST=/usr/local/aolserver
If you have problems starting your server with nsopenssl.so due to missing libssl.so.0.9.7 (or lower), you have to create symlinks +make install OPENSSL=/usr/local/ssl INST=/usr/local/aolserver
If you have problems starting your server with nsopenssl.so due to missing libssl.so.0.9.7 (or lower), you have to create symlinks
[root nsopenssl]# cd /usr/local/aolserver/lib [root lib]# ln -s /usr/local/ssl/lib/libssl.so.0.9.7 libssl.so.0.9.7 [root lib]# ln -s /usr/local/ssl/lib/libcrypto.so.0.9.7 libcrypto.so.0.9.7 [root lib]# -cd /usr/local/aolserver/lib +cd /usr/local/aolserver/lib ln -s /usr/local/ssl/lib/libssl.so.0.9.7 libssl.so.0.9.7 ln -s /usr/local/ssl/lib/libcrypto.so.0.9.7 libcrypto.so.0.9.7 -
+
To enable SSL support in your server, make sure your config.tcl file has a section on "OpenSSL 3 with AOLserver4". If your ports for SSL are priviledged (below 1024), you will have to start AOLserver with prebinds for both your HTTP and your HTTPS port (usually by adding -b your_ip:your_http_port,your_ip:your_https_port to the nsd call).
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/install-nspam.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-nspam.html,v diff -u -r1.2.2.4 -r1.2.2.5 --- openacs-4/packages/acs-core-docs/www/install-nspam.html 11 Jan 2004 12:45:46 -0000 1.2.2.4 +++ openacs-4/packages/acs-core-docs/www/install-nspam.html 2 Feb 2004 18:10:48 -0000 1.2.2.5 @@ -1 +1 @@ -Install nspam View comments on this page at openacs.org +Install nspam View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/install-origins.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-origins.html,v diff -u -r1.2.2.4 -r1.2.2.5 --- openacs-4/packages/acs-core-docs/www/install-origins.html 11 Jan 2004 12:45:46 -0000 1.2.2.4 +++ openacs-4/packages/acs-core-docs/www/install-origins.html 2 Feb 2004 18:10:48 -0000 1.2.2.5 @@ -1,4 +1,4 @@ -Where did this document come from? +
Where did this document come from? This document was created by Vinod Kurup, but it's really just plagiarism from a number of documents that came before it. If I've used something that you've written without proper credit, let me Index: openacs-4/packages/acs-core-docs/www/install-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-overview.html,v diff -u -r1.18.2.4 -r1.18.2.5 --- openacs-4/packages/acs-core-docs/www/install-overview.html 11 Jan 2004 12:45:46 -0000 1.18.2.4 +++ openacs-4/packages/acs-core-docs/www/install-overview.html 2 Feb 2004 18:10:48 -0000 1.18.2.5 @@ -1,4 +1,4 @@ -
Chapter�2.�Installation Overview Table of Contents
by Vinod Kurup
+Chapter�2.�Installation Overview Table of Contents
by Vinod Kurup
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -View comments on this page at openacs.org +View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/install-php.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-php.html,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/install-php.html 18 Jan 2004 17:07:13 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/install-php.html 2 Feb 2004 18:10:49 -0000 1.1.2.2 @@ -1,7 +1,7 @@ -Install PHP for use in AOLserver
+Install PHP for use in AOLserver OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -To be able to use PHP software with AOLserver (and OpenACS), you have to install PHP with AOLserver support. Get the latest version from www.php.net. For convenience we get version 4.3.4 from a mirror
[root root]# cd /usr/local/src +To be able to use PHP software with AOLserver (and OpenACS), you have to install PHP with AOLserver support. Get the latest version from www.php.net. For convenience we get version 4.3.4 from a mirror
[root root]# cd /usr/local/src [root src]# wget http://de3.php.net/distributions/php-4.3.4.tar.gz [root src]# tar xfz php-4.3.4.tar.gz [root src]# cd php-4.3.4 Index: openacs-4/packages/acs-core-docs/www/install-qmail.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-qmail.html,v diff -u -r1.13.2.10 -r1.13.2.11 --- openacs-4/packages/acs-core-docs/www/install-qmail.html 21 Jan 2004 18:36:16 -0000 1.13.2.10 +++ openacs-4/packages/acs-core-docs/www/install-qmail.html 2 Feb 2004 18:10:49 -0000 1.13.2.11 @@ -1,17 +1,17 @@ -Install qmail (OPTIONAL) Qmail is a Mail Transfer Agent. It handles incoming and +
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.
Red Hat 9: all djb tools (qmail, daemontools, ucspi) will fail to compile in Red Hat 9 because of changes to glibc (patches)
Install ucspi.�This program handles incoming tcp connections. Download ucspi and install it.
[root root]# cd /usr/local/src [root src]# wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz [root src]# tar xzf ucspi-tcp-0.88.tar.gz -cd /usr/local/src +cd /usr/local/src wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz -tar xzf ucspi-tcp-0.88.tar.gz
Red Hat 9 only
wget http://moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch +tar xzf ucspi-tcp-0.88.tar.gz
Red Hat 9 only
wget http://moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch cd ucspi-tcp-0.88 patch -p1 <../ucspi-tcp-0.88.errno.patch -cd ..
All platforms continue:
[root src]# cd ucspi-tcp-0.88 +cd ..All platforms continue:
[root src]# cd ucspi-tcp-0.88 [root ucspi-tcp-0.88]# make ( cat warn-auto.sh; \ echo 'main="$1"; shift'; \(many lines omitted) @@ -21,15 +21,15 @@ ./install ./instcheck [root ucspi-tcp-0.88]# -+ cd ucspi-tcp-0.88 make -make setup check
Verify that ucspi-tcp was installed successfully by +make setup check
Verify that ucspi-tcp was installed successfully by running the tcpserver program which is part of ucspi-tcp:
[root 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 ucspi-tcp-0.88]# -(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 @@ -40,10 +40,10 @@ 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 ucspi-tcp-0.88]# cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp +send outgoing mail.[root ucspi-tcp-0.88]# cp /tmp//packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp [root ucspi-tcp-0.88]# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp -cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp -tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
Download qmail, +cp /tmp//packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp +tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
Download qmail, set up the standard supporting users and build the binaries:
[root root]# cd /usr/local/src [root src]# wget http://www.qmail.org/netqmail-1.04.tar.gz [root src]# tar xzf netqmail-1.04.tar.gz @@ -86,7 +86,7 @@ echo CC=\'`head -1 conf-cc`\'; \(many lines omitted) ./install ./instcheck -cd /usr/local/src +cd /usr/local/src wget http://www.qmail.org/netqmail-1.04.tar.gz tar xzf netqmail-1.04.tar.gz mkdir /var/qmail @@ -102,11 +102,11 @@ cd netqmail-1.04 ./collate.sh cd netqmail-1.04 -make setup check
Replace sendmail with qmail's wrapper.
[root qmail-1.03]# rm -f /usr/bin/sendmail /usr/sbin/sendmail +make setup checkReplace sendmail with qmail's wrapper.
[root qmail-1.03]# rm -f /usr/bin/sendmail /usr/sbin/sendmail [root qmail-1.03]# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail [root qmail-1.03]# -rm -f /usr/bin/sendmail /usr/sbin/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 qmail-1.03]# ./config-fast yourserver.test +rm -f /usr/bin/sendmail /usr/sbin/sendmail +ln -s /var/qmail/bin/sendmail /usr/sbin/sendmailConfigure 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 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... @@ -116,62 +116,62 @@ 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 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 qmail-1.03]# cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root +./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 qmail-1.03]# cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root [root alias]# chmod 644 ~alias/.qmail* [root alias]# /var/qmail/bin/maildirmake ~alias/Maildir/ [root alias]# chown -R alias.nofiles /var/qmail/alias/Maildir [root alias]# -cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root +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
Configure qmail to use the Maildir delivery format +chown -R alias.nofiles /var/qmail/alias/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 alias]# echo "./Maildir" > /var/qmail/bin/.qmail -[root alias]# cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc +[root alias]# cp /tmp//packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc [root alias]# chmod 755 /var/qmail/rc [root alias]# -echo "./Maildir" > /var/qmail/bin/.qmail -cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc +echo "./Maildir" > /var/qmail/bin/.qmail +cp /tmp//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 +
Set up the skeleton directory so that new users will be configured for qmail.
[root root]# /var/qmail/bin/maildirmake /etc/skel/Maildir [root root]# echo "./Maildir/" > /etc/skel/.qmail [root root]# -/var/qmail/bin/maildirmake /etc/skel/Maildir -echo "./Maildir/" > /etc/skel/.qmail
As recommended, we will run qmail with daemontools +/var/qmail/bin/maildirmake /etc/skel/Maildir +echo "./Maildir/" > /etc/skel/.qmail
As recommended, we will run qmail with daemontools control files. Create daemontools control directories, set up a daemontools control script, copy the supervise control files, and set permissions. The last line links the control directories to /service, which will cause supervise to detect them and execute the run files, causing qmail to start.
[root root]# mkdir -p /var/qmail/supervise/qmail-send/log [root root]# mkdir -p /var/qmail/supervise/qmail-smtpd/log [root root]# mkdir /var/log/qmail [root root]# chown qmaill /var/log/qmail -[root root]# cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl +[root root]# cp /tmp//packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl [root root]# chmod 755 /var/qmail/bin/qmailctl [root root]# ln -s /var/qmail/bin/qmailctl /usr/bin -[root root]# cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run -[root root]# cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run -[root root]# cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run -[root root]# cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run +[root root]# cp /tmp//packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run +[root root]# cp /tmp//packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run +[root root]# cp /tmp//packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run +[root root]# cp /tmp//packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run [root root]# chmod 755 /var/qmail/supervise/qmail-send/run [root root]# chmod 755 /var/qmail/supervise/qmail-send/log/run [root root]# chmod 755 /var/qmail/supervise/qmail-smtpd/run [root root]# chmod 755 /var/qmail/supervise/qmail-smtpd/log/run [root root]# ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service [root root]# ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service -mkdir -p /var/qmail/supervise/qmail-send/log +mkdir -p /var/qmail/supervise/qmail-send/log mkdir -p /var/qmail/supervise/qmail-smtpd/log mkdir /var/log/qmail chown qmaill /var/log/qmail -cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl +cp /tmp//packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl chmod 755 /var/qmail/bin/qmailctl ln -s /var/qmail/bin/qmailctl /usr/bin -cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run -cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run -cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run -cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run +cp /tmp//packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run +cp /tmp//packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run +cp /tmp//packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run +cp /tmp//packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run chmod 755 /var/qmail/supervise/qmail-send/run chmod 755 /var/qmail/supervise/qmail-send/log/run chmod 755 /var/qmail/supervise/qmail-smtpd/run chmod 755 /var/qmail/supervise/qmail-smtpd/log/run ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service -
Wait ten seconds or so, and then verify that that the four qmail processes are running. If uptimes don't rise above 1 second, this may indicate broken scripts that are continuously restarting. In that case, start debugging by checking permissions.
[root root]# qmailctl stat +Wait ten seconds or so, and then verify that that the four qmail processes are running. If uptimes don't rise above 1 second, this may indicate broken scripts that are continuously restarting. In that case, start debugging by checking permissions.
[root root]# qmailctl stat /service/qmail-send: up (pid 32700) 430 seconds /service/qmail-send/log: up (pid 32701) 430 seconds /service/qmail-smtpd: up (pid 32704) 430 seconds Index: openacs-4/packages/acs-core-docs/www/install-redhat.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-redhat.html,v diff -u -r1.13.2.10 -r1.13.2.11 --- openacs-4/packages/acs-core-docs/www/install-redhat.html 21 Jan 2004 18:36:16 -0000 1.13.2.10 +++ openacs-4/packages/acs-core-docs/www/install-redhat.html 2 Feb 2004 18:10:49 -0000 1.13.2.11 @@ -1,7 +1,7 @@ -Appendix�A.�Install Red Hat 8/9
+Appendix�A.�Install Red Hat 8/9 OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -This section takes a blank PC and sets up some supporting +
This section takes a blank PC and sets up some supporting software. You should do this section as-is if you have a machine you can reformat and you want to be sure that your installation works and is secure; it should take about an hour. (In my @@ -26,7 +26,7 @@
Unplug the network cable from your computer. We don't want to connect to the network until we're sure the computer is secure. - + (Wherever you see the word secure, you should always read it as, "secure enough for our purposes, given the amount of work we're @@ -54,7 +54,7 @@ Review (and modify if needed) the partitions created and click Next
On the pop-up window asking "Are you sure you want to do this?" click Yes - IF YOU ARE WIPING YOUR HARD DRIVE.
Click Next on the boot loader screen
Click Next on the boot loader screen
Configure Networking. Again, if you know what you're doing, do this step yourself, being sure to note the firewall holes. Otherwise, follow the instructions in this step to set up a computer directly connected to the internet with a dedicated IP address.
DHCP is a system by which a computer that @@ -75,7 +75,7 @@ Mail (SMTP). In the Other ports box, enter 443, 8000, 8443. Click Next. -Port 443 is for https (http over ssl), and 8000 and 8443 are http and https access to the development server we'll be setting up.
Select any additional languages you want the +Port 443 is for https (http over ssl), and 8000 and 8443 are http and https access to the development server we'll be setting up.
Select any additional languages you want the computer to support and then click Next
Choose your time zone and click Next.
Type in a root password, twice.
On the Package selection page, we're going to @@ -87,13 +87,13 @@ risk that's still screened by the firewall, or a resource hog. Just don't install a database or web server, because that would conflict with the database and web server we'll install later. -
At the bottom, check Select Individual Packages and click Next
We need to fine-tune the exact list of packages. +
At the bottom, check Select Individual Packages and click Next
We need to fine-tune the exact list of packages. The same rules apply as in the last step - you can add more stuff, but you shouldn't remove anything the guide adds. We're going to go through all the packages in one big list, so select Flat View and wait. In a minute, a -list of packages will appear.
Red Hat isn't completely happy with the combination +list of packages will appear.
Red Hat isn't completely happy with the combination of packages we've selected, and wants to satisfy some dependencies. Don't let it. On the next screen, choose Ignore Package @@ -119,7 +119,7 @@ upgrading all of that. Since you are upgrading the kernel, reboot after this step.
Lock down SSH
- + SSH is the protocol we use to connect securely to the computer (replacing telnet, which is insecure). sshd is the daemon that listens for incoming @@ -153,10 +153,10 @@ [root root]# chkconfig --del pcmcia [root root]# chkconfig --del netfs [root root]# -
service pcmcia stop +service pcmcia stop service netfs stop chkconfig --del pcmcia -chkconfig --del netfs
If you installed PostgreSQL, do also +chkconfig --del netfs
If you installed PostgreSQL, do also service postgresql start and chkconfig --add postgresql.
Plug in the network cable.
Verify that you have connectivity by going to another computer and ssh'ing to yourserver, logging in as @@ -197,7 +197,7 @@ The system is going down for reboot NOW! [root tmp]# -
cd /tmp +cd /tmp wget http://updates.redhat.com/7.1/en/os/i686/kernel-2.4.18-27.7.x.i686.rpm rpm -Uvh kernel-2.4.18-27.7.x.i686.rpm -reboot
Prev Home Next Backup and Recovery Up Appendix�B.�Install additional supporting software
docs@openacs.orgView comments on this page at openacs.org +reboot
Prev Home Next Backup and Recovery Up Appendix�B.�Install additional supporting software
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/install-resources.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-resources.html,v diff -u -r1.2.2.4 -r1.2.2.5 --- openacs-4/packages/acs-core-docs/www/install-resources.html 11 Jan 2004 12:45:46 -0000 1.2.2.4 +++ openacs-4/packages/acs-core-docs/www/install-resources.html 2 Feb 2004 18:10:49 -0000 1.2.2.5 @@ -1,4 +1,4 @@ -Resources +
Resources Here are some resources that OpenACS users have found useful.
Index: openacs-4/packages/acs-core-docs/www/install-squirrelmail.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-squirrelmail.html,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/install-squirrelmail.html 18 Jan 2004 17:07:13 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/install-squirrelmail.html 2 Feb 2004 18:10:49 -0000 1.1.2.2 @@ -1,7 +1,7 @@ -
Install Squirrelmail for use as a webmail system for OpenACS
+Install Squirrelmail for use as a webmail system for OpenACS OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -This section is work in progress. It will detail how you can install Squirrelmail as a webmail frontend for OpenACS, thereby neglecting the need to have a seperate webmail package within OpenACS
[service0 service0]# cd www +This section is work in progress. It will detail how you can install Squirrelmail as a webmail frontend for OpenACS, thereby neglecting the need to have a seperate webmail package within OpenACS
[service0 service0]# cd www [service0 www]# wget http://cesnet.dl.sourceforge.net/sourceforge/squirrelmail/squirrelmail-1.4.2.tar.gz [service0 www]# tar xfz squirrelmail-1.4.2.tar.gz [service0 www]# mv squirrelmail-1.4.2 mail Index: openacs-4/packages/acs-core-docs/www/install-steps.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-steps.html,v diff -u -r1.6.2.11 -r1.6.2.12 --- openacs-4/packages/acs-core-docs/www/install-steps.html 24 Jan 2004 11:07:45 -0000 1.6.2.11 +++ openacs-4/packages/acs-core-docs/www/install-steps.html 2 Feb 2004 18:10:49 -0000 1.6.2.12 @@ -4,12 +4,12 @@ Install PostgreSQL).Install AOLserver (see Install AOLserver 3.3oacs1).
Create a unique database and system user. Install the OpenACS tarball, start and AOLserver instance, and use the OpenACS web pages to complete installation - (see Install OpenACS 5.0.0).
There are specific instructions available for Mac OS X and + (see Install OpenACS ).
There are specific instructions available for Mac OS X and Windows2000 available (see the section called “OpenACS Installation Guide for Mac OS X” or the section called “OpenACS Installation Guide for Windows2000” for those).
The patched version of AOLserver we use is not currently available in a precompiled binary.
The packaged version of - PostgreSQL in Debian and Red Hat and FreeBSD ports works fine.
An experimental script automates the OpenACS checkout and + PostgreSQL in Debian and Red Hat and FreeBSD ports works fine.
An experimental script automates the OpenACS checkout and installation.
Table�2.1.�Default directories for a standard install
None of these locations are set in stone - they're simply the values that we've chosen. The values that you'll probably want to change, such as service name, are Index: openacs-4/packages/acs-core-docs/www/install-tclwebtest.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-tclwebtest.html,v diff -u -r1.3.2.5 -r1.3.2.6 --- openacs-4/packages/acs-core-docs/www/install-tclwebtest.html 11 Jan 2004 12:45:46 -0000 1.3.2.5 +++ openacs-4/packages/acs-core-docs/www/install-tclwebtest.html 2 Feb 2004 18:10:49 -0000 1.3.2.6 @@ -1,8 +1,8 @@ -
Install tclwebtest. Download the tclwebtest +
Install tclwebtest. Download the tclwebtest source, unpack it, and put it an appropriate - place. As root:
cd /tmp + place. As root:
cd /tmp tar xvzf tclwebtest-0.3.tar.gz mv tclwebtest-0.3 /usr/local/ ln -s /usr/local/tclwebtest-0.3 /usr/local/tclwebtest ln -s /usr/local/tclwebtest/tclwebtest /usr/local/bin -
View comments on this page at openacs.org +View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/ix01.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/ix01.html,v diff -u -r1.1.4.9 -r1.1.4.10 --- openacs-4/packages/acs-core-docs/www/ix01.html 21 Jan 2004 18:36:16 -0000 1.1.4.9 +++ openacs-4/packages/acs-core-docs/www/ix01.html 2 Feb 2004 18:10:50 -0000 1.1.4.10 @@ -1,2 +1,2 @@ -Index A
- AOLserver
- configuration, Install from tarball
- Automated tests, Write automated tests
C
- computeroutput
- code, Code
- cvs
- initializing, Initialize CVS (OPTIONAL)
- setup, Using CVS with an OpenACS Site
D
- daemontools
- installation, Install Daemontools (OPTIONAL)
- docbook
- installation, Install Red Hat 8/9
- DocBook
- DTD, Why DocBook?
- emacs configuration for, Add PSGML commands to emacs init file (OPTIONAL)
- Document structure, Document Structure
E
- emacs
- installation, Install Red Hat 8/9
- emphasis
- bold, italics, Emphasis
F
- full text search
G
- Graphics
- Images, Graphics
I
- informaltable
- table, Tables
L
- language
- installation, Install Red Hat 8/9
- Linking, Links
- lists, Lists
O
- OpenACS Package, What a Package Looks Like
P
- photo-album
- installation (see ImageMagick)
- Postgres
- Vacuuming, Install from tarball
Q
- qmail
- installation, Install qmail (OPTIONAL)
- Maildir, Install qmail (OPTIONAL)
- rcpthosts error message, Install qmail (OPTIONAL)
S
- sect1, Headlines, Sections
- sect2, Headlines, Sections
- Sections
- Headlines, Headlines, Sections
- security
- definition, Install Red Hat 8/9
- firewall, Install Red Hat 8/9
- sendmail
- removing, Install qmail (OPTIONAL)
- service0, Paths and Users
- ssh, Install Red Hat 8/9
T
- The publish point for new packages should be - fixed., Prepare the package for distribution.
U
- ulink, Links
- Unicode
- in PostgreSQL, Install PostgreSQL
- upgrade
- OpenACS 4.5 to 4.6.x
- Linux/Unix, Upgrading 4.5 to 4.6.x
X
- XML guidelines, Why DocBook?
- xref
- linkend, Links
- xreflabel, Headlines, Sections
View comments on this page at openacs.org +Index A
- AOLserver
- configuration, Install from tarball
- Automated tests, Write automated tests
C
- computeroutput
- code, Code
- cvs
- initializing, Initialize CVS (OPTIONAL)
- setup, Using CVS with an OpenACS Site
D
- daemontools
- installation, Install Daemontools (OPTIONAL)
- docbook
- installation, Install Red Hat 8/9
- DocBook
- DTD, Why DocBook?
- emacs configuration for, Add PSGML commands to emacs init file (OPTIONAL)
- Document structure, Document Structure
E
- emacs
- installation, Install Red Hat 8/9
- emphasis
- bold, italics, Emphasis
F
- full text search
G
- Graphics
- Images, Graphics
I
- informaltable
- table, Tables
L
- language
- installation, Install Red Hat 8/9
- Linking, Links
- lists, Lists
O
- OpenACS Package, What a Package Looks Like
P
- photo-album
- installation (see ImageMagick)
- Postgres
- Vacuuming, Install from tarball
Q
- qmail
- installation, Install qmail (OPTIONAL)
- Maildir, Install qmail (OPTIONAL)
- rcpthosts error message, Install qmail (OPTIONAL)
S
- sect1, Headlines, Sections
- sect2, Headlines, Sections
- Sections
- Headlines, Headlines, Sections
- security
- definition, Install Red Hat 8/9
- firewall, Install Red Hat 8/9
- sendmail
- removing, Install qmail (OPTIONAL)
- service0, Paths and Users
- ssh, Install Red Hat 8/9
T
- The publish point for new packages should be + fixed., Prepare the package for distribution.
U
- ulink, Links
- Unicode
- in PostgreSQL, Install PostgreSQL
- upgrade
- OpenACS 4.5 to 4.6.x
- Linux/Unix, Upgrading 4.5 or higher to 4.6.3
X
- XML guidelines, Why DocBook?
- xref
- linkend, Links
- xreflabel, Headlines, Sections
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/kernel-doc.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/kernel-doc.html,v diff -u -r1.17.2.4 -r1.17.2.5 --- openacs-4/packages/acs-core-docs/www/kernel-doc.html 11 Jan 2004 12:45:46 -0000 1.17.2.4 +++ openacs-4/packages/acs-core-docs/www/kernel-doc.html 2 Feb 2004 18:10:50 -0000 1.17.2.5 @@ -1 +1 @@ -Chapter�11.�Kernel Documentation Table of Contents
- Overview
- Object Model Requirements
- Object Model Design
- Permissions Requirements
- Permissions Design
- Groups Requirements
- Groups Design
- Subsites Requirements
- Subsites Design Document
- Package Manager Requirements
- Package Manager Design
- Database Access API
- OpenACS Internationalization Requirements
- Internationalization
- Security Requirements
- Security Design
- Security Notes
- Request Processor Requirements
- Request Processor Design
- Documenting Tcl Files: Page Contracts and Libraries
- Bootstrapping OpenACS
- External Authentication Requirements
View comments on this page at openacs.org +Chapter�11.�Kernel Documentation Table of Contents
- Overview
- Object Model Requirements
- Object Model Design
- Permissions Requirements
- Permissions Design
- Groups Requirements
- Groups Design
- Subsites Requirements
- Subsites Design Document
- Package Manager Requirements
- Package Manager Design
- Database Access API
- OpenACS Internationalization Requirements
- Internationalization
- Security Requirements
- Security Design
- Security Notes
- Request Processor Requirements
- Request Processor Design
- Documenting Tcl Files: Page Contracts and Libraries
- Bootstrapping OpenACS
- External Authentication Requirements
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/kernel-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/kernel-overview.html,v diff -u -r1.12.2.4 -r1.12.2.5 --- openacs-4/packages/acs-core-docs/www/kernel-overview.html 11 Jan 2004 12:45:46 -0000 1.12.2.4 +++ openacs-4/packages/acs-core-docs/www/kernel-overview.html 2 Feb 2004 18:10:50 -0000 1.12.2.5 @@ -1,4 +1,4 @@ -Overview
+
Overview
The OpenACS Kernel, which handles system-wide necessities such as metadata, security, users and groups, subsites, and package Index: openacs-4/packages/acs-core-docs/www/maintenance-web.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maintenance-web.html,v diff -u -r1.14.2.10 -r1.14.2.11 --- openacs-4/packages/acs-core-docs/www/maintenance-web.html 21 Jan 2004 18:36:16 -0000 1.14.2.10 +++ openacs-4/packages/acs-core-docs/www/maintenance-web.html 2 Feb 2004 18:10:50 -0000 1.14.2.11 @@ -1,7 +1,7 @@ -
Hosting Web Sites
+Operating an OpenACS Web Site OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -Maintenance tasks, optional software, and alternate configurations for AOLserver.
Assuming AOLserver started cleanly in the previous step, we'll set it up so that it's always running, and automatically restarts whenever it dies or is stopped. This step is strongly recommended, even for development sites, because it makes install and maintenance much simpler.
The Reference Platform uses Daemontools to control AOLserver. A simpler method, using init, is here.
Daemontools must already be installed. If not, install it.
Each service controlled by daemontools must have a +
Maintenance tasks, optional software, and alternate configurations for AOLserver.
The simplest way to start and stop and OpenACS site is to run the startup shell script provided, /var/lib/aolserver/service0/etc/daemontools/run. This runs as a regular task, and logs to the logfile. To stop the site, kill the script.
A more stable way to run OpenACS is with a "keepalive" mechanism of some sort, so that whenever the server halts or is stopped for a reset, it restarts automatically. This is recommended for development and production servers.
The Reference Platform uses Daemontools to control AOLserver. A simpler method, using init, is here.
Daemontools must already be installed. If not, install it.
Each service controlled by daemontools must have a directory in /service. That directory must have a file called run. Daemontools then @@ -54,7 +54,7 @@ Most of this information comes from Tom Jackson's AOLserver+Daemontools Mini-HOWTO.
This is an alternative method for keeping the AOLserver - process running. The recommended method is to run AOLserver + process running. The recommended method is to run AOLserver supervised.
This step should be completed as root. This can break every service on your machine, so proceed with caution. @@ -145,7 +145,7 @@ automated for startup and shutdown.
If you want your webserver to be http://yourserver.com, it must run on port 80, the default HTTP port. You set this in the config.tcl file. You will need to start the service as root. If you follow the instructions - above for automating + above for automating startup, this will be taken care of, but if you ever start the server from the command line, be sure to su - first. @@ -159,7 +159,7 @@ able to exploit your web server to execute a command on your server, they would not be able to gain root access.
Services on different ports.�To run a different service on another port but the same - ip, simply repeat Install OpenACS 5.0.0 replacing + ip, simply repeat Install OpenACS replacing service0, and change the
set httpport 8000 set httpsport 8443@@ -182,8 +182,8 @@
Prepare a certificate directory for the service.
[service0 etc]$ mkdir /var/lib/aolserver/service0/etc/certs [service0 etc]$ chmod 700 /var/lib/aolserver/service0/etc/certs [service0 etc]$ -mkdir /var/lib/aolserver/service0/etc/certs -chmod 700 /var/lib/aolserver/service0/etc/certs
It takes two files to support an SSL connection. The certificate is the public half of the key pair - the server sends the certificate to browser requesting ssl. The key is the private half of the key pair. In addition, the certificate must be signed by Certificate Authority or browsers will protest. Each web browser ships with a built-in list of acceptable Certificate Authorities (CAs) and their keys. Only a site certificate signed by a known and approved CA will work smoothly. Any other certificate will cause browsers to produce some messages or block the site. Unfortunately, getting a site certificate signed by a CA costs money. In this section, we'll generate an unsigned certificate which will work in most browsers, albeit with pop-up messages.
Use an OpenSSL perl script to generate a certificate and key.
[service0 service0]$ cd /var/lib/aolserver/service0/etc/certs +mkdir /var/lib/aolserver/service0/etc/certs +chmod 700 /var/lib/aolserver/service0/etc/certs
It takes two files to support an SSL connection. The certificate is the public half of the key pair - the server sends the certificate to browser requesting ssl. The key is the private half of the key pair. In addition, the certificate must be signed by Certificate Authority or browsers will protest. Each web browser ships with a built-in list of acceptable Certificate Authorities (CAs) and their keys. Only a site certificate signed by a known and approved CA will work smoothly. Any other certificate will cause browsers to produce some messages or block the site. Unfortunately, getting a site certificate signed by a CA costs money. In this section, we'll generate an unsigned certificate which will work in most browsers, albeit with pop-up messages.
Use an OpenSSL perl script to generate a certificate and key.
[service0 service0]$ cd /var/lib/aolserver/service0/etc/certs [service0 certs]$ perl /usr/share/ssl/misc/CA -newcert Using configuration from /usr/share/ssl/openssl.cnf Generating a 1024 bit RSA private key @@ -211,12 +211,12 @@ [service0 service0]$ cp /var/lib/aolserver/service0/packages/acs-core-docs/www/files/analog.cfg.txt etc/analog.cfg [service0 service0]$ mkdir www/log [service0 service0]$ cp -r /usr/share/analog-5.31/images www/log/ -[service0 service0]$+[service0 service0]$ su - service0 cd /var/lib/aolserver/service0 cp /var/lib/aolserver/service0/packages/acs-core-docs/www/files/analog.cfg.txt etc/analog.cfg mkdir www/log -cp -r /usr/share/analog-5.31/images www/log/
Edit +cp -r /usr/share/analog-5.31/images www/log/
Edit /var/lib/aolserver/service0/etc/analog.cfg and change the variable in HOSTNAME "[my organisation]" to reflect your website title. If you don't want the traffic log to be publicly visible, change Index: openacs-4/packages/acs-core-docs/www/maintenance.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/maintenance.html,v diff -u -r1.8.2.4 -r1.8.2.5 --- openacs-4/packages/acs-core-docs/www/maintenance.html 11 Jan 2004 12:45:46 -0000 1.8.2.4 +++ openacs-4/packages/acs-core-docs/www/maintenance.html 2 Feb 2004 18:10:50 -0000 1.8.2.5 @@ -1 +1 @@ -
Chapter�6.�Maintenance Table of Contents
View comments on this page at openacs.org +Chapter�6.�Maintenance Table of Contents
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/nxml-mode.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/nxml-mode.html,v diff -u -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/nxml-mode.html 11 Jan 2004 12:45:46 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/nxml-mode.html 2 Feb 2004 18:10:51 -0000 1.1.2.4 @@ -1,7 +1,7 @@ -Using nXML mode in Emacs By Jeff Davis
+Using nXML mode in Emacs By Jeff Davis
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -+
An alternative to psgml mode is nXML by James Clark, a new major mode for GNU Emacs for editing XML, and which features highlighting, indentation, and on the fly validation versus a RelaxNG Schema.
An Index: openacs-4/packages/acs-core-docs/www/object-identity.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-identity.html,v diff -u -r1.22.2.10 -r1.22.2.11 --- openacs-4/packages/acs-core-docs/www/object-identity.html 21 Jan 2004 18:36:16 -0000 1.22.2.10 +++ openacs-4/packages/acs-core-docs/www/object-identity.html 2 Feb 2004 18:10:51 -0000 1.22.2.11 @@ -1,18 +1,18 @@ -
Object Identity
+Object Identity OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -One of the major design features of OpenACS 5.0.0 is the explicit representation +
One of the major design features of OpenACS is the explicit representation of object identity. The reason I say "explicit representation" is because the concept of object identity has been around forever. It is inherent to our problem domain. Consider the example of 3.x style scoping. The 3.x data models use the triple (user_id, group_id, -scope) to identify an object. In the 5.0.0 data model this +scope) to identify an object. In the data model this object is explicitly represented by a single party_id.
Another good example of this is can be found in the user groups data model. The 3.x user groups data model contains another example of an implied identity. Every mapping between a user and a group could have an arbitrary number of attached values (user_group_member_fields, etc.). In this case it is the pair (group_id, user_id) that implicitly refers to an -object (the person's membership in a group). In the 5.0.0 data model this +object (the person's membership in a group). In the data model this object identity is made explicit by adding an integer primary key to the table that maps users to groups.
Coming from a purely relational world, this might seem slightly weird at first. The pair (group_id, user_id) is sufficient to uniquely identify the Index: openacs-4/packages/acs-core-docs/www/object-system-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-system-design.html,v diff -u -r1.16.2.4 -r1.16.2.5 --- openacs-4/packages/acs-core-docs/www/object-system-design.html 11 Jan 2004 12:45:46 -0000 1.16.2.4 +++ openacs-4/packages/acs-core-docs/www/object-system-design.html 2 Feb 2004 18:10:51 -0000 1.16.2.5 @@ -1,7 +1,7 @@ -
Object Model Design By Pete Su, Michael Yoon, Richard Li, Rafael Schloming
+Object Model Design By Pete Su, Michael Yoon, Richard Li, Rafael Schloming
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -
Object Model Index: openacs-4/packages/acs-core-docs/www/object-system-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-system-requirements.html,v diff -u -r1.15.2.4 -r1.15.2.5 --- openacs-4/packages/acs-core-docs/www/object-system-requirements.html 11 Jan 2004 12:45:46 -0000 1.15.2.4 +++ openacs-4/packages/acs-core-docs/www/object-system-requirements.html 2 Feb 2004 18:10:52 -0000 1.15.2.5 @@ -1,7 +1,7 @@ -
Object Model Requirements By Pete Su
+Object Model Requirements By Pete Su
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -A major goal in OpenACS 4 is to unify and normalize many of the core services of the system into a coherent common data model and API. In the past, these services were provided to applications in an ad-hoc and irregular fashion. Examples of such services include:
General Comments
User/groups
Attribute storage in user/groups
General Permissions
Site wide search
General Auditing
All of these services involve relating extra information and services to Index: openacs-4/packages/acs-core-docs/www/objects.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/objects.html,v diff -u -r1.23.2.10 -r1.23.2.11 --- openacs-4/packages/acs-core-docs/www/objects.html 21 Jan 2004 18:36:16 -0000 1.23.2.10 +++ openacs-4/packages/acs-core-docs/www/objects.html 2 Feb 2004 18:10:51 -0000 1.23.2.11 @@ -1,8 +1,8 @@ -
OpenACS Data Models and the Object System By Pete Su
+OpenACS Data Models and the Object System By Pete Su
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -+Developing data models in OpenACS is much like developing data models for OpenACS 3, save for the implementation. As usual, you need to examine how to model the information that the application must store and manipulate, and define a suitable set of SQL tables. In our Notes @@ -78,7 +78,7 @@ Fire up your text editor and open the ROOT/packages/notes/sql/oracle/notes-create.sql (ROOT/packages/notes/sql/postgresql/notes-create.sql for the PG version) file created when we created the package. Then, do the following: -
+
First, add an entry to the acs_object_types table with the following PL/SQL call:
begin @@ -138,7 +138,7 @@ because the new type note is a subtype of acs_object, it will inherit these attributes, so there is no need for us to define them. -The next thing we do is make a small modification to the data model to reflect the fact that each row in the notes table represents something that is not only an object of type @@ -163,7 +163,7 @@ use the acs_objects table to find objects will transparently find any objects that are instances of any subtype of acs_objects. -
The next step is to define a PL/SQL package for your new type, and write some basic procedures to create and delete objects. Here is a package definition for our new type: @@ -211,7 +211,7 @@ object OBJ was "read only", then any other object that used OBJ as its context would also be "read only" by default. We'll talk about this more later. -
The PL/SQL package body contains the implementations of the procedures defined above. The only subtle thing going on here is that we must use acs_object.new to insert a row into @@ -314,7 +314,7 @@ models that are meant to be integrated with the OpenACS object system.
-There are two basic rules you should follow when designing OpenACS 5.0.0 data +There are two basic rules you should follow when designing OpenACS data models: @@ -369,7 +369,7 @@ requires a good amount of thought at design time even for simple applications.
-Hooking into the OpenACS 5.0.0 object system brings the application developer +Hooking into the OpenACS object system brings the application developer numerous benefits, and doing it involves only four easy steps: Index: openacs-4/packages/acs-core-docs/www/openacs-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs-overview.html,v diff -u -r1.13.2.4 -r1.13.2.5 --- openacs-4/packages/acs-core-docs/www/openacs-overview.html 11 Jan 2004 12:45:46 -0000 1.13.2.4 +++ openacs-4/packages/acs-core-docs/www/openacs-overview.html 2 Feb 2004 18:10:52 -0000 1.13.2.5 @@ -1,4 +1,4 @@ -
Overview +
Overview OpenACS (Open Architecture Community System) is an advanced toolkit for building scalable, community-oriented web applications. If you're thinking of building an Index: openacs-4/packages/acs-core-docs/www/openacs-unpack.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs-unpack.html,v diff -u -r1.8.2.7 -r1.8.2.8 --- openacs-4/packages/acs-core-docs/www/openacs-unpack.html 21 Jan 2004 18:36:16 -0000 1.8.2.7 +++ openacs-4/packages/acs-core-docs/www/openacs-unpack.html 2 Feb 2004 18:10:52 -0000 1.8.2.8 @@ -1,17 +1,17 @@ -
Unpack the OpenACS tarball The OpenACS tarball contains sample configuration files +
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 root]# cd /tmp -[root tmp]# tar xzf openacs-5.0.0.tgz -cd /tmp -tar xzf openacs-5.0.0.tgz
If you are installing from a different method and just need the configuration files, you can instead get them from CVS:
[root root]# cd /tmp +[root tmp]# tar xzf .tgz +cd /tmp +tar xzf .tgz
If you are installing from a different method and just need the configuration files, you can instead get them from CVS:
[root root]# cd /tmp [root tmp]# cvs -d :pserver:anonymous@openacs.org:/cvsroot co openacs-4/packages/acs-core-docs/www/files/ cvs checkout: warning: failed to open /root/.cvspass for reading: No such file or directory cvs server: Updating openacs-4/packages/acs-core-docs/www/files U openacs-4/packages/acs-core-docs/www/files/README.TXT (many lines omitted) U openacs-4/packages/acs-core-docs/www/files/template-ini.ini U openacs-4/packages/acs-core-docs/www/files/winnsd.txt -[root tmp]# mv openacs-4 openacs-5.0.0 -cd /tmp +[root tmp]# mv openacs-4 +cd /tmp cvs -d :pserver:anonymous@openacs.org:/cvsroot co openacs-4/packages/acs-core-docs/www/files/ -mv openacs-4 openacs-5.0.0a4
Prev Home Next Appendix�B.�Install additional supporting software Up Initialize CVS (OPTIONAL)
docs@openacs.orgView comments on this page at openacs.org +mv openacs-4 openacs-5.0.0a4
Prev Home Next Appendix�B.�Install additional supporting software Up Initialize CVS (OPTIONAL)
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/openacs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs.html,v diff -u -r1.22.2.11 -r1.22.2.12 --- openacs-4/packages/acs-core-docs/www/openacs.html 29 Jan 2004 10:43:05 -0000 1.22.2.11 +++ openacs-4/packages/acs-core-docs/www/openacs.html 2 Feb 2004 18:10:52 -0000 1.22.2.12 @@ -1,7 +1,7 @@ -Install OpenACS by Vinod Kurup
+Install OpenACS by Vinod Kurup
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -For Linux Standard Base compliance and ease of backup, +
For Linux Standard Base compliance and ease of backup, all of the files in each OpenACS site are stored in a subdirectory of /var/lib/aolserver, one @@ -10,9 +10,9 @@ [root root]# chgrp web /var/lib/aolserver [root root]# chmod 770 /var/lib/aolserver [root root]# -
mkdir /var/lib/aolserver +mkdir /var/lib/aolserver chgrp web /var/lib/aolserver -chmod 770 /var/lib/aolserver
AOLserver needs to be started as the root user if you want to use port 80. Once it starts, though, it will drop the root privileges and run as another user, which you must specify on the command line. It's @@ -80,12 +80,12 @@ [service0 aolserver]$ exit logout [root root]# -
su - service0 +su - service0 cd /var/lib/aolserver tar xzf /tmp/.tgz mv service0 chmod -R 700 service0/ -exit
Add the Service to CVS (OPTIONAL)
Prepare the database
Prepare Oracle for OpenACS.�If you won't be using Oracle, skip to Prepare PostgreSQL for an OpenACS Service
+exit
Add the Service to CVS (OPTIONAL)
Prepare the database
Prepare Oracle for OpenACS.�If you won't be using Oracle, skip to Prepare PostgreSQL for an OpenACS Service
You should be sure that your user account (e.g. service0) is in the dba group. @@ -217,16 +217,16 @@ [service0 service0]$ createdb -E UNICODE service0 CREATE DATABASE [service0 service0]$ -
su - service0 -createdb -E UNICODE service0
Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.
[service0 service0]$ export EDITOR=emacs;crontab -eAdd this line to the file. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day.
0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze service0 +su - service0 +createdb -E UNICODE service0Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.
[service0 service0]$ export EDITOR=emacs;crontab -eAdd this line to the file. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day.
0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze service0 0 0 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze service0Add Full Text Search Support (OPTIONAL)
At this point the database should be ready for installing OpenACS.
Configure an AOLserver Service for OpenACS.�
The AOLserver architecture lets you run an arbitrary number of virtual servers. A virtual server is an HTTP service running on a specific port, e.g. port 80. In order for OpenACS to work, you need to configure a virtual server. The Reference Platform uses a configuration file included in the OpenACS tarball, /var/lib/aolserver/service0/etc/config.tcl. - Open it in an editor to adjust the parameters.
[root root]# su - service0 + Open it in an editor to adjust the parameters.[root root]# su - service0 [service0 service0]$ cd /var/lib/aolserver/service0/etc [service0 etc]$ emacs config.tcl@@ -354,7 +354,7 @@ production site, you should set up automatic nightly backups.
If you want traffic reports, set up analog or another log processing program.
Follow the instruction on the home page to change the appearance of your service or add more - packages. (more information)
Proceed to the tutorial to learn how to develop your own packages.
Set up database environment variables for the site + packages. (more information)
Proceed to the tutorial to learn how to develop your own packages.
Set up database environment variables for the site user. These settings are necessary for working with the database while logged in as the service user. They do not directly affect the service's run-time connection with the Index: openacs-4/packages/acs-core-docs/www/oracle.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/oracle.html,v diff -u -r1.22.2.10 -r1.22.2.11 --- openacs-4/packages/acs-core-docs/www/oracle.html 21 Jan 2004 18:36:16 -0000 1.22.2.10 +++ openacs-4/packages/acs-core-docs/www/oracle.html 2 Feb 2004 18:10:53 -0000 1.22.2.11 @@ -1,10 +1,10 @@ -
Install Oracle 8.1.7 By Vinod Kurup
+Install Oracle 8.1.7 By Vinod Kurup
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -Note
+
Note
Skip this section if you're not interested in Oracle.
- OpenACS 5.0.0 will install with Oracle 9i but has not been extensively tested so may still have bugs or tuning issues. + OpenACS will install with Oracle 9i but has not been extensively tested so may still have bugs or tuning issues.
This document assumes that you'll be installing Oracle on the same Index: openacs-4/packages/acs-core-docs/www/os-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/os-install.html,v diff -u -r1.2.2.4 -r1.2.2.5 --- openacs-4/packages/acs-core-docs/www/os-install.html 11 Jan 2004 12:45:46 -0000 1.2.2.4 +++ openacs-4/packages/acs-core-docs/www/os-install.html 2 Feb 2004 18:10:53 -0000 1.2.2.5 @@ -1,4 +1,4 @@ -
Linux Install Guides +
Linux Install Guides Here's a list of some helpful documentation for various OS's
Painless Debian Index: openacs-4/packages/acs-core-docs/www/os-security.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/os-security.html,v diff -u -r1.2.2.4 -r1.2.2.5 --- openacs-4/packages/acs-core-docs/www/os-security.html 11 Jan 2004 12:45:46 -0000 1.2.2.4 +++ openacs-4/packages/acs-core-docs/www/os-security.html 2 Feb 2004 18:10:53 -0000 1.2.2.5 @@ -1,4 +1,4 @@ -
Security Information +
Security Information Once you get your OS installed, it's imperative that you secure your installation. As Jon Griffin repeatedly warns us, "No distribution is secure out of the box." The Reference Platform implements Index: openacs-4/packages/acs-core-docs/www/packages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/packages.html,v diff -u -r1.22.2.10 -r1.22.2.11 --- openacs-4/packages/acs-core-docs/www/packages.html 21 Jan 2004 18:36:16 -0000 1.22.2.10 +++ openacs-4/packages/acs-core-docs/www/packages.html 2 Feb 2004 18:10:53 -0000 1.22.2.11 @@ -1,7 +1,7 @@ -
OpenACS Packages By Pete Su and Bryan Quinn
+OpenACS Packages By Pete Su and Bryan Quinn
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -This document is a guide on how to write a software package for OpenACS. OpenACS packages are installed and maintained with the OpenACS Package Manager (APM). This document presents reasons @@ -56,7 +56,7 @@ the pieces of each module are strewn all over the tree in at least 3 or 4 different areas.
- Here is how an OpenACS 5.0.0 server is laid out: + Here is how an OpenACS server is laid out:
ROOT/ bin/ @@ -123,7 +123,7 @@ sends to our server to the right page in the appropriate package. While we're at it, this tool should also automate package installation, dependency checking, upgrades, and package - removal. In OpenACS 5.0.0, this tool is called the APM. + removal. In OpenACS , this tool is called the APM.The APM is used to create, maintain, and install packages. It takes care of copying all of the files and registering the package in the @@ -145,7 +145,7 @@
The following sections will show you how to make a package for the Notes application. In addition, they will discuss some new site - management features in OpenACS 5.0.0 that take advantage of the APM's package + management features in OpenACS that take advantage of the APM's package instance model. The two most important of these are subsites, and the site map tool, which can be used to map applications to one or more arbitrary URLs in a running site. @@ -433,7 +433,7 @@ map content that lived outside the page root into the site, and it was also hard to map mulitiple URLs to the same place in the file system.
- In OpenACS 5.0.0, administrators can define an arbitrary mapping between the + In OpenACS , administrators can define an arbitrary mapping between the URLs the user types and the actual file in the file system that is served. This mapping is called the site map and entries in the site map are called site nodes. Each site node maps a URL to an Index: openacs-4/packages/acs-core-docs/www/parties.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/parties.html,v diff -u -r1.22.2.10 -r1.22.2.11 --- openacs-4/packages/acs-core-docs/www/parties.html 21 Jan 2004 18:36:16 -0000 1.22.2.10 +++ openacs-4/packages/acs-core-docs/www/parties.html 2 Feb 2004 18:10:53 -0000 1.22.2.11 @@ -1,7 +1,7 @@ -
Parties in OpenACS
+Parties in OpenACS OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -While many applications must deal with individuals and many applications must deal with groups, most applications must deal with individuals or groups. It is often the case with such applications that in many respects both individuals and groups are treated in an identical manner. It Index: openacs-4/packages/acs-core-docs/www/permissions-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-design.html,v diff -u -r1.15.2.4 -r1.15.2.5 --- openacs-4/packages/acs-core-docs/www/permissions-design.html 11 Jan 2004 12:45:46 -0000 1.15.2.4 +++ openacs-4/packages/acs-core-docs/www/permissions-design.html 2 Feb 2004 18:10:53 -0000 1.15.2.5 @@ -1,7 +1,7 @@ -
Permissions Design By John Prevost and Rafael H. Schloming
+Permissions Design By John Prevost and Rafael H. Schloming
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -
Tcl in packages/acs-kernel
Tcl in packages/acs-kernel
The goal of the Permissions system is to provide generic means to both Index: openacs-4/packages/acs-core-docs/www/permissions-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-requirements.html,v diff -u -r1.15.2.4 -r1.15.2.5 --- openacs-4/packages/acs-core-docs/www/permissions-requirements.html 11 Jan 2004 12:45:46 -0000 1.15.2.4 +++ openacs-4/packages/acs-core-docs/www/permissions-requirements.html 2 Feb 2004 18:10:53 -0000 1.15.2.5 @@ -1,7 +1,7 @@ -
Permissions Requirements By John McClary Prevost
+Permissions Requirements By John McClary Prevost
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -This document records requirements for the OpenACS 4 Permissions system, a component of the OpenACS 4 Kernel. The Permissions system is meant to unify and centralize the handling of access and control on a given OpenACS 4 system.
Any multi-user software system must address the general problem of permissions, or "who can do what, on what." On web services, which Index: openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html,v diff -u -r1.16.2.10 -r1.16.2.11 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 21 Jan 2004 18:36:16 -0000 1.16.2.10 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 2 Feb 2004 18:10:54 -0000 1.16.2.11 @@ -1,4 +1,4 @@ -
OpenACS Permissions Tediously Explained +
OpenACS Permissions Tediously Explained by Vadim Nasardinov. Modified and converted to Docbook XML by Roberto Mello
The code has been modified since this document was written so it is now out of date. See this forum thread.
The general permissions system has a relatively complex data model in OpenACS. @@ -100,7 +100,7 @@
Suppose objects A, B, ..., and F form the following hierarchy. -
Table�8.1.�Context Hierarchy Example
A +
Table�8.1.�Context Hierarchy Example
A object_id=10
B object_id=20 @@ -116,7 +116,7 @@ This can be represented in the acs_objects table by the following entries: -
+
The first entry tells us that object 20 is the descendant of object 10, and the third entry shows that object 40 is the descendant of object 20. By running a CONNECT BY query, Index: openacs-4/packages/acs-core-docs/www/permissions.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions.html,v diff -u -r1.22.2.10 -r1.22.2.11 --- openacs-4/packages/acs-core-docs/www/permissions.html 21 Jan 2004 18:36:16 -0000 1.22.2.10 +++ openacs-4/packages/acs-core-docs/www/permissions.html 2 Feb 2004 18:10:53 -0000 1.22.2.11 @@ -1,8 +1,8 @@ -
Groups, Context, Permissions By Pete Su
+Groups, Context, Permissions By Pete Su
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -+The OpenACS Permissions system allows developers and administrators to set access control policies at the object level, that is, any application or system object represented by a row in the acs_objects table can be access-controlled via a simple @@ -13,7 +13,7 @@ Although this may all sound easy and wonderful, no developer or administrator would want to explicitly set access control rights for every user and every object on a -site. Therefore, OpenACS 5.0.0 has two auxiliary mechanisms for making this +site. Therefore, OpenACS has two auxiliary mechanisms for making this easier: First, the Groups system allows users to be grouped together in flexible ways. Second, the object model defines a notion of object context, which allows applications to group objects @@ -25,7 +25,7 @@ define simple groupings of users. Each group had a human readable name and unique ID, and there was a single mapping table that mapped users to groups. (The actual data model was more complicated because it -contained a meta-data system much like the OpenACS 5.0.0 object type system, +contained a meta-data system much like the OpenACS object type system, but that's not relevant right now.)
The 3.x groups system, while very useful, was limited in few ways. The @@ -47,7 +47,7 @@ member of Greenpeace, its members are not necessarily members of Greenpeace.
-OpenACS 5.0.0 solves both of these modeling problems by introducing a new +OpenACS solves both of these modeling problems by introducing a new abstraction called a party. Parties have a recursive definition, and we can illustrate how it works with the following simplified data model. First, we define the parties @@ -113,18 +113,18 @@ already know what parties and objects are, but we don't know what privileges are.
-In OpenACS 5.0.0, a privilege models the right to perform some operation on +In OpenACS , a privilege models the right to perform some operation on some object. They are the basic units out of which we build access control policies. For example, in the Unix filesystem we typically implement access control by granting users some combination of -read. write or execute privileges on files and directories. In OpenACS 5.0.0, +read. write or execute privileges on files and directories. In OpenACS , the table of privileges is organized hierarchically so that developers can define privileges that aggregate some set of privileges together. For example, if we have read, write, create and delete privileges, it might be convenient to combine them into a new privilege called "admin". Then if we grant a user this privilege she is automatically granted all the child privileges that the privilege -contains. The OpenACS 5.0.0 kernel data model actually defines these +contains. The OpenACS kernel data model actually defines these privileges as follows:
@@ -164,7 +164,7 @@ permissions to large groups of objects in the site, all at once. We use contexts to achieve this goal.-In OpenACS 5.0.0, an object context is a generalization of the scoping +In OpenACS , an object context is a generalization of the scoping mechanism introduced in OpenACS 3.x. "Scoping" and "scope" are terms best explained by example: consider some hypothetical rows in the address_book table: @@ -179,7 +179,7 @@ person or a group of people or the general public (itself a group of people).
-In OpenACS 5.0.0, rather than breaking the world into a limited set of scopes, +In OpenACS , rather than breaking the world into a limited set of scopes, every object lives in a single context. A context is just an another object that represents the security domain to which the object belongs. By convention, if an object A doesn't have any permissions @@ -196,7 +196,7 @@ application. With only row-level permissions it is not obvious how to reasonably initialize the access control list when creating a message. At best, we have to explicitly grant various read and write -privileges whenever we create a message, which is tedious. In OpenACS 5.0.0, +privileges whenever we create a message, which is tedious. In OpenACS , a reasonable thing to do is to create an object representing a forum, and point the context_id field of a new message at the forum. Then, suppose we grant every user in the system read-access to @@ -328,7 +328,7 @@
This displays the title of the note as either a link or plain text depending on whether or not we have write privileges on the object. -The if tag is something that the OpenACS 5.0.0 template system +The if tag is something that the OpenACS template system defines for you to support conditional presentation. The templates developer guide provides more information about this.
If you study the rest of the system, you will also notice that the @@ -342,7 +342,7 @@ permissions to notes that she wanted to make public or whatever. But that's beyond the scope of this example.
-OpenACS 5.0.0 defines three separate mechanisms for specifying access control +OpenACS defines three separate mechanisms for specifying access control in applications. The Groups data model allows you to define hierarchical organizations of users and groups of users. The Permissions data model allows you to define a hierarchy of user rights. Finally, Index: openacs-4/packages/acs-core-docs/www/postgres.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/postgres.html,v diff -u -r1.21.2.10 -r1.21.2.11 --- openacs-4/packages/acs-core-docs/www/postgres.html 21 Jan 2004 18:36:16 -0000 1.21.2.10 +++ openacs-4/packages/acs-core-docs/www/postgres.html 2 Feb 2004 18:10:54 -0000 1.21.2.11 @@ -1,7 +1,7 @@ -
Install PostgreSQL by Vinod Kurup
+Install PostgreSQL by Vinod Kurup
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -Skip this section if you will run only Oracle.
OpenACS 5.0.0 will run with PostgreSQL 7.2.x, 7.3.2, 7.3.3, and 7.3.4. 7.3.4 is the recommended version of PostgreSQL. PostgreSQL 7.4 has been verified.
Skip this section if you will run only Oracle.
OpenACS will run with PostgreSQL 7.2.x, 7.3.2, 7.3.3, and 7.3.4. 7.3.4 is the recommended version of PostgreSQL. PostgreSQL 7.4 has been verified.
Mac OS X.�If you are running Mac OS X prior to 10.3, you should be able to install and use PostGreSQL 7.2.x or 7.3.x. Mac OS X 10.3 requires PostGreSQL 7.4.
Debian users, especially Debian stable users, should install PostGreSQL from source as detailed below. Debian unstable users: the following process has been known to work:
apt-get install postgresql postgresql-dev postgresql-doc ln -s /usr/include/postgresql/ /usr/include/pgsql ln -s /var/lib/postgres /usr/local/pgsql ln -s /usr/include/pgsql /usr/local/pgsql/include @@ -23,21 +23,21 @@ [root root]# groupadd web [root root]# su - postgres -bash-2.05b$ -+ ln -s /usr/lib/pgsql/ /var/lib/pgsql/lib ln -s /var/lib/pgsql /usr/local/pgsql ln -s /usr/bin /usr/local/pgsql/bin service postgresql start echo "export LD_LIBRARY_PATH=/usr/local/pgsql/lib" >> ~postgres/.bash_profile echo "export PATH=$PATH:/usr/local/pgsql/bin" >> ~postgres/.bash_profile groupadd web -su - postgres
... and then skip to 6. Something similar may work for other binary packages as well.
Unpack PostgreSQL.�If you have not downloaded the postgresql tarball to +su - postgres
... and then skip to 6. Something similar may work for other binary packages as well.
Unpack PostgreSQL.�If you have not downloaded the postgresql tarball to /tmp/postgresql-7.3.4.tar.gz, get it.
[root root]# cd /usr/local/src [root src]# tar xzf /tmp/postgresql-7.3.4.tar.gz [root src]# -cd /usr/local/src -tar xzf /tmp/postgresql-7.3.4.tar.gz
Create the Postgres user.� +cd /usr/local/src +tar xzf /tmp/postgresql-7.3.4.tar.gz
Create the Postgres user.� Create a user and group (if you haven't done so before) for PostgreSQL. This is the account that PostgreSQL will run as since it will not run as root. Since nobody will log in @@ -48,11 +48,11 @@ [root src]# chown -R postgres.web /usr/local/pgsql /usr/local/src/postgresql-7.3.4 [root src]# chmod 750 /usr/local/pgsql [root src]# -
groupadd web +groupadd web useradd -g web -d /usr/local/pgsql postgres mkdir -p /usr/local/pgsql chown -R postgres.web /usr/local/pgsql /usr/local/src/postgresql-7.3.4 -chmod 750 /usr/local/pgsql
Mac OS X: Do instead:
sudo niutil -create / /groups/web +chmod 750 /usr/local/pgsql
Mac OS X: Do instead: