summaryrefslogtreecommitdiff
path: root/www/ap-aolserver
diff options
context:
space:
mode:
authorcjones <cjones@pkgsrc.org>2001-07-16 17:04:01 +0000
committercjones <cjones@pkgsrc.org>2001-07-16 17:04:01 +0000
commitd85df083b819eeedb481eca59e5f5d831825f65c (patch)
treefba189d580338c55b62edde188346518bec84c7f /www/ap-aolserver
parent624810e7256a1692d4f8062cd13551b1f33bd87a (diff)
downloadpkgsrc-d85df083b819eeedb481eca59e5f5d831825f65c.tar.gz
Added ap-aolserver, an AOLServer emulation module for apache.
Diffstat (limited to 'www/ap-aolserver')
-rw-r--r--www/ap-aolserver/Makefile39
-rw-r--r--www/ap-aolserver/distinfo5
-rw-r--r--www/ap-aolserver/files/README8
-rw-r--r--www/ap-aolserver/files/nsd.tcl.sample335
-rw-r--r--www/ap-aolserver/patches/patch-aa40
-rw-r--r--www/ap-aolserver/pkg/DESCR2
-rw-r--r--www/ap-aolserver/pkg/MESSAGE26
-rw-r--r--www/ap-aolserver/pkg/PLIST28
8 files changed, 483 insertions, 0 deletions
diff --git a/www/ap-aolserver/Makefile b/www/ap-aolserver/Makefile
new file mode 100644
index 00000000000..798cb9186ed
--- /dev/null
+++ b/www/ap-aolserver/Makefile
@@ -0,0 +1,39 @@
+# $NetBSD: Makefile,v 1.1.1.1 2001/07/16 17:04:01 cjones Exp $
+#
+
+DISTNAME= mod_aolserver-1.1
+PKGNAME= ap-aolserver-1.1
+CATEGORIES= www
+MASTER_SITES= # none
+
+MAINTAINER= cjones@netbsd.org
+HOMEPAGE= http://www.arsdigita.com/acs-repository/one-version?version_id=601
+COMMENT= Module that emulates AOLServer in Apache
+
+DEPENDS+= postgresql-lib>=7:../../databases/postgresql-lib
+DEPENDS+= libmm>=1.1.3:../../devel/libmm
+DEPENDS+= tcl>=8.3:../../lang/tcl
+DEPENDS+= apache{,6}-1.3.*:../../www/apache
+
+HAS_CONFIGURE= # yes
+GNU_CONFIGURE= # yes
+
+CONFIGURE_ARGS+= --with-database=postgres
+CONFIGURE_ENV+= CPPFLAGS="-I${PREFIX}/include/pgsql"
+
+MESSAGE_SUBST+= PREFIX=${PREFIX}
+
+do-fetch:
+ @if [ ! -f ${DISTDIR}/${DISTFILES} ] ; then \
+ ${ECHO} "Please fetch ${DISTFILES} into ${DISTDIR}" ; \
+ ${ECHO} "from ${HOMEPAGE} ." ; \
+ exit 1 ; \
+ fi
+
+post-install:
+ ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/mod_aolserver
+ ${INSTALL_DATA} ${FILESDIR}/README ${FILESDIR}/nsd.tcl.sample \
+ ${WRKSRC}/tcl_modules/nsd.ini.sample \
+ ${PREFIX}/share/examples/mod_aolserver
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/www/ap-aolserver/distinfo b/www/ap-aolserver/distinfo
new file mode 100644
index 00000000000..9de84deebf0
--- /dev/null
+++ b/www/ap-aolserver/distinfo
@@ -0,0 +1,5 @@
+$NetBSD: distinfo,v 1.1.1.1 2001/07/16 17:04:01 cjones Exp $
+
+SHA1 (mod_aolserver-1.1.tar.gz) = 4173d5881c3c82cbb567da85107d032e06f17118
+Size (mod_aolserver-1.1.tar.gz) = 193569 bytes
+SHA1 (patch-aa) = 13c9c5d75d2c1c97f1da656eb93f3a50698ed916
diff --git a/www/ap-aolserver/files/README b/www/ap-aolserver/files/README
new file mode 100644
index 00000000000..98ccbbfc29b
--- /dev/null
+++ b/www/ap-aolserver/files/README
@@ -0,0 +1,8 @@
+$NetBSD: README,v 1.1.1.1 2001/07/16 17:04:02 cjones Exp $
+
+Here are a couple of example config files. ONE of these should be
+installed in apache's tcl_modules directory. The nsd.tcl file will
+probably take less editing.
+
+Note that neither of these config files will actually work without
+installing OpenACS.
diff --git a/www/ap-aolserver/files/nsd.tcl.sample b/www/ap-aolserver/files/nsd.tcl.sample
new file mode 100644
index 00000000000..d7a7f9e62b5
--- /dev/null
+++ b/www/ap-aolserver/files/nsd.tcl.sample
@@ -0,0 +1,335 @@
+#
+# AOLserver/OpenNSD Sample Configuration File
+#
+# Improved with lots of comments and things you'll need for
+# running OpenACS.
+#
+# by Roberto Mello (rmello@fslc.usu.edu)
+# $Id: nsd.tcl.sample,v 1.1.1.1 2001/07/16 17:04:02 cjones Exp $
+# $NetBSD: nsd.tcl.sample,v 1.1.1.1 2001/07/16 17:04:02 cjones Exp $
+
+ns_log notice "nsd.tcl: starting to read config file..."
+
+#
+# If httpport is set to 80, you'll have to start AOLserver as root and pass the user
+# AOLserver will run as in the command line. (e.g. ./nsd -u nsadmin -g nsadmin -t ../nsd.tcl)
+# (assuming you're starting AOLserver from the {aolserverdir}/bin directory.
+
+set httpport 80
+set httpsport 443
+
+#
+# Make sure your /etc/hostname is setup right, with your full domain. If you want AOLserver
+# to listen to www.foobar.com instead of foobar.com then hard code the appropriate domain
+# in the line below (e.g. set hostname www.foobar.com).
+#
+set hostname [ns_info hostname]
+set address [ns_info address]
+
+#
+# You can name your server whatever you want, but you'll need a directory with that
+# name under {aolserverdir}/servers/ writable by you AOLserver user.
+#
+# For example: if your AOLserver is in /usr/local/aolserver and your server is "server1"
+# you will need a /usr/local/aolserver/servers/server1 directory.
+#
+set server "server1"
+set servername "openacs"
+
+#
+# AOLserver's home and binary directories. Autoconfigurable.
+#
+set homedir [file dirname [ns_info config]]
+set bindir [file dirname [ns_info nsd]]
+
+#
+# Where are your pages going to live ?
+#
+set pageroot /web/${server}/www
+set directoryfile index.adp,index.tcl,index.html,index.htm
+
+#
+# nsssl: Only loads if keyfile.pem and certfile.pem exist.
+# If you are using SSL, make sure you have these dirs and files (refer
+# to the AOLserver docs)
+
+set sslkeyfile ${homedir}/servers/${server}/modules/nsssl/keyfile.pem
+
+set sslcertfile ${homedir}/servers/${server}/modules/nsssl/certfile.pem
+
+#
+# Global server parameters
+#
+
+ns_section "ns/parameters"
+ ns_param home $homedir
+ ns_param debug false
+ ns_param MailHost localhost
+ ns_param ServerLog ${homedir}/log/server.log
+ ns_param LogRoll on
+ ns_param AuxConfigDir ${homedir}/${server}/parameters
+
+#
+# Thread library (nsthread) parameters
+#
+ns_section "ns/threads"
+ ns_param mutexmeter true ;# measure lock contention
+ #ns_param stacksize [expr 128*1024] ;# Per-thread stack size for hungry C modules
+
+#
+# MIME types.
+#
+# Note: AOLserver already has an exhaustive list of MIME types, but in
+# case something is missing you can add it here.
+#
+
+ns_section "ns/mimetypes"
+ ns_param default "*/*" ;# MIME type for unknown extension
+ ns_param noextension "*/*" ;# MIME type for missing extension
+ #ns_param ".xls" "application/vnd.ms-excel''
+
+#
+# Tcl Configuration
+#
+ns_section "ns/server/${server}/tcl"
+ ns_param autoclose "on"
+ ns_param debug "false"
+
+
+# This is where this server's private Tcl library is. All .tcl files in this directory
+# are parsed when AOLserver starts. The crucial procedures used in OpenACS are
+# defined through this library
+#
+ ns_param library "/web/${server}/tcl"
+
+############################################################
+#
+# Server-level configuration
+#
+# There is only one server in AOLserver, but this is helpful when multiple
+# servers share the same configuration file. This file assumes that only
+# one server is in use so it is set at the top in the "server" Tcl variable
+# Other host-specific values are set up above as Tcl variables, too.
+#
+ns_section "ns/servers"
+ ns_param $server $servername
+
+#
+# Server parameters
+#
+ns_section "ns/server/${server}"
+ ns_param directoryfile $directoryfile
+ ns_param pageroot $pageroot
+ ns_param globalstats false ;# Enable built-in statistics
+ ns_param urlstats false ;# Enable URL statistics
+ ns_param maxurlstats 1000 ;# Max number of URL's to do stats on
+ ns_param enabletclpages true ;# Parse tcl files in pageroot (dangerous)
+
+#
+# If you want to customize AOLserver's response to things like ``Internal Server Error''
+# and other HTTP responses. OpenACS comes with some in the directory www/global.
+
+ ns_param NotFoundResponse "/global/file-not-found.html"
+ ns_param ServerBusyResponse "/global/busy.html"
+ ns_param ServerInternalErrorResponse "/global/error.html"
+ ns_param ForbiddenResponse "/global/forbidden.html"
+ ns_param UnauthorizedResponse "/global/unauthorized.html"
+
+# Directory listings -- use an ADP or a Tcl proc to generate them.
+#
+ #ns_param directoryadp $pageroot/dirlist.adp ;# Choose one or the other
+ ns_param directoryproc _ns_dirlist ;# ...but not both!
+ ns_param directorylisting fancy ;# Can be simple or fancy
+#
+# ADP (AOLserver Dynamic Page) configuration
+#
+ns_section "ns/server/${server}/adp"
+ ns_param map "/*.adp" ;# Extensions to parse as ADP's
+ #ns_param map "/*.html" ;# Any extension can be mapped
+ ns_param enableexpire false ;# Set "Expires: now" on all ADP's
+ ns_param enabledebug false ;# Allow Tclpro debugging with "?debug"
+
+
+
+# ADP special pages
+ #ns_param errorpage ${pageroot}/errorpage.adp ;# Pretty-print ADP scripting errors
+
+#
+# ADP custom parsers -- see adp.c
+#
+ns_section "ns/server/${server}/adp/parsers"
+ ns_param fancy ".adp"
+
+#
+# Socket driver module (HTTP) -- nssock
+#
+ns_section "ns/server/${server}/module/nssock"
+ ns_param port $httpport
+ ns_param hostname $hostname
+ ns_param address $address
+
+#
+# Socket driver module (HTTPS) -- nsssl
+#
+# nsssl does not load unless sslkeyfile/sslcertfile exist (above).
+#
+ns_section "ns/server/${server}/module/nsssl"
+ ns_param port $httpsport
+ ns_param hostname $hostname
+ ns_param address $address
+ ns_param keyfile $sslkeyfile
+ ns_param certfile $sslcertfile
+
+#
+# Database drivers
+# The database driver is specified here. PostgreSQL driver being loaded.
+# Make sure you have the driver compiled and put it in {aolserverdir}/bin
+#
+#ns_section "ns/db/drivers"
+# ns_param postgres ${bindir}/postgres.so ;# Load PostgreSQL driver
+
+#
+# Database Pools: This is how AOLserver ``talks'' to the RDBMS. You need three for
+# OpenACS: main, log, subquery. Make sure to replace ``yourdb'' and ``yourpassword''
+# with the actual values for your db name and the password for it.
+# AOLserver can have different pools connecting to different databases and even different
+# different database servers.
+#
+ns_section "ns/db/pools"
+ ns_param main "OpenACS Main Pool"
+ ns_param log "OpenACS Log Pool"
+ ns_param subquery "OpenACS Subquery Pool"
+
+ns_section "ns/db/pool/main"
+ ns_param Driver postgres
+ ns_param Connections 5 ;# 5 is a good number. Increase according to your needs
+ ns_param DataSource localhost::yourdb ;# Replace 'yourdb' with the name of your database in PG
+ ns_param User nsadmin ;# User and password AOLserver will use to connect
+ ns_param Password "yourpassword"
+ ns_param Verbose Off ;# Set it to On to see all queries. Good for debugging SQL.
+ ns_param LogSQLErrors On
+ ns_param ExtendedTableInfo On
+ # ns_param MaxOpen 1000000000 ;# Max time to keep idle db connection open
+ # ns_param MaxIdle 1000000000 ;# Max time to keep active db connection open
+
+ns_section "ns/db/pool/log"
+ ns_param Driver postgres
+ ns_param Connections 5
+ ns_param DataSource localhost::yourdb
+ ns_param User nsadmin
+ ns_param Password "yourpassword"
+ ns_param Verbose Off
+ ns_param LogSQLErrors On
+ ns_param ExtendedTableInfo On
+ # ns_param MaxOpen 1000000000
+ # ns_param MaxIdle 1000000000
+
+ns_section "ns/db/pool/subquery"
+ ns_param Driver postgres
+ ns_param Connections 2
+ ns_param DataSource localhost::yourdb
+ ns_param User nsadmin
+ ns_param Password "yourpassword"
+ ns_param Verbose Off
+ ns_param LogSQLErrors On
+ ns_param ExtendedTableInfo On
+ # ns_param MaxOpen 1000000000
+ # ns_param MaxIdle 1000000000
+
+ns_section "ns/server/${server}/db"
+ ns_param Pools "main,subquery,log"
+ ns_param DefaultPool "main"
+
+#
+# nscp: AOLserver Control Port - very useful for testing and evaluating.
+# Uncomment the sample password below and do a "telnet localhost 9999"
+# log in with "nsadmin", password "x", type "ns_crypt newpassword salt"
+# and paste the new encrypted string below.
+#
+# Sample User="nsadmin", password="x"
+ set nscp_user "nsadmin:t2GqvvaiIUbF2:"
+
+#
+# Control port -- nscp
+# nscp does not load unless nscp_user is a valid user.
+#
+ns_section "ns/server/${server}/module/nscp"
+ ns_param port 9999
+ ns_param address "127.0.0.1" ;# LOCALHOST IS RECOMMENDED
+
+ns_section "ns/server/${server}/module/nscp/users"
+ ns_param user $nscp_user
+
+#
+# Access log -- nslog
+#
+ns_section "ns/server/${server}/module/nslog"
+ ns_param rolllog true ;# Should we roll log?
+ ns_param rollonsignal true ;# Roll log on SIGHUP
+ ns_param rollhour 0 ;# Time to roll log
+ ns_param maxbackup 5 ;# Max number to keep around when rolling
+
+#
+# nsjava - aolserver module that embeds a java virtual machine. Needed to
+# support webmail. See http://nsjava.sourceforge.net for further
+# details.
+#
+
+ns_section "ns/server/acs-pg/module/nsjava"
+ ns_param EnableJava "off" ;# Set to on to enable nsjava.
+ ns_param VerboseJvm "off" ;# Same as command line -debug.
+ ns_param LogLevel "Notice"
+ ns_param DestroyJvm "off" ;# Destroy jvm on shutdown.
+ ns_param DisableJITCompiler "off"
+ ns_param ClassPath "/usr/local/jdk/jdk118_v1/lib/classes.zip:/usr/local/aolserver/bin/nsjava.jar:/home/nsadmin/mirror/acs3-pg/www/webmail/java/activation.jar:/home/nsadmin/mirror/acs3-pg/www/webmail/java/mail.jar:/home/nsadmin/mirror/acs3-pg/www/webmail/java"
+
+#
+# CGI interface -- nscgi, if you have legacy stuff. Tcl or ADP files inside
+# AOLserver are vastly superior to CGIs. You don't actually need the Interps
+# if your script calls the appropriate interpreter itself.
+#
+#ns_section "ns/server/${server}/module/nscgi"
+# ns_param map "GET /cgi-bin /web/$server/cgi-bin"
+# ns_param map "POST /cgi-bin /web/$server/cgi-bin"
+# ns_param Interps CGIinterps
+
+#ns_section "ns/interps/CGIinterps"
+# ns_param .pl "/usr/bin/perl"
+
+#
+# Modules to load
+#
+ns_section "ns/server/${server}/modules"
+ ns_param nssock ${bindir}/nssock.so
+ ns_param nslog ${bindir}/nslog.so
+# ns_param nsperm ${bindir}/nsperm.so
+# ns_param nscgi ${bindir}/nscgi.so
+ ns_param nsjava ${bindir}/libnsjava.so
+
+#
+## nsssl: loads only if requisite files already exist (see top of this
+# file).
+#
+if { [file exists $sslcertfile] && [file exists $sslkeyfile] } {
+ ns_param nsssl ${bindir}/nsssle.so
+} else {
+ ns_log warning "nsd.tcl: nsssl not loaded because key/cert files do not exist."
+}
+
+# nscp: loads only if nscp_user is set (see top of this file).
+if { $nscp_user != "" } {
+ ns_param nscp ${bindir}/nscp.so
+} else {
+ ns_log warning "nsd.tcl: nscp not loaded because user/password is not set."
+}
+
+#
+# To Source OpenACS Config File. You need a "yourservername.tcl" file in the
+# OpenACS parameters dir. e.g.: say your server is "server1" then you'd need a
+# file named /web/server1/parameters/server1.tcl
+# (Hint: Rename ad.tcl to yourservername.tcl and edit it.)
+#
+
+source /web/${server}/parameters/${server}.tcl
+
+ns_log notice "nsd.tcl: finished reading config file."
diff --git a/www/ap-aolserver/patches/patch-aa b/www/ap-aolserver/patches/patch-aa
new file mode 100644
index 00000000000..a9ab9136c30
--- /dev/null
+++ b/www/ap-aolserver/patches/patch-aa
@@ -0,0 +1,40 @@
+$NetBSD: patch-aa,v 1.1.1.1 2001/07/16 17:04:01 cjones Exp $
+
+--- Makefile.in.orig Sat Oct 7 12:44:37 2000
++++ Makefile.in Sun Jul 15 15:09:31 2001
+@@ -25,7 +25,7 @@
+
+ BOOTSTRAP_MAIN_DIR = $(APACHE_BASE)/libexec
+ BOOTSTRAP_OTHER_DIR = $(BOOTSTRAP_MAIN_DIR)/aol_bootstrap
+-TCL_MODULE_DIR = $(APACHE_BASE)/tcl_modules
++TCL_MODULE_DIR = $(APACHE_BASE)/etc/httpd/tcl_modules
+
+ ################################################################
+
+@@ -62,7 +62,7 @@
+
+ TCL_SRCS = \
+ tcl_modules/README tcl_modules/form.tcl \
+- tcl_modules/http.tcl tcl_modules/nsd.ini.sample tcl_modules/nsdb.tcl \
++ tcl_modules/http.tcl tcl_modules/nsdb.tcl \
+ tcl_modules/sendmail.tcl tcl_modules/util.tcl
+
+ MISCFILES = \
+@@ -78,14 +78,14 @@
+
+ BUILD_MODULE = $(APXS) -c $(LIBS)
+
+-INSERT_MODULE = $(APXS) -i -a
++INSERT_MODULE = $(APXS) -i
+
+ ########################################################################
+
+-all: $(MODULE_FILE) install
++all: $(MODULE_FILE)
+
+ $(MODULE_FILE): $(OBJS)
+- $(APXS) -c -o $@ $(OBJS) $(LIBS)
++ $(APXS) -c -o $@ $(OBJS) `echo $(LIBS) | sed 's/-Wl,//'`
+
+ install: install-mod_aolserver install-bootstrap install-tcl
+
diff --git a/www/ap-aolserver/pkg/DESCR b/www/ap-aolserver/pkg/DESCR
new file mode 100644
index 00000000000..52fa979d250
--- /dev/null
+++ b/www/ap-aolserver/pkg/DESCR
@@ -0,0 +1,2 @@
+This is mod_aolserver release 1.1, an Apache module that emulates enough
+of the AOLserver API to run the ArsDigita Community System.
diff --git a/www/ap-aolserver/pkg/MESSAGE b/www/ap-aolserver/pkg/MESSAGE
new file mode 100644
index 00000000000..b2f0031fc46
--- /dev/null
+++ b/www/ap-aolserver/pkg/MESSAGE
@@ -0,0 +1,26 @@
+=============================================================================
+$NetBSD: MESSAGE,v 1.1.1.1 2001/07/16 17:04:01 cjones Exp $
+
+You will need to edit ${PREFIX}/etc/httpd/httpd.conf and add the following
+lines to the Dynamic Shared Object section in order to use this module:
+
+LoadModule aolserver_module lib/httpd/mod_aolserver.so
+AddModule mod_aolserver.c
+
+Also add, in any virtual hosts which will use mod_aolserver:
+
+AolServerConf config_file ${PREFIX}/tcl_modules/nsd.tcl
+AolServerConf log_file_location /var/log/httpd/error_log
+
+And, for your DocumentRoot:
+
+<Directory ${PREFIX}/share/httpd/htdocs>
+ Options Indexes FollowSymLinks MultiViews ExecCGI
+ DirectoryIndex index.tcl index.adp index.shtml index.html index.htm
+ AddHandler adp adp
+ AddHandler aolserver tcl
+</Directory>
+
+Also see the sample config files in
+${PREFIX}/share/examples/mod_aolserver.
+=============================================================================
diff --git a/www/ap-aolserver/pkg/PLIST b/www/ap-aolserver/pkg/PLIST
new file mode 100644
index 00000000000..a49a3c2f6ba
--- /dev/null
+++ b/www/ap-aolserver/pkg/PLIST
@@ -0,0 +1,28 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2001/07/16 17:04:01 cjones Exp $
+libexec/aol_bootstrap.tcl
+libexec/aol_bootstrap/README
+libexec/aol_bootstrap/Init_hooks.tcl
+libexec/aol_bootstrap/Init_slave.tcl
+libexec/aol_bootstrap/apache.tcl
+libexec/aol_bootstrap/config.tcl
+libexec/aol_bootstrap/dbsupport.tcl
+libexec/aol_bootstrap/files.tcl
+libexec/aol_bootstrap/misc.tcl
+libexec/aol_bootstrap/regfilter.tcl
+libexec/aol_bootstrap/regproc.tcl
+libexec/aol_bootstrap/sched.tcl
+libexec/aol_bootstrap/shared_vars.tcl
+libexec/aol_bootstrap/status.tcl
+@dirrm libexec/aol_bootstrap
+etc/httpd/tcl_modules/README
+etc/httpd/tcl_modules/form.tcl
+etc/httpd/tcl_modules/http.tcl
+etc/httpd/tcl_modules/nsdb.tcl
+etc/httpd/tcl_modules/sendmail.tcl
+etc/httpd/tcl_modules/util.tcl
+@dirrm etc/httpd/tcl_modules
+lib/httpd/mod_aolserver.so
+share/examples/mod_aolserver/README
+share/examples/mod_aolserver/nsd.ini.sample
+share/examples/mod_aolserver/nsd.tcl.sample
+@dirrm share/examples/mod_aolserver