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.11 -r1.12 --- openacs-4/packages/acs-core-docs/www/acs-admin.html 24 Jun 2003 03:58:11 -0000 1.11 +++ openacs-4/packages/acs-core-docs/www/acs-admin.html 28 Jun 2003 05:07:01 -0000 1.12 @@ -1,2 +1,2 @@ -
+
This is the place to look if you want to extend OpenACS and build on top of what's already here. Here you can find out about the guts of the system. -
Table of Contents
Table of Contents
Table of Contents
Table of Contents
+
by Vinod Kurup
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
This page assumes you have downloaded aolserver to to -/tmp/aolserver3.3oacs1.tar.gz. If not, -get it. It also assumes you are following the 5.0.0-P or 5.0.0-O Reference Platform installation, using Red Hat 8.0. Places where other systems are different are noted.
- As root, untar +
Unpack the Aolserver tarball.�Download the aolserver tarball to /tmp/aolserver3.3oacs1.tar.gz. As root, untar aolserver3.3oacs1.tar.gz into /usr/local/src. -
[root@yourserver root]# cd /usr/local/src [root@yourserver src]# tar xzf /tmp/aolserver3.3oacs1.tar.gz [root@yourserver src]#cd /usr/local/src -tar xzf /tmp/aolserver3.3oacs1.tar.gz
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 /tmp/aolserver3.3oacs1.tar.gz
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@yourserver root]# cd /usr/local/src/aolserver [root@yourserver aolserver]# ./conf-clean cat: BUILD-MODULES: No such file or directory @@ -65,25 +61,64 @@ ================================================================== Done Building Sat Mar 8 10:31:35 PST 2003 [root@yourserver aolserver]#
- This takes about 5 minutes. It builds aolserver, several modules, and the database driver. (Upgraders, note that the postgres database driver has changed from postgres.so to nspostgres.so). All of the results are logged to files in /usr/local/src/aolserver/log. If you run into problems running AOLserver, check these files for build errors.
Add a database-specific wrapper script. This script + This takes about 5 minutes. It builds aolserver, several modules, and the database driver. (Upgraders, note that the postgres database driver has changed from postgres.so to nspostgres.so). All of the results are logged to files in /usr/local/src/aolserver/log. If you run into problems running AOLserver, check these files for build errors.
Add a database-specific wrapper script.�This script sets database environment variables before starting AOLserver; this allows the AOLserver instance can 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@yourserver aolserver]# cd /usr/local/aolserver/bin -[root@yourserver bin]# cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle +[root@yourserver bin]# cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle [root@yourserver bin]# chmod 750 nsd-oracle [root@yourserver bin]#cd /usr/local/aolserver/bin -cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle +cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle chmod 750 nsd-oracle
PostGreSQL
[root@yourserver aolserver]# cd /usr/local/aolserver/bin -[root@yourserver bin]# cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres +[root@yourserver bin]# cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres [root@yourserver bin]# chmod 755 nsd-postgres [root@yourserver 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 nsopenssl - (OPTIONAL)
Install Full Text Search with OpenFTS (OPTIONAL)
In order to test AOLserver, we'll run it using the +cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres +chmod 755 nsd-postgres
Install tDOM.�Download the tDOM + tarball to + /tmp/tDOM-0.7.7.tar.gz, + unpack it, adjust the configuration file to match our patched + distribution of aolserver, and compile it.
[root@yourserver root]# cd /usr/local/src +[root@yourserver src]# tar xzf /tmp/tDOM-0.7.7.tar.gz +[root@yourserver src]# cd tDOM-0.7.7/unix +[root@yourserver unix]# +cd /usr/local/src +tar xzf /tmp/tDOM-0.7.7.tar.gz +cd unix
Edit the file CONFIG and change this section: +
# ---------------------------------------------------- +# aolsrc="/usr/src/aolserver-3.4" +# ../configure --enable-threads --disable-tdomalloc \ +# --with-aolserver=$aolsrc \ +# --with-tcl=$aolsrc/tcl8.3.4/unix
+
to
+
# ---------------------------------------------------- +aolsrc="/usr/local/src/aolserver/aolserver" +../configure --enable-threads --disable-tdomalloc \ + --with-aolserver=$aolsrc + --with-tcl=$aolsrc/tcl8.3.2/unix
+
And configure and compile:
+
[root@yourserver unix]# sh CONFIG +creating cache ./config.cache +checking for memmove... yes + (many lines omitted) +creating Makefile +creating tdomConfig.sh +[root@yourserver unix]# make +gcc -pipe -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DTCL_THREADS=1 +-DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 + (many lines omitted) + -Wl,-rpath,/usr/local/lib -o tcldomsh;\ +fi +[root@yourserver unix]# cp libtdom0.7.7.so /usr/local/aolserver/bin/ +sh CONFIG +make +cp libtdom0.7.7.so /usr/local/aolserver/bin/
+
Install nsopenssl + (OPTIONAL)
Install Full Text Search with OpenFTS (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 group. The sample-config.tcl configuration writes to the @@ -143,12 +178,11 @@ but clearly this is not a good tool to use for managing your services in general. We cover this topic in the Keep AOLServer alive section. -
If you can't view the welcome page, it's likely there's a +
Troubleshooting.�If you can't view the welcome page, it's likely there's a problem with your server configuration. Start by viewing your AOLserver log, which is in /usr/local/aolserver/log/server.log. You should also try to find lines of the form: -
[01/Jun/2000:12:11:20][5914.2051][-nssock-] Notice: nssock: listening on http://localhost.localdomain:8000 (127.0.0.1:8000) [01/Jun/2000:12:11:20][5914.2051][-nssock-] Notice: accepting connections
@@ -177,5 +211,5 @@
set hostname [ns_info hostname] #set address [ns_info address] -set address 0.0.0.0
Install - Analog web file analyzer. (OPTIONAL)
Install + Analog web file analyzer. (OPTIONAL)
+
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)
OpenACS Services: the aforementioned building blocks. Examples of services include the OpenACS Content Repository, the OpenACS Templating -System, and the OpenACS Kernel, which includes +System, and the OpenACS Kernel, which includes APM.
An installation of the OpenACS includes the OpenACS Kernel, some services that extend the kernel's functionality, and some applications intended for end-users. Packages function as individual pieces of subsites. A subsite can contain multiple @@ -89,7 +89,7 @@ packages for other ACS users to download and install.
For a simple illustration of the difference between ACS without APM (pre-3.3) and ACS with APM (3.3 and beyond), consider a hypothetical ACS installation that uses only two of the thirty-odd modules available circa ACS -3.2 (say, bboard and e-commerce):
APM itself is part of a package, the OpenACS Kernel, an OpenACS +3.2 (say, bboard and e-commerce):
APM itself is part of a package, the OpenACS Kernel, an OpenACS service that is the only mandatory component of an OpenACS installation.
The OpenACS is a platform for web-based application software, and any software platform has the potential to develop problems like those described above. Fortunately, there are many precedents for systematic solutions, @@ -542,4 +542,4 @@ all of this functionality in one interface and it can be confusing from a usability perspective.
System creator: Bryan Quinn, Jon Salz, Michael Yoon, Lars Pind, Todd Nightingale.
System owner: Bryan Quinn
Documentation author: Bryan Quinn, building from earlier versions by Jon -Salz, Michael Yoon, and Lars Pind.
+
by Bryan Quinn and Todd Nightingale
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
@@ -155,7 +155,7 @@
adding new files, by scanning the file system for new files automatically,
and allowing the developer to confirm adding them.
20.10 The developer cannot add files to a given package via the UI that do not exist in the file system already.
20.15 Package file structure must follow a specified -convention. Please see the design +convention. Please see the design document for what we do currently.
30.0 Remove files from a package
The developer must be able to remove files from a package. This can be done in two ways.
30.1 Access the APM UI, browse the file list, and remove files.
30.1.1If a file is removed from the package list, but not @@ -293,4 +293,4 @@ are set using the acs_attribute_values table. The automatic web interface for setting package parameters should be one and the same with the interface for setting acs object attribute values. Consequently, the implementation of -these features should be quite straightforward.
Document Revision # | Action Taken, Notes | When? | By Whom? |
0.1 | Creation | 8/10/2000 | Bryan Quinn, Todd Nightingale |
� | Reviewed | 8/11/2000 | John Prevost, Mark Thomas, and Pete Su |
0.2 | Revised and updated | 8/12/2000 | Bryan Quinn |
0.3 | Reviewed, revised, and updated - conforms to requirements template. | 8/18/2000 | Kai Wu |
0.4 | Minor edits before ACS 4 Beta. | 9/30/2000 | Kai Wu |
Prev | Home | Next |
OpenACS 4 Subsites Design Document | Up | OpenACS 5.0.0 Package Manager Design |
Document Revision # | Action Taken, Notes | When? | By Whom? |
0.1 | Creation | 8/10/2000 | Bryan Quinn, Todd Nightingale |
� | Reviewed | 8/11/2000 | John Prevost, Mark Thomas, and Pete Su |
0.2 | Revised and updated | 8/12/2000 | Bryan Quinn |
0.3 | Reviewed, revised, and updated - conforms to requirements template. | 8/18/2000 | Kai Wu |
0.4 | Minor edits before ACS 4 Beta. | 9/30/2000 | Kai Wu |
Prev | Home | Next |
OpenACS 4 Subsites Design Document | Up | OpenACS 4.7.0d Package Manager Design |
+
by Don Baccus
with additions by Joel Aufrecht
@@ -42,7 +42,7 @@
This section describes how to make a one-time backup of the files and database. This is useful for rolling back to known-good versions of a service, such as at initial - installation and just before a backup.
PostGreSQL.�Create a backup file and verify that it was created and has a reasonable size (several megabytes).
[root@localhost root]# su - service0 + installation and just before an upgrade.
PostGreSQL.�Create a backup file and verify that it was created and has a reasonable size (several megabytes).
[root@localhost root]# su - service0 [service0@localhost service0]$ pg_dump -f /web/service0/database-backup/before_upgrade_to_4.6.dmp service0 [service0@localhost service0]$ ls -al /web/service0/database-backup/before_upgrade_to_4.6.dmp -rw-rw-r-x 1 service0 service0 4005995 Feb 21 18:28 /web/service0/database-backup/before_upgrade_to_4.6.dmp @@ -54,7 +54,7 @@ exitFile tree with CVS.�If you are already using CVS, you probably don't need to do anything to back up your data. Just make sure that your current work is checked into the system. - You can then roll back based on date - just note the + You can then roll back based on date - note the current system time, down to the minute. For maximum safety, you can apply a tag to your current files. Note that, if you did the CVS options in this document, the /web/service0/etc directory is not included in cvs and you may want to add it.
[root@localhost root]# su - service0 @@ -112,9 +112,7 @@ psql -f /web/service0/packages/acs-kernel/sql/postgresql/postgresql.sql service0 psql service0 < /web/service0/database-backup/before_upgrade_to_4.6.dmp svc -u /service/service0 -exit
Backup can encompass all files in /web/service0. For a development server, putting the files in cvs is sufficient. (It's important then to back up the cvs repository!)
A quick way to automate database backup is a cron job. This is not recommended for production and is not part of the Reference Platform, because it is not cross-platform and can fail silently. More thorough methods are documented in the section called “Backup Strategy”
[service0@yourserver service0]$ export EDITOR=emacs;crontab -e
Add 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 * * * /usr/local/pgsql/bin/pg_dump -f /web/service0/database-backup/service0_$(date +%Y-%m-%d).dmp service0
If you plan to back up the whole /web/service0 directory, then it would be redundant to keep a history of database backups. In that case, set up the cron job to overwrite the previous backup each time:
0 1 * * * /usr/local/pgsql/bin/pg_dump -f /web/service0/database-backup/service0_nightly.dmp service0
A quick way to automate database backup is a cron job. - (This should moved into OpenACS's scheduled task project so that - it's integrated with OpenACS's alerts and such.)
[service0@yourserver service0]$ export EDITOR=emacs;crontab -e
Add 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 * * * /usr/local/pgsql/bin/pg_dump -f /web/service0/database-backup/service0_$(date +%Y-%m-%d).dmp service0
Here's a quick manual way to back up a reference install - it should be replaced by an automated script within OpenACS. The command excludes the auto-generated supervise directory, which is @@ -133,7 +131,20 @@ recursive backup.
[root@yourserver root]# su - service0 [service0@yourserver service0]$ tar -cpsj --exclude /web/service0/etc/daemontools/supervise --file /tmp/service0-backup.tar.bz2 /web/service0/ tar: Removing leading `/' from member names -[service0@yourserver service0]$
On a test service, make sure that your backup-recovery process work. After backing up the database and file system, delete the service as detailed below and then recover it.
[root@yourserver root]# svc -d /service/service0 +[service0@yourserver service0]$
Backup can encompass all files in + /web/service0. For a development + server, putting the files in cvs, and backing up the database nightly, is sufficient. (It's important then to back up the cvs repository!)
Backing up the database consists of creating a file + which is a picture of the database at a particular moment. + Postgres can be backed up while running. A quick way to automate database backup is a cron job. This + is not recommended for production and is not part of the Reference + Platform, because it is not cross-platform and can fail silently. + A more thorough solution using the cronjob OpenACS package is + planned.
Depending on your overall backup strategy, you can + create a series of database backup files, or you can create a + single nightly backup file which is then collected into a + bigger backup file that includes the other parts of the + service (web pages, content, code). To make a new file every + night, edit the crontab file for service0:
[service0@yourserver service0]$ export EDITOR=emacs;crontab -e
Add 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 * * * /usr/local/pgsql/bin/pg_dump -f /web/service0/database-backup/service0_$(date +%Y-%m-%d).dmp service0
If you plan to back up the whole /web/service0 directory, then it would be redundant to keep a history of database backups. In that case, set up the cron job to overwrite the previous backup each time:
0 1 * * * /usr/local/pgsql/bin/pg_dump -f /web/service0/database-backup/service0_nightly.dmp service0
On a test service, make sure that your backup-recovery process work. After backing up the database and file system, delete the service as detailed below and then recover it.
[root@yourserver root]# svc -d /service/service0 [root@yourserver root]# mv /web/service0/ /web/service0.lost [root@yourserver root]# rm /service/service0 rm: remove symbolic link `/service/service0'? y @@ -148,7 +159,7 @@ DROP USER [postgres@yourserver pgsql]$ exit logout -[root@yourserver root]#
Restore the operating system and required software. +[root@yourserver root]#
Restore the operating system and required software. You can do this with standard backup processes or by keeping copies of the install material (OS CDs, OpenACS tarball and supporting software) and repeating the install guide.
Restore the OpenACS service. Assuming the user already exists, restore the database and files from backup and restore the daemontools link. (Because of a bug in Postgres backup-recovery, not all database objects are created in the correct order. To compensate, pre-creating some objects usually work.)
[root@yourserver root]# su - postgres @@ -173,7 +184,7 @@ [root@yourserver root]# ln -s /web/service0/etc/daemontools /service/service0 [root@yourserver root]# sleep 10 [root@yourserver root]# svgroup web /service/service0 -[root@yourserver root]#
Earlier strategies, included here because this section hasn't been fully updated yet.
(This has not yet been updated to fit with the Reference install. To do so, edit the backup script to save the backup @@ -265,8 +276,7 @@ root:~# crontab -l | grep export-oracle 0 23 * * * /usr/sbin/export-oracle root:~# exit -; Logout
If you see the line, go ahead and log out.
This is an alternate method to the crontab backup. Dowload this script to /tmp. At the top of the script are several variables that you'll need to customize: 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.10 -r1.11 --- openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 24 Jun 2003 03:58:11 -0000 1.10 +++ openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 28 Jun 2003 05:07:01 -0000 1.11 @@ -1,5 +1,5 @@ -
+
by Jon Salz
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
Index: openacs-4/packages/acs-core-docs/www/compatibility-matrix.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/compatibility-matrix.html,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/acs-core-docs/www/compatibility-matrix.html 24 Jun 2003 03:58:11 -0000 1.1
+++ openacs-4/packages/acs-core-docs/www/compatibility-matrix.html 28 Jun 2003 05:07:01 -0000 1.2
@@ -1,6 +1,6 @@
-
+
by Joel Aufrecht
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
+
by Vinod Kurup
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
@@ -34,4 +34,4 @@
All questions and comments regarding this guide should be posted on the OpenACS bboards. -
These steps take an existing OpenACS directory and add +
These steps take an existing OpenACS directory and add it to a CVS repository..
Create and set permissions on a subdirectory in the local cvs repository.
[root@yourserver root]# mkdir /cvsroot/service0 [root@yourserver root]# chown service0.web /cvsroot/service0 @@ -18,11 +18,11 @@ plus this string, i.e. /cvsroot/service0. - "OpenACS" is the vendor tag, and "openacs-5-0-0" is the + "OpenACS" is the vendor tag, and "openacs-4-7-0d" is the release tag. These tags will be useful in upgrading and branching. -m sets the version comment.[root@yourserver root]# su - service0 [service0@yourserver service0]$ cd /web/service0 -[service0@yourserver service0]$ cvs import -m "initial install" service0 OpenACS openacs-5-0-0 +[service0@yourserver service0]$ cvs import -m "initial install" service0 OpenACS openacs-4-7-0d N service0/license.txt N service0/readme.txt (many lines omitted) @@ -33,7 +33,7 @@ [service0@yourserver service0]$su - service0 cd /web/service0 -cvs import -m "initial install" service0 OpenACS openacs-5-0-0Move the original directory to a temporary location, and check out the cvs repository in its place. If the service starts correctly, come back and remove the temporary copy of the uploaded files.
[service0@yourserver service0]$ cd .. +cvs import -m "initial install" service0 OpenACS openacs-4-7-0d
Move the original directory to a temporary location, and check out the cvs repository in its place. If the service starts correctly, come back and remove the temporary copy of the uploaded files.
[service0@yourserver service0]$ cd .. [service0@yourserver web]$ mv service0 service0.orig [service0@yourserver web]$ cvs checkout service0 cvs checkout: Updating service0 @@ -48,4 +48,4 @@cd .. mv service0 service0.orig cvs checkout service0 -exit
Prev | Home | Next |
Appendix�C.�Install Red Hat 8.0 | Up | Part�IV.�For OpenACS Platform Developers |
Prev | Home | Next |
Appendix�C.�Using CVS with an OpenACS Site | Up | Part�IV.�For OpenACS Platform Developers |
Table of Contents
+
Table of Contents
by Joel Aufrecht
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
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.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/database-management.html 24 Jun 2003 03:58:11 -0000 1.2
+++ openacs-4/packages/acs-core-docs/www/database-management.html 28 Jun 2003 05:07:01 -0000 1.3
@@ -1,5 +1,5 @@
-
+
by Joel Aufrecht
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
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.10 -r1.11
--- openacs-4/packages/acs-core-docs/www/db-api-detailed.html 24 Jun 2003 03:58:11 -0000 1.10
+++ openacs-4/packages/acs-core-docs/www/db-api-detailed.html 28 Jun 2003 05:07:01 -0000 1.11
@@ -1,5 +1,5 @@
-
+
by Jon Salz. Revised and expanded by
Roberto Mello (rmello at fslc dot usu dot edu), July 2002.
@@ -731,4 +731,4 @@
The nsv containing the list is initialized by the bootstrap script and should
never be referenced directly by user code.
Returns the current rdbms type and version.
-
Prev | Home | Next |
OpenACS 5.0.0 Package Manager Design | Up | OpenACS 4 Security Requirements |
Prev | Home | Next |
OpenACS 4.7.0d Package Manager Design | Up | OpenACS 4 Security Requirements |
Table of Contents
Table of Contents
+
By claus@arsdigita.com, with additions by Roberto Mello and the OpenACS Community -
+
ArsDigita created a good documentation ground for us to build upon. Some sections of the documentation, however, lack details and examples; others are simply nonexistant. Our goal is to give @@ -32,7 +32,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. @@ -53,7 +53,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 @@ -99,7 +99,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 @@ -123,20 +123,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.
@@ -151,7 +151,7 @@ </sect1>
- + Inside this container your document will be split up into <sect2>'s, each with the same requirements - id and xreflabel @@ -160,7 +160,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>. @@ -170,12 +170,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:
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:
+Check out how I link to a subsection of the Developer's Guide:
Put this in your XML: @@ -213,7 +213,7 @@ packages-looks, the parser will try its best to explain where the link takes you.
- + If you're hyper-linking out of the documentation, it works almost the same way as HTML - the tag is just a little different @@ -234,7 +234,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>, @@ -260,7 +260,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:
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 @@ -305,7 +305,7 @@ </variablelist>
- + DocBook supports several types of tables, but in most cases, the <informaltable> is enough: @@ -342,7 +342,7 @@ <table> for an example.
- + Our documentation uses two flavors of emphasis - italics and bold type. DocBook uses one - <emphasis>.
@@ -421,4 +421,4 @@
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.10 -r1.11 --- openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 24 Jun 2003 03:58:11 -0000 1.10 +++ openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 28 Jun 2003 05:07:01 -0000 1.11 @@ -1,5 +1,5 @@ -
By michael@arsdigita.com and +
By michael@arsdigita.com and aure@arsdigita.com
+
By richardl@arsdigita.com and yon@arsdigita.com
Lowercase everything, with the exception of %TYPE and %ROWTYPE. -
Prev | Home | Next |
ACS File Naming and Formatting Standards | Up | Appendix�C.�Install Red Hat 8.0 |
Prev | Home | Next |
ACS File Naming and Formatting Standards | Up | Appendix�C.�Using CVS with an OpenACS Site |
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.9 -r1.10 --- openacs-4/packages/acs-core-docs/www/eng-standards.html 24 Jun 2003 03:58:11 -0000 1.9 +++ openacs-4/packages/acs-core-docs/www/eng-standards.html 28 Jun 2003 05:07:01 -0000 1.10 @@ -1,2 +1,2 @@ -
By You
+
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 @@ -115,7 +115,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 4.7.0d, 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/groups-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-design.html,v diff -u -r1.9 -r1.10 --- openacs-4/packages/acs-core-docs/www/groups-design.html 24 Jun 2003 03:58:11 -0000 1.9 +++ openacs-4/packages/acs-core-docs/www/groups-design.html 28 Jun 2003 05:07:01 -0000 1.10 @@ -1,5 +1,5 @@ -
+
by Rafael H. Schloming and Mark Thomas
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
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.9 -r1.10
--- openacs-4/packages/acs-core-docs/www/groups-requirements.html 24 Jun 2003 03:58:11 -0000 1.9
+++ openacs-4/packages/acs-core-docs/www/groups-requirements.html 28 Jun 2003 05:07:01 -0000 1.10
@@ -1,5 +1,5 @@
-
+
by Rafael H. Schloming, Mark Thomas
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
Index: openacs-4/packages/acs-core-docs/www/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/index.adp,v
diff -u -r1.11 -r1.12
--- openacs-4/packages/acs-core-docs/www/index.adp 24 Jun 2003 03:58:11 -0000 1.11
+++ openacs-4/packages/acs-core-docs/www/index.adp 28 Jun 2003 05:07:01 -0000 1.12
@@ -54,7 +54,7 @@
- Help improve OpenACS documentation
Archive
- - Documentation for Earlier Versions of OpenACS
+ - Documentation for Earlier Versions of OpenACS
Table of Contents
List of Figures
Table of Contents
List of Figures
OpenACS 5.0.0.�The OpenACS tarball comprises the core packages and +
OpenACS 4.7.0d.�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 @@ -31,20 +31,17 @@ 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.
libxml2 and libxml2-devel, REQUIRED.� OpenACS 5.0.0 stores + to install OpenFTS.
tDOM, REQUIRED.�OpenACS 4.7.0d stores queries in XML files, so we use an AOLserver module called - nsxml to parse these files. libxml2-devel is required to - compile nsxml. Libxml2 is available from http://xmlsoft.org). On Debian, - this can be installed by doing apt-get install - libxml2-dev. Users of other distributions can - download rpms from rpmfind.net.
Web Server.�The web server handles incoming HTTP requests, provides + tDOM to parse these files. (This replaces libxml2, which + was used prior to 4.6.4.) tDOM is available from http://tdom.org).
Web Server.�The web server handles incoming HTTP requests, provides a runtime environment for OpenACS's tcl code, connects to the database, sends out HTTP responses, and logs requests and errors. OpenACS uses AOLserver; some people have had success running Apache with mod_nsd - see this post.
AOLserver 3.3oacs1, REQUIRED.�Mat Kovach's source distribution of AOLserver, including all of the patches listed below.
Mat Kovach is graciously maintaining an AOLserver distribution that - includes all the patches and modules needed to run OpenACS 5.0.0. These + includes all the patches and modules needed to run OpenACS 4.7.0d. 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. @@ -66,8 +63,6 @@ (i.e. postgres.so)
- nsxml is available at http://acs-misc.sourceforge.net. -
The patch that makes exec work on BSD is available at sourceforge.net
@@ -107,14 +102,14 @@ Agent) if you want your webserver to send and receive email.
ucspi-tcp 0.88, OPTIONAL.�This program listens for incoming TCP connections and hands them to a program. We use it instead of inetd, - which is insecure. You need this if you are running qmail.
DocBook, OPTIONAL.�(docbook-xml v4.2, docbook-xsl v1.56, libxslt 1.0.21, + which is insecure. You need this if you are running qmail.
DocBook, OPTIONAL.�(docbook-xml v4.2, docbook-xsl v1.56, libxslt 1.0.21, xsltproc 1.0.21). You need this to write or edit documentation.
Source Control.�A Source Control system keeps track of all of the old versions of your files. It lets you recover old files, compare versions of file, and identify specific versions of files. You can use any source control system; the Reference Platform and the OpenACS.org repository (where you can - get patched and development code in between releases) use cvs.
cvs 1.11.2, OPTIONAL.�cvs is included in most unix distributions. You + get patched and development code in between releases) use cvs.
cvs 1.11.2, OPTIONAL.�cvs is included in most unix distributions. You need this if you want to track old versions of your files, do controlled deployment of code from development - to production, or get or contribute development code from openacs.org.
CVS is a source control system. Create and initialize a +
CVS is a source control system. Create and initialize a directory for a local cvs repository.
[root@yourserver tmp]# mkdir /cvsroot [root@yourserver tmp]# cvs -d /cvsroot init [root@yourserver tmp]# 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.1 -r1.2 --- openacs-4/packages/acs-core-docs/www/install-daemontools.html 24 Jun 2003 03:58:11 -0000 1.1 +++ openacs-4/packages/acs-core-docs/www/install-daemontools.html 28 Jun 2003 05:07:01 -0000 1.2 @@ -4,10 +4,11 @@ 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
Red Hat
Make sure you have the source tarball in + services.
Install Daemontools
Red Hat
Make sure you have the source tarball in /tmp, or download it. (The -p flag in mkdir causes all implied directories in the path - to be made as well.)
(If you are using Red Hat 9.0, you need to put #include <errno.h> as the first line of /package/admin/daemontools-0.76/src/error.h. More information)
[root@yourserver root]# mkdir -p /package + to be made as well.)(Red Hat 9.0: put +
#include <errno.h>as the first line of /package/admin/daemontools-0.76/src/error.h. More information)
[root@yourserver root]# mkdir -p /package [root@yourserver root]# chmod 1755 /package/ [root@yourserver root]# cd /package/ [root@yourserver package]# tar xzf /tmp/daemontools-0.76.tar.gz @@ -24,13 +25,13 @@ cd /package tar xzf /tmp/daemontools-0.76.tar.gz cd admin/daemontools-0.76 -package/installDebian
root:~# apt-get install daemontools-installer -root:~# build-daemontoolsVerify that svscan is running. If it is, you should see +package/install
Debian
root:~# apt-get install daemontools-installer +root:~# build-daemontoolsVerify that svscan is running. If it is, you should see these two processes running:
[root@yourserver root]# ps -auxw | grep service root 13294 0.0 0.1 1352 272 ? S 09:51 0:00 svscan /service root 13295 0.0 0.0 1304 208 ? S 09:51 0:00 readproctitle service errors: ....................................... [root@yourserver root]#Install a script to grant non-root users permission to - control daemontools services.
[root@yourserver root]# cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup + control daemontools services.[root@yourserver root]# cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup [root@yourserver 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 +cp /tmp/openacs-4.7.0d/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.1 -r1.2 --- openacs-4/packages/acs-core-docs/www/install-full-text-search.html 24 Jun 2003 03:58:11 -0000 1.1 +++ openacs-4/packages/acs-core-docs/www/install-full-text-search.html 28 Jun 2003 05:07:01 -0000 1.2 @@ -1,5 +1,5 @@ -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@yourserver root]# su - postgres @@ -75,7 +75,7 @@ make su postgres make install -exitIf you are installing Full Text Search, add required packages to the new database. (In order for full text search to work, you must also install the PostGreSQL OpenFTS module and prerequisites.)
[service0@yourserver service0]$ /usr/local/pgsql/bin/psql service0 -f /usr/local/src/postgresql-7.2.4/contrib/tsearch/tsearch.sql @@ -114,4 +114,4 @@ line, click Install.Restart the service.
[service0@yourserver service0]$ svc -t /service/service0 -[service0@yourserver service0]$
Test FTS. (INCOMPLETE). Add a package that supports search,like "note," add some content, and search for it.
Test FTS. (INCOMPLETE). Add a package that supports search,like "note," add some content, and search for it.
Table of Contents
+
Table of Contents
by Joel Aufrecht
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
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.1 -r1.2
--- openacs-4/packages/acs-core-docs/www/install-nsopenssl.html 24 Jun 2003 03:58:11 -0000 1.1
+++ openacs-4/packages/acs-core-docs/www/install-nsopenssl.html 28 Jun 2003 05:07:01 -0000 1.2
@@ -7,7 +7,7 @@
later. You will need the unpacked Aolserver tarball in
/usr/local/src/aolserver and
the nsopenssl tarball in
- /tmp.
(Red Hat 9 note: see this + /tmp.
Red Hat 9 note: see this thread for details on compiling nsopenssl.)
[root@yourserver bin]# cd /usr/local/src/aolserver [root@yourserver aolserver]# tar xzf /tmp/nsopenssl-2.1.tar.gz [root@yourserver aolserver]# cd nsopenssl-2.1 @@ -25,4 +25,9 @@ cp nsopenssl.so /usr/local/aolserver/bin cp https.tcl /usr/local/aolserver/modules/tcl/
For Debian (more information):
apt-get install libssl-dev -make OPENSSL=/usr/lib/ssl
+
by Vinod Kurup
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
This document will describe how to install, configure, and - maintain an installation of OpenACS 5.0.0 on a Unix-like + maintain an installation of OpenACS 4.7.0d on a Unix-like system, including all supporting software. All examples - in this chapter are part of the OpenACS 5.0.0-P or - OpenACS 5.0.0-O Reference Platform, which use Red + in this chapter are part of the OpenACS 4.7.0d-P or + OpenACS 4.7.0d-O Reference Platform, which use Red Hat 8.0. Differences between the Reference Platform - and common alternate platforms are noted where known. + and common alternate platforms (Red Hat 9, Debian) are noted where known.
You will need a PC (or equivalent) with at least these minimum requirements:
Pentium processor
128 MB RAM - (much more if you want Oracle)
4 GB hard drive
You will need all of the the section called “Individual Programs” marked REQUIRED.
+ (much more if you want Oracle)
4 GB hard drive
You will need all everthing marked REQUIRED in the section called “Individual Programs”.
If you want to serve pages to people outside of your machine, you'll need a network connection of some type.
@@ -44,8 +44,8 @@ development purposes. This is described in the Acquire Oracle section.
The basic steps to getting OpenACS up and running are: -
Install an OS
Install a webserver (AOLServer)
Install a database (Oracle or - PostgreSQL)
Copy the OpenACS files into place and start the OpenACS installer, which will configure a database instance.
This is text you will see on +
Install an OS
Install a database (Oracle or + PostgreSQL)
Install a webserver (AOLServer)
Copy the OpenACS files into place and start the OpenACS installer, which will configure a database instance.
This is text you will see on screen, such as a Button or link in a radio button list or menu.
This is text that you will type.
This is text from a program or file which you may need to examine or edit:
if {$database == "oracle"} { @@ -108,7 +108,7 @@ better way. Well, not quite. Jonathan Marsden has created RPMs (at http://www.xc.org) for OpenACS 4.5 but there are not yet any for version - 5.0.0. There has been talk about automating the install process, + 4.7.0d. There has been talk about automating the install process, but that hasn't happened yet. Stay tuned!
Prev | Home | Next |
Chapter�3.�Installing on Unix/Linux | Up | Install Linux and supporting software |
Prev | Home | Next |
Chapter�4.�Installing on Unix/Linux | Up | Install Linux and supporting software |
Qmail is a Mail Transfer Agent. It handles incoming and outgoing mail. Install qmail if you want your OpenACS server to send and receive mail, and you don't want to use an alternate MTA.
Install ucspi.�This program handles incoming tcp connections. - Download ucspi and install it.
[root@yourserver root]# cd /usr/local/src +Install qmail (OPTIONAL) Qmail is a Mail Transfer Agent. It handles incoming and outgoing mail. Install qmail if you want your OpenACS server to send and receive mail, and you don't want to use an alternate MTA.
Install ucspi.�This program handles incoming tcp connections. + Download ucspi and install it.
Red Hat 9.0: put
#include <errno.h>as the first line of error.h. More information)
[root@yourserver root]# cd /usr/local/src [root@yourserver src]# tar xzf /tmp/ucspi-tcp-0.88.tar.gz [root@yourserver src]# cd ucspi-tcp-0.88 [root@yourserver ucspi-tcp-0.88]# make @@ -22,7 +22,7 @@ tcpserver: usage: tcpserver [ -1UXpPhHrRoOdDqQv ] [ -c limit ] [ -x rules.cdb ] [ -B banner ] [ -g gid ] [ -u uid ] [ -b backlog ] [ -l localname ] [ -t timeout ] host port program [root@yourserver ucspi-tcp-0.88]# -(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 @@ -33,11 +33,16 @@ Unless this mail is addressed to the same machine, qmail thinks that it's an attempt to relay mail, and rejects it. So these two commands set up an exception so that any mail sent from 127.0.0.1 is allowed to -send outgoing mail.
[root@yourserver ucspi-tcp-0.88]# cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp +send outgoing mail.[root@yourserver ucspi-tcp-0.88]# cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp [root@yourserver ucspi-tcp-0.88]# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp -cp /tmp/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.smtpDownload qmail, - set up the standard supporting users and build the binaries:
(If you are using Red Hat 9.0, you need to put #include <errno.h> as the first line of /usr/local/src/qmail-1.03/error.h. More information)
[root@yourserver root]# cd /usr/local/src +cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp +tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtpDownload qmail, + set up the standard supporting users and build the binaries:
Red Hat 9.0: Put +
#include <errno.h>+as the first line of + /usr/local/src/qmail-1.03/error.h. + More + information
[root@yourserver root]# cd /usr/local/src [root@yourserver src]# tar xzf /tmp/qmail-1.03.tar.gz [root@yourserver src]# mkdir /var/qmail [root@yourserver src]# groupadd nofiles @@ -70,10 +75,10 @@ useradd -g qmail -d /var/qmail qmailr useradd -g qmail -d /var/qmail qmails cd qmail-1.03 -make setup checkReplace sendmail with qmail's wrapper.
[root@yourserver qmail-1.03]# rm -f /usr/bin/sendmail +make setup checkReplace sendmail with qmail's wrapper.
[root@yourserver qmail-1.03]# rm -f /usr/bin/sendmail /usr/sbin/sendmail [root@yourserver qmail-1.03]# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail [root@yourserver qmail-1.03]# -rm -f /usr/bin/sendmail +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@yourserver qmail-1.03]# ./config-fast yourserver.test Your fully qualified host name is yourserver.test. Putting yourserver.test into control/me... @@ -92,61 +97,58 @@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/MaildirConfigure 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@yourserver alias]# echo "./Maildir" > /var/qmail/bin/.qmail -[root@yourserver alias]# cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc +[root@yourserver alias]# cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc [root@yourserver alias]# chmod 755 /var/qmail/rc [root@yourserver alias]#echo "./Maildir" > /var/qmail/bin/.qmail -cp /tmp/openacs-5.0.0/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc +cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc chmod 755 /var/qmail/rcSet up the skeleton directory so that new users will - be configured for qmail.
[root@localhost root]# /var/qmail/bin/maildirmake /etc/skel/Maildir -[root@localhost root]# echo "./Maildir/" > /etc/skel/.qmail -[root@localhost root]# + be configured for qmail.[root@yourserver root]# /var/qmail/bin/maildirmake /etc/skel/Maildir +[root@yourserver root]# echo "./Maildir/" > /etc/skel/.qmail +[root@yourserver root]#/var/qmail/bin/maildirmake /etc/skel/Maildir -echo "./Maildir/" > /etc/skel/.qmailQmail runs in two parts. First, several different - qmail daemons are started by the qmail rc file. Second, a - process is started in within tcpserver to listen for incoming smtp traffic. Run both of these commands to start qmail. Be very careful about line breaks - there should be a total of two commands here. Note also that the tcpserver command takes the uid and guid of qmaild, which will only be 502 and 501 if you have followed all of these instructions exactly and in order. Otherwise, grep qmaild /etc/passwd to find uid and guid, in that order.
[root@yourserver alias]# /usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb -v -u 502 -g 501 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 & -[1] 15863 -[root@yourserver alias]# csh -cf '/var/qmail/rc &' -[1] 15865 -[root@yourserver alias]# -/usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb -v -u 502 -g 501 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 & -csh -cf '/var/qmail/rc &'Verify that seven different qmail threads are running:
[root@yourserver alias]# ps -auxw | grep - qmail -qmaild 4269 0.0 0.3 1384 452 pts/0 S 21:21 0:00 [tcpserver] -root 4270 0.0 0.3 1340 412 pts/0 S 21:21 0:00 /var/qmail/bin/splogger smtpd 3 -qmails 4272 0.1 0.2 1364 320 pts/0 S 21:21 0:00 [qmail-send] -qmaill 4273 0.0 0.3 1332 408 pts/0 S 21:21 0:00 [splogger] -root 4274 0.0 0.2 1332 272 pts/0 S 21:21 0:00 qmail-lspawn ./Maildir/ -qmailr 4275 0.0 0.2 1328 272 pts/0 S 21:21 0:00 [qmail-rspawn] -qmailq 4276 0.0 0.2 1324 280 pts/0 S 21:21 0:00 [qmail-clean] -root 4278 0.0 0.5 3280 632 pts/0 S 21:21 0:00 grep qmail -[root@yourserver alias]#Further verify by sending and receiving email. Incoming mail for root is stored in /var/qmail/alias/Maildir. If it worked, make it permanent by putting the same commands in your startup scripts. (These instructions put the commands in rc.local, which means that they'll be run once, on boot. There will be no monitoring and no interface to start and stop and check status. We ought instead to either use full init scripts or daemontools.)
[root@yourserver alias]# echo "/usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb -v -u 502 -g 501 0 smtp /var/qmail/bin/qmail-smtpd \ " >> /etc/rc.local -[root@yourserver alias]# echo "2>&1 | /var/qmail/bin/splogger smtpd 3 & " >> /etc/rc.local -[root@yourserver alias]# echo "csh -cf '/var/qmail/rc &' " >> /etc/rc.local -[root@yourserver alias]# -echo "/usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb -v -u 502 -g 501 0 smtp /var/qmail/bin/qmail-smtpd \ " >> /etc/rc.local -echo "2>&1 | /var/qmail/bin/splogger smtpd 3 & " >> /etc/rc.local -echo "csh -cf '/var/qmail/rc &' " >> /etc/rc.localAnalog web file analyser. You should -have the source tarball in -/tmp. Unpack, compile, and install analog.
[root@yourserver aolserver]# cd /usr/local/src -[root@yourserver src]# tar xzf /tmp/analog-5.31.tar.gz -[root@yourserver src]# cd analog-5.31 -[root@yourserver analog-5.31]# make -cd src && make -make[1]: Entering directory `/usr/local/src/analog-5.31/src' -(many lines omitted) -***IMPORTANT: You must read the licence before using analog -*** -make[1]: Leaving directory `/usr/local/src/analog-5.31/src' -[root@yourserver analog-5.31]# cd .. -[root@yourserver src]# mv analog-5.31 /usr/share/ -[root@yourserver src]# -cd /usr/local/src -tar xzf /tmp/analog-5.31.tar.gz -cd analog-5.31 -make -cd .. -mv analog-5.31 /usr/share/See also the section called “Set up Log Analysis Reports - OPTIONAL”
View comments on this page at openacs.org +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@yourserver root]# mkdir -p /var/qmail/supervise/qmail-send/log +[root@yourserver root]# mkdir -p /var/qmail/supervise/qmail-smtpd/log +[root@yourserver root]# mkdir /var/log/qmail +[root@yourserver root]# chown qmaill /var/log/qmail +[root@yourserver root]# cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl +[root@yourserver root]# chmod 755 /var/qmail/bin/qmailctl +[root@yourserver root]# ln -s /var/qmail/bin/qmailctl /usr/bin +[root@yourserver root]# cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run +[root@yourserver root]# cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run +[root@yourserver root]# cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run +[root@yourserver root]# cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run +[root@yourserver root]# chmod 755 /var/qmail/supervise/qmail-send/run +[root@yourserver root]# chmod 755 /var/qmail/supervise/qmail-send/log/run +[root@yourserver root]# chmod 755 /var/qmail/supervise/qmail-smtpd/run +[root@yourserver root]# chmod 755 /var/qmail/supervise/qmail-smtpd/log/run +[root@yourserver root]# ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service +[root@yourserver 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-smtpd/log +mkdir /var/log/qmail +chown qmaill /var/log/qmail +cp /tmp/openacs-4.7.0d/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-4.7.0d/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run +cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run +cp /tmp/openacs-4.7.0d/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run +cp /tmp/openacs-4.7.0d/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 are 1 second, this may indicate broken scripts that are continuously restarting. In that case, start debugging by checking permissions.
[root@yourserver 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 +/service/qmail-smtpd/log: up (pid 32705) 430 seconds +messages in queue: 0 +messages in queue but not yet preprocessed: 0 +[root@yourserver root]#
Further verify by sending and receiving email. Incoming mail for root is stored in /var/qmail/alias/Maildir.
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 @@ -40,7 +40,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 @@ -61,7 +61,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. To @@ -82,9 +82,9 @@ 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. -
check�Editors�(this�installs�emacs),
+
check�Editors�(this�installs�emacs),
click�Details�next�to�Text-based�Internet,�check�lynx,�and�click�OK;
-check�Authoring�and�Publishing�(this�installs�docbook),
+check�Authoring�and�Publishing�(this�installs�docbook),
uncheck�Server�Configuration�Tools,
uncheck�Web�Server,
uncheck�Windows�File�Server,
@@ -97,7 +97,7 @@
Flat
View and wait. In a minute, a
list of packages will appear.
uncheck�apmd�(monitors�power,�not�very�useful�for�servers),�
-check�ImageMagick�(required�for�the�photo-album�packages,�
+check�ImageMagick�(required�for�the�photo-album�packages,�
uncheckisdn4k-utils�(unless�you�are�using�isdn,�this�installs�a�useless�daemon),�
check�mutt�(a�mail�program�that�reads�Maildir),
uncheck�nfs-utils�(nfs�is�a�major�security�risk),�
@@ -125,7 +125,7 @@
After it finishes rebooting and shows the login prompt, log in:
yourserver login: root Password: -[root@yourserver root]#
Lock down SSH
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 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.9 -r1.10 --- openacs-4/packages/acs-core-docs/www/kernel-doc.html 24 Jun 2003 03:58:11 -0000 1.9 +++ openacs-4/packages/acs-core-docs/www/kernel-doc.html 28 Jun 2003 05:07:01 -0000 1.10 @@ -1,2 +1,2 @@ -
Table of Contents
Table of Contents
- Compared to its predecessors, version 5.0.0 of OpenACS has a much +
+ Compared to its predecessors, version 4.7.0d of OpenACS has a much more structured organization, i.e. the most significant change is found at the system architecture level, reflected in the following hierarchy:
- The OpenACS 5.0.0 Kernel, which + The OpenACS 4.7.0d Kernel, which handles system-wide necessities such as metadata, security, users and groups, subsites, and package management and deployment.
- The OpenACS 5.0.0 Core, which + The OpenACS 4.7.0d Core, which comprises all the other packages that ship with the kernel and are most frequently needed by users, such as templating, bboard, and user registration/management. The packages tend to be developed and distributed with the kernel.
- OpenACS 5.0.0 Application + OpenACS 4.7.0d Application packages, which typically provide user-level web services built on top of the Kernel and Core. Such packages include those built by ArsDigita as well as @@ -28,4 +28,4 @@ This document provides a high level overview of the kernel package. Documentation for the other packages can be found elsewhere. -
Prev | Home | Next |
Chapter�12.�Kernel Documentation | Up | OpenACS 4 Object Model Requirements |
Prev | Home | Next |
Chapter�13.�Kernel Documentation | Up | OpenACS 4 Object Model Requirements |
+
by Joel Aufrecht
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
Figure�3.1.�Assumptions in this section
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/mac-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/mac-install.html,v diff -u -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/mac-install.html 24 Jun 2003 03:58:11 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/mac-install.html 28 Jun 2003 05:07:02 -0000 1.5 @@ -1,2 +1,2 @@ -
Table of Contents
Prev | Home | Next |
OpenACS Installation Guide for Windows2000 | Up | OpenACS Installation Guide for Mac OS X |
Table of Contents
Prev | Home | Next |
OpenACS Installation Guide for Windows2000 | Up | OpenACS Installation Guide for Mac OS X |
There are several resources for installing on OS X.
Prev | Home | Next |
Chapter�5.�Installing on a Macintosh | Up | Chapter�6.�Configuring a New Service |
There are several resources for installing on OS X.
Prev | Home | Next |
Chapter�6.�Installing on a Macintosh | Up | Chapter�7.�Configuring a New Service |
+
by Joel Aufrecht
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
@@ -44,7 +44,10 @@
exits immediately. If svc -t fails to fully kill AOLserver, use
this option. This does not take the server out of keepalive mode, so it should still bounce back up immediately.
-
+
Install a script to automate the stopping and starting + of aolserver services via daemontools. You can then restart a service via restart-aolserver service0
[root@yourserver root]# cp /web/service0/packages/acs-core-docs/www/files/restart-aolserver-daemontools.txt /usr/local/bin/restart-aolserver
+[root@yourserver root]# chmod 755 /usr/local/bin/restart-aolserver
+[root@yourserver root]#
At this point, these commands will work only for the root user. Grant permission for the web group to use svc commands on the service0 server.
[root@yourserver root]# svgroup web /service/service0
[root@yourserver root]#
Verify that the controls work. You may want to tail -f /web/service0/log/service0-error.log in another window, so you can see what happens when you type these commands. @@ -158,7 +161,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 4.7.0d replacing service0, and change the
set httpport 8000 set httpsport 8443
@@ -203,7 +206,7 @@ 1MU24SHLgdTfDJprEdxZOnxajnbxL420xNVc5RRXlJA8Xxhx/HBKTw== -----END RSA PRIVATE KEY-----
Analog is a program with processes webserver access logs, performs DNS lookup, and outputs HTML reports. Analog should - already be + already be installed. A modified configuration file is included in the OpenACS tarball.
[root@yourserver src]# su - service0 [service0@yourserver service0]$ cd /web/service0 @@ -232,4 +235,4 @@ [root@yourserver root]# emacs /etc/cron.daily/analog
Put this into the file:
#!/bin/sh
-/usr/share/analog-5.31/analog -G -g/web/service0/etc/analog.cfg
[root@yourserver root]# chmod 755 /etc/cron.daily/analog
Test it by running the script.
[root@yourserver root]# sh /etc/cron.daily/analog
Browse to http://yourserver.test/log/traffic.html
[root@yourserver root]# chmod 755 /etc/cron.daily/analog
Test it by running the script.
[root@yourserver root]# sh /etc/cron.daily/analog
Browse to http://yourserver.test/log/traffic.html
Table of Contents
Table of Contents
+
by Rafael H. Schloming
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 4.7.0d 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 4.7.0d 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 4.7.0d 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.9 -r1.10 --- openacs-4/packages/acs-core-docs/www/object-system-design.html 24 Jun 2003 03:58:11 -0000 1.9 +++ openacs-4/packages/acs-core-docs/www/object-system-design.html 28 Jun 2003 05:07:02 -0000 1.10 @@ -1,5 +1,5 @@ -
+
by Pete Su, Michael Yoon, Richard Li 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.9 -r1.10 --- openacs-4/packages/acs-core-docs/www/object-system-requirements.html 24 Jun 2003 03:58:11 -0000 1.9 +++ openacs-4/packages/acs-core-docs/www/object-system-requirements.html 28 Jun 2003 05:07:02 -0000 1.10 @@ -1,5 +1,5 @@ -
+
By Pete Su
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
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.10 -r1.11
--- openacs-4/packages/acs-core-docs/www/objects.html 24 Jun 2003 03:58:11 -0000 1.10
+++ openacs-4/packages/acs-core-docs/www/objects.html 28 Jun 2003 05:07:02 -0000 1.11
@@ -1,11 +1,11 @@
-
+
By Pete Su
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-Developing data models in OpenACS 5.0.0 is much like developing data models +Developing data models in OpenACS 4.7.0d 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 @@ -80,8 +80,8 @@
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: -
+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 @@ -141,7 +141,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 @@ -166,7 +166,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: @@ -214,7 +214,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 @@ -317,7 +317,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 4.7.0d data models: @@ -372,7 +372,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 4.7.0d object system brings the application developer numerous benefits, and doing it involves only four easy steps: @@ -396,4 +396,4 @@ especially true for the context_id field.
-
- OpenACS 5.0.0 is the next generation of the web toolkit. It's based on + OpenACS 4.7.0d is the next generation of the web toolkit. It's based on ACS 4, but no longer follows ArsDigita development. Unlike ACS (which required Oracle) and OpenACS 3.x (which required PostgreSQL), - OpenACS 5.0.0 allows you to use either database. It's also built in such + OpenACS 4.7.0d allows you to use either database. It's also built in such a way to allow enterprising hackers (in the good sense of the word) to extend it to other databases. Don Baccus leads the development and numerous developers and non-developers 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.1 -r1.2 --- openacs-4/packages/acs-core-docs/www/openacs-unpack.html 24 Jun 2003 03:58:11 -0000 1.1 +++ openacs-4/packages/acs-core-docs/www/openacs-unpack.html 28 Jun 2003 05:07:02 -0000 1.2 @@ -2,6 +2,6 @@
The OpenACS tarball contains sample configuration files for some of the packages listed below. In order to access those files, unpack the tarball now.
[root@yourserver root]# cd /tmp -[root@yourserver tmp]# tar xzf openacs-5.0.0.tgz +[root@yourserver tmp]# tar xzf openacs-4.7.0d.tgzcd /tmp -tar xzf openacs-5.0.0.tgz
Prev | Home | Next |
Appendix�B.�Install additional supporting software | Up | Initialize CVS (OPTIONAL) |
Prev | Home | Next |
Appendix�B.�Install additional supporting software | Up | Initialize CVS (OPTIONAL) |
+
by Vinod Kurup
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
The reference install stores all OpenACS services in +
The reference install stores all OpenACS services in /web, with one subdirectory per service. The first time you install a service, you must create that directory and set its permissions:
[root@yourserver root]# mkdir /web @@ -31,15 +31,15 @@ of your site is one word, that would be a good choice. For example "service0" might be the service name for the service0.net - community.For the 5.0.0-P and 5.0.0-O Reference Platform, + community.
For the 4.7.0d-P and 4.7.0d-O Reference Platform, we'll use a server named service0 and a user named service0. We'll leave the password blank for increased security. The only way to log in will be with ssh certificates. The only people who should log in are developers for that specific instance. Add this user, and put it in the web group so that it can use database commands associated with that group. -
[root@yourserver root]# useradd -g web service0 +[root@yourserver root]# useradd -g web service0 -d /home/service0 [root@yourserver root]#Set up database environment variables. They are necessary for working with the database.
[root@yourserver root]# su - service0 @@ -70,10 +70,10 @@ ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
[service0@yourserver service0]$ exit logout -[root@yourserver root]#
Unpack the OpenACS tarball and rename it to service0. Secure the directory so that only the owner can access it. Check the permissions by listing the directory.
[root@yourserver root]# su - service0
+[root@yourserver root]#
Unpack the OpenACS tarball and rename it to service0. Secure the directory so that only the owner can access it. Check the permissions by listing the directory.
[root@yourserver root]# su - service0 [service0@yourserver service0]$ cd /web -[service0@yourserver web]$ tar xzf /tmp/openacs-5.0.0.tgz -[service0@yourserver web]$ mv openacs-5.0.0 service0 +[service0@yourserver web]$ tar xzf /tmp/openacs-4.7.0d.tgz +[service0@yourserver web]$ mv openacs-4.7.0d service0 [service0@yourserver web]$ chmod -R 700 service0 [service0@yourserver web]$ ls -al total 3 @@ -86,10 +86,11 @@ [root@yourserver root]#su - service0 cd /web -tar xzf /tmp/openacs-5.0.0.tgz -mv openacs-5.0.0 service0 +tar xzf /tmp/openacs-4.7.0d.tgz +mv openacs-4.7.0d service0 chmod -R 700 service0/ -exit
Add the Service to CVS (OPTIONAL)
Set up several additional directories in the service root: +exit
Add the Service to CVS (OPTIONAL)
(This step should be obsoleted by the 5.0.0 tarball, as + these directories will be included in the tarball)Set up several additional directories in the service root: etc is for configuration and control files, log is for error and request (web page hit) log files, and database-backup is for database backup files. If you did the CVS step, note that these new directories are excluded from that step so that you can decide whether or not you want your logs and config files in source control.
[root@yourserver root]# su - service0 [service0@yourserver service0]$ mkdir /web/service0/etc /web/service0/log /web/service0/database-backup [service0@yourserver web]$ exit @@ -98,7 +99,7 @@ [root@yourserver web]#su - service0 mkdir /web/service0/etc /web/service0/log /web/service0/database-backup -exit
If you won't be using Oracle, skip to Prepare PostgreSQL for OpenACS
+exit
If you won't be using Oracle, skip to the section called “Prepare PostgreSQL for an OpenACS Service”
You should be sure that your user account (e.g. service0) is in the dba group. @@ -232,32 +233,34 @@ If you can't login, try redoing step 1 again. If the date is in the wrong format, make sure you followed the steps outlined in the section called “Troubleshooting Oracle Dates” -
Create a user in the database matching the service name.
[root@yourserver root]# su - postgres +
Create a user in the database matching the service name.
[root@yourserver root]# su - postgres
[postgres@yourserver pgsql]$ 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
CREATE USER
[postgres@yourserver pgsql]$ exit
logout
-[root@yourserver root]#
Create a database with the same name as our service name, service0.
[root@yourserver root]# su - service0
+[root@yourserver root]#
Create a database with the same name as our service name, service0.
[root@yourserver root]# su - service0 [service0@yourserver service0]$ createdb service0 CREATE DATABASE [service0@yourserver service0]$su - service0 -createdb 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.
[service0@yourserver service0]$ export EDITOR=emacs;crontab -e
Add 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 * * * /usr/local/pgsql/bin/vacuumdb --analyze service0
Add Full Text Search Support (OPTIONAL)
[service0@yourserver service0]$ exit
+createdb 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.
[service0@yourserver service0]$ export EDITOR=emacs;crontab -e
Add 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 * * * /usr/local/pgsql/bin/vacuumdb --analyze service0
Add Full Text Search Support (OPTIONAL)
[service0@yourserver service0]$ exit logout -[root@yourserver root]#
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. Copy it to the /web/service0/etc directory and open it in an editor to adjust the parameters.
[root@yourserver root]# su - service0 + need to configure a virtual server. The Reference Platform + uses a configuration file included in the OpenACS tarball, + /web/service0/etc/config.tcl. + Open it in an editor to adjust the parameters.[root@yourserver root]# su - service0 [service0@yourserver service0]$ cd /web/service0/etc -[service0@yourserver etc]# cp /web/service0/packages/acs-core-docs/www/files/config.tcl.txt config.tcl [service0@yourserver etc]# emacs config.tcl- You can continue without changing any values in the file. However, if you don't change address to match the computer's ip address, you won't be able to browse to your server from other machines. + You can continue without changing any values in the file. However, if you don't change address to match the computer's ip address, you won't be able to browse to your server from other machines.
httpport - If you want your server on a different port, enter it here. The Reference Platform port is 8000, which is suitable for development use. Port 80 is the standard http port - it's the port used by your browser when you enter http://yourserver.test. So you should use port 80 for your production site.
httpsport - This is the port for https requests. The Reference Platform https port is @@ -275,10 +278,10 @@ will both own OpenACS files and connect to the database (for Postgresql).
debug - Set to true for a very verbose error log, including many lines for every page view, success or failure.
AOLServer is very configurable. These settings should get you - started, but for more options, read the AOLServer + started, but for more options, read the AOLServer docs.
Enable OpenFTS Full Text Search (OPTIONAL)
Install nsopenssl - for SSL support. (OPTIONAL)
Kill any current running AOLserver processes and start a new one. If you are using Oracle, rather than PostgreSQL, replace nsd-postgres with @@ -298,7 +301,7 @@ nsd: no process killed [service0@yourserver service0]$ /usr/local/aolserver/bin/nsd-postgres -t /web/service0/etc/config.tcl [service0@yourserver service0]$ [08/Mar/2003:18:13:29][32131.8192][-main-] Notice: nsd.tcl: starting to read config file... -[08/Mar/2003:18:13:29][32131.8192][-main-] Notice: nsd.tcl: finished reading config file.
+[08/Mar/2003:18:13:29][32131.8192][-main-] Notice: nsd.tcl: finished reading config file.
Attempt to connect to the service from a web browser. You should specify a URL like:
http://yourserver.test:8000You should see a page that looks like this. If you imported your files into @@ -318,7 +321,7 @@
Automate AOLserver keepalive (OPTIONAL)
Now that you've got AOLserver up and running, let's install OpenACS - 5.0.0. + 4.7.0d.
You should see a page from the webserver titled OpenACS Installation: @@ -374,11 +377,11 @@ Give the server a few minutes to start up. Then reload the final page above. You should see the front page, with an area to login near the upper right. Congratulations, OpenACS - 5.0.0 is now up and running! + 4.7.0d is now up and running!
Install Full Text Search (OPTIONAL). If you have installed OpenFTS and enabled OpenFTS, you can now install the OpenFTS Driver package and - Full Text Search Engine package in the OpenACS service.
This is a good time to make a backup of your service. If this is a - production site, you should set up automatic nightly backups.
If you want traffic reports, set up analog or another log + Full Text Search Engine package in the OpenACS service.
This is a good time to make a backup of your service. If this is a + 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.
Test your backup and recovery procedure.
Proceed to the tutorial to learn how to develop your own packages.
Test your backup and recovery procedure.
+
by Vinod Kurup
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
- Skip this page if you're not interested in Oracle + Skip this page if you're not interested in Oracle.
- OpenACS 5.0.0 does not yet work with Oracle 9i + OpenACS 4.7.0d does not yet work with Oracle 9i
@@ -1276,4 +1276,4 @@ authorized to do a connect internal within svrmgrl to gain full system - access to the Oracle system.
+
By Pete Su and Bryan Quinn
OpenACS docs are written by the named authors, and may be edited
@@ -61,7 +61,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 4.7.0d server is laid out:
ROOT/ @@ -125,7 +125,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 4.7.0d, 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 @@ -147,7 +147,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 4.7.0d 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. @@ -435,7 +435,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 4.7.0d, 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 @@ -450,7 +450,7 @@ of many indedendent applications that actually run on a single shared code base. The request-processor document shows you how OpenACS figures out which instance of your application was - requested by the user at any given time. The page development tutorial shows you how to use this + requested by the user at any given time. The page development tutorial shows you how to use this information in your user interface.
In order to make the new notes application visible to @@ -477,7 +477,7 @@ yet written Notes application at various places in the site. In a later document, we'll see how to write your application so that the code can detect from what URL it was invoked. This is the key - to supporting subsites. + to supporting subsites.
The APM performs the following tasks in an OpenACS site:
@@ -493,4 +493,4 @@
Writes out package distribution files for other people to download and install. We'll cover this later. -
Prev | Home | Next |
Chapter�10.�Development Reference | Up | OpenACS Data Models and the Object System |
Prev | Home | Next |
Chapter�11.�Development Reference | Up | OpenACS Data Models and the Object System |
+
by Rafael H. Schloming
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
@@ -67,7 +67,7 @@
users) is that it is now possible to "nuke" a user from a live
system by removing his entry from the users table, but leaving the rest of
his information present (i.e. turning him from a user into a person). This is
-because wherever possible the OpenACS 5.0.0 data model references the persons or
+because wherever possible the OpenACS 4.7.0d data model references the persons or
parties table, not the users table. If this feature is
desired when extending the system, then the developers should be careful to
only references the users table in situations where it is clear that the
@@ -299,7 +299,7 @@
have a primary key that references the users table, thereby guaranteeing that
each row in the mensa_users table has a corresponding row in each of the
users, persons, parties, and acs_objects tables. This child table could then
-store any extra information relevant to the MENSA community.
Specializing Groups
If one were to build an intranet application on top of the 5.0.0 party +store any extra information relevant to the MENSA community.
Specializing Groups
If one were to build an intranet application on top of the 4.7.0d party system, it is likely that one would want to take advantage of the systems efficient representation of sophisticated organizational structures, but there would be much more specialized information associated with each group. @@ -313,4 +313,4 @@ single integer primary key in what could be thought of as a pure relation. Because a membership relation is an ordinary acs object with object identity, it is as easy to extend the membership relation to store extra information as it is to extend the users -table or the groups table.
Prev | Home | Next |
Writing OpenACS 5.0.0 Application Pages | Up | OpenACS 4.x Permissions Tediously Explained |
Prev | Home | Next |
Writing OpenACS 4.7.0d Application Pages | Up | OpenACS 4.x Permissions Tediously Explained |
+
by John Prevost and Rafael H. Schloming
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
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.9 -r1.10
--- openacs-4/packages/acs-core-docs/www/permissions-requirements.html 24 Jun 2003 03:58:11 -0000 1.9
+++ openacs-4/packages/acs-core-docs/www/permissions-requirements.html 28 Jun 2003 05:07:02 -0000 1.10
@@ -1,5 +1,5 @@
-
+
by John McClary Prevost
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
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.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 24 Jun 2003 03:58:11 -0000 1.4
+++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 28 Jun 2003 05:07:02 -0000 1.5
@@ -1,5 +1,5 @@
-
+
by Vadim Nasardinov. Modified and converted to Docbook XML by Roberto Mello
The general permissions system has a relatively complex data model in OpenACS 4.x. @@ -86,7 +86,7 @@ to store permission information explicitly about every object, i.e. if the system has 100,000 and 1,000 users who have the read privilege on all objects, then we would need to store 100,000,000 entries of the form: -
Table�10.1.�
object_id | grantee_id | privilege |
---|---|---|
object_id_1 | user_id_1 | 'read' |
object_id_1 | user_id_2 | 'read' |
... | ||
object_id_1 | user_id_n | 'read' |
object_id_2 | user_id_1 | 'read' |
object_id_2 | user_id_2 | 'read' |
... | ||
object_id_2 | user_id_n | 'read' |
... | ||
... | ||
object_id_m | user_id_1 | 'read' |
object_id_m | user_id_2 | 'read' |
... | ||
object_id_m | user_id_n | 'read' |
+
Table�11.1.�
object_id | grantee_id | privilege |
---|---|---|
object_id_1 | user_id_1 | 'read' |
object_id_1 | user_id_2 | 'read' |
... | ||
object_id_1 | user_id_n | 'read' |
object_id_2 | user_id_1 | 'read' |
object_id_2 | user_id_2 | 'read' |
... | ||
object_id_2 | user_id_n | 'read' |
... | ||
... | ||
object_id_m | user_id_1 | 'read' |
object_id_m | user_id_2 | 'read' |
... | ||
object_id_m | user_id_n | 'read' |
Although quite feasible, this approach fails to take advantage of the fact that objects in the system are commonly organized hierarchally, and permissions usually follow the hierarchical structure, so that if user @@ -101,7 +101,7 @@
Suppose objects A, B, ..., and F form the following hierarchy. -
Table�10.2.�
A + Table�11.2.�
|