Fisheye: Tag 1.2 refers to a dead (removed) revision in file `mod_nsd/README.html'. Fisheye: No comparison available. Pass `N' to diff? Index: mod_nsd/README.old.html =================================================================== RCS file: /usr/local/cvsroot/mod_nsd/README.old.html,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ mod_nsd/README.old.html 6 Jun 2001 06:26:22 -0000 1.1 @@ -0,0 +1,451 @@ + + + README for mod_aolserver + + +

README for mod_aolserver

+ an Apache module by Robert + S. Thau and Rob Mayoff +
+ +This is mod_aolserver release 1.1, an Apache module that emulates enough +of the AOLserver API to run the ArsDigita Community System. +You can try out an ACS installation running on this module at http://apache.arsdigita-dev.com/. +That system has bulletin boards for discussing mod_aolserver. + + + +

Prerequisites

+ +In order to use this software, you will need these other packages: + + + +You must install these packages before compiling mod_aolserver. + +

Apache

+ +Apache is available here. + +

We developed mod_aolserver as a dynamic shared object, so you must +compile/install Apache with mod_so built in. You can determine +whether your Apache has this module by running this command: + +

httpd -l | grep mod_so
+ +If the output is a line that says mod_so.c, then your +Apache has the required module. + +

We test with Apache 1.3.12 so you should try to use that or a later +version. + +

Tcl

+ +Tcl is available here. + +

AOLserver uses Tcl 8.3, so that's what I use to build mod_aolserver. +It will probably work with Tcl 8.1 or later, but ACS might (now or in +the future) use 8.2 or 8.3 features. Whichever version you use, make +sure you build this with --enable-shared. + +

Warning: Red Hat Linux, through version 6.2 at least, only includes +Tcl 8.0, so if you're on a Red Hat system, you must install a later +version. You do not need to uninstall the Tcl RPM, though; you can +install Tcl 8.3 somewhere else for mod_aolserver's use. + +

MM

+ +The MM library is available +here. + +

AOLserver provides various APIs for threads to share data and +synchronize their operations. Although Apache is not threaded, we +emulate some of those APIs. The mechanism we use to share data between +processes is Ralf Engelschall's MM. + +

We tested with MM version 1.1.1. + +

Note: if you are using Linux, MM will by default use System V style +SHM shared memory. This work fine. Do not try to force it to use +MAP_ANON shared memory. I had strange problems when I did that. + +

Oracle 8i

+ +Oracle 8i is available here. + +

The ArsDigita Community +System is built on top of Oracle 8i. mod_aolserver includes a +version of ArsDigita's Oracle driver. If you want to run the ACS +on mod_aolserver, you'll need Oracle 8i installed before compiling +mod_aolserver. + +

As of release 1.1, mod_aolserver uses ArsDigita's AOLserver Oracle +driver release 2.3. + +

PostgreSQL

+ +PostgreSQL is available here. + +

An intrepid group of programmers are porting the ACS to PostgreSQL; +they call the project "OpenACS". You can download that version from +their development site. +mod_aolserver includes a version of the PostgreSQL database driver. +If you want to run OpenACS on mod_aolserver, you'll need PostgreSQL +installed before compiling mod_aolserver. + +

Compiling and Installing

+ +mod_aolserver uses GNU autoconf to configure the build process. You can +type ./configure --help to see your options. The important +ones are these: + + + +

In my test environment, I have private copies of Tcl, Apache, and MM, +so my typical configure command looks something like this: + +

./configure \
+  --with-database=ora8 \
+  --with-tcl=/u/mayoff/test/lib \
+  --with-apxs=/u/mayoff/test/bin/apxs \
+  --with-mm=/u/mayoff/test
+
+ +After running configure, you should just be able to run +make. It will compile the module and install it in your +existing Apache installation using apxs. + +

Configuring Apache

+ +mod_aolserver provides two request handlers: + + + +You must enable ExecCGI for these handlers to work. Neither of +these handlers is really necessary if you're running ACS, because +ACS uses ns_register_proc to handle all requests for +.tcl and .adp files anyway. + +

mod_aolserver needs an AOLserver configuration file, in either +.tcl or .ini format. You must specify the +location of the file using the AolServerConf config_file +directive in your httpd.conf: + +

AolServerConf config_file /u/mayoff/test/nsd.tcl
+  or
+AolServerConf config_file /u/mayoff/test/nsd.ini
+ +Either of these files can contain an AuxConfigDir +parameter, which mod_aolserver will process just like AOLserver would. +You'll need that parameter if you want to run ACS. + +

Here's an +httpd.conf excerpt to get you started. Assume that I have +installed Apache in /u/mayoff/test and the ACS in +/u/mayoff/test/acs. + +

# This is added automatically by apxs when you `make' or `make install':
+LoadModule aolserver_module libexec/mod_aolserver.so
+
+AolServerConf config_file /u/mayoff/test/nsd.ini
+
+# The following setting is returned by [ns_info log]
+AolServerConf log_file_location /u/mayoff/test/logs/error_log
+
+# Note: Make sure that PageRoot in your nsd.ini is set
+# to the same thing as this DocumentRoot.
+DocumentRoot "/u/mayoff/test/acs/www"
+
+<Directory "/u/mayoff/test/acs/www">
+    Options Indexes FollowSymLinks MultiViews ExecCGI
+    DirectoryIndex index.tcl index.adp index.shtml index.html index.htm
+    AddHandler adp adp
+    AddHandler aolserver tcl
+</Directory>
+ +This should cause mod_aolserver stuff to run only in the virtual server +containing the AolServerConf directive (or the main server only if you +put it outside a virtual server section). You're probably better off +running this in the main server of a test Apache installation right +now, rather than running it in a virtual server of your production +installation. + +

Configuring mod_aolserver

+ +

Configuring mod_aolserver is pretty straightforward. The module +will load whatever configuration file you specified with the +AolServerConf config_file directive in your Apache +configuration. The config file can be in either .ini or .tcl format. +Many AOLserver configuration directives have no effect under +mod_aolserver, but they will not be detrimental either. + +

A sample configuration file can be found in the mod_aolserver +distribution as tcl_modules/nsd.ini.sample. You should be +able to use that config file, with some site-specific modifications, to +run ACS on Apache. + +

Be sure to disable the watchdog in your ACS +configuration (by setting WatchDogFrequency to 0) or you'll get +a lot of mail. The Apache error log is formatted differently than the +AOLserver error log, so the watchdog parser doesn't work. + +

Also, if you're using the Oracle database driver, you may +encounter problems if you leave the datasource empty. On my test +system running Red Hat Linux 6.2 and Oracle 8.1.6, I found that Apache +would either hang or dump core during startup. It turns out to be a +problem with the "Bequeath Protocol", which is the way that the driver +talks to Oracle if you leave the DataSource blank. + +

The workaround for using Oracle is to set the +DataSource in your database pools to a TCP or IPC connection. +This means you need to know a little bit about configuring Net*8 +if you haven't done so before. The configuration assistant, +netasst, is pretty good in Oracle 8.1.6, so you shouldn't +have too much difficulty. If you run into trouble, you can try asking +for help at the +ACS on Apache web site or Web Tools +Review. + +

Limitations, Bugs and To-Do List

+ +Send bug reports and other feedback to +mod_aolserver@arsdigita.com. + +

+Here are the known limitations, bugs, and to-do tasks. + +

+ +
+
$Header: /usr/local/cvsroot/mod_nsd/README.old.html,v 1.1 2001/06/06 06:26:22 petrup Exp $ +
mod_aolserver@arsdigita.com
+ + + Fisheye: Tag 1.2 refers to a dead (removed) revision in file `mod_nsd/TODO'. Fisheye: No comparison available. Pass `N' to diff?