diff options
author | cjones <cjones@pkgsrc.org> | 2001-07-16 17:04:01 +0000 |
---|---|---|
committer | cjones <cjones@pkgsrc.org> | 2001-07-16 17:04:01 +0000 |
commit | d85df083b819eeedb481eca59e5f5d831825f65c (patch) | |
tree | fba189d580338c55b62edde188346518bec84c7f /www/ap-aolserver | |
parent | 624810e7256a1692d4f8062cd13551b1f33bd87a (diff) | |
download | pkgsrc-d85df083b819eeedb481eca59e5f5d831825f65c.tar.gz |
Added ap-aolserver, an AOLServer emulation module for apache.
Diffstat (limited to 'www/ap-aolserver')
-rw-r--r-- | www/ap-aolserver/Makefile | 39 | ||||
-rw-r--r-- | www/ap-aolserver/distinfo | 5 | ||||
-rw-r--r-- | www/ap-aolserver/files/README | 8 | ||||
-rw-r--r-- | www/ap-aolserver/files/nsd.tcl.sample | 335 | ||||
-rw-r--r-- | www/ap-aolserver/patches/patch-aa | 40 | ||||
-rw-r--r-- | www/ap-aolserver/pkg/DESCR | 2 | ||||
-rw-r--r-- | www/ap-aolserver/pkg/MESSAGE | 26 | ||||
-rw-r--r-- | www/ap-aolserver/pkg/PLIST | 28 |
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 |