<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns="http://purl.org/rss/1.0/">




    



<channel rdf:about="http://bryanhinton.com/search_rss">
  <title>Bryan Hinton</title>
  <link>http://bryanhinton.com</link>

  <description>
    
            These are the search results for the query, showing results 1 to 12.
        
  </description>

  

  

  <image rdf:resource="http://bryanhinton.com/logo.png"/>

  <items>
    <rdf:Seq>
      
        <rdf:li rdf:resource="http://bryanhinton.com/news/freebsdremotekerneltesting"/>
      
      
        <rdf:li rdf:resource="http://bryanhinton.com/news/ploneapache"/>
      
      
        <rdf:li rdf:resource="http://bryanhinton.com/news/rhelphp"/>
      
      
        <rdf:li rdf:resource="http://bryanhinton.com/news/nsa-operating-system-guides"/>
      
      
        <rdf:li rdf:resource="http://bryanhinton.com/news/verizon-wireless-joins-linux-consortium"/>
      
      
        <rdf:li rdf:resource="http://bryanhinton.com/news/libpq-examples-for-c"/>
      
      
        <rdf:li rdf:resource="http://bryanhinton.com/news/sarbanes-oxley-section-404-it-compliance"/>
      
      
        <rdf:li rdf:resource="http://bryanhinton.com/news/explaining-bsd"/>
      
      
        <rdf:li rdf:resource="http://bryanhinton.com/news/Plone-3-Buildout.cfg"/>
      
      
        <rdf:li rdf:resource="http://bryanhinton.com/news/openacs-5.4-aolserver-4.5-configuration"/>
      
      
        <rdf:li rdf:resource="http://bryanhinton.com/news/restful-web-services"/>
      
      
        <rdf:li rdf:resource="http://bryanhinton.com/news/managing-thousands-of-linux-bsd-solaris-servers"/>
      
    </rdf:Seq>
  </items>

</channel>


  <item rdf:about="http://bryanhinton.com/news/freebsdremotekerneltesting">
    <title>FreeBSD remote kernel testing</title>
    <link>http://bryanhinton.com/news/freebsdremotekerneltesting</link>
    <description>FreeBSD 7 remote kernel testing</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>If your server is located at a remote location and you have just built a custom kernel, then there is a handy feature in FreeBSD that will allow you to test your new kernel without breaking the entire system.</p><p>The commands (including the make command for the kernel) are as follows:</p><pre>
# cd /boot

# cp -R kernel kernel.good

# cd /usr/src
</pre><p>This will install the kernel in /boot/kernel</p><pre>
# make KERNCONF=MYKERNELNAME buildkernel

# cd /boot

# mv kernel kernel.mykernelname

# mkdir kernel

# cp kernel.good/* kernel/

# nextboot -k kernel.mykernelname
</pre><p>&nbsp;</p><p>Upon reboot, the system will load kernel.mykernelname and then erase the part of the configuration that told it to load kernel.mykernelname</p><p>Consequently, subsequent reboots will load the kernel located in /boot/kernel which is the original kernel</p><p>Assuming that kernel.mykernelname loaded successfully, you can run the following commands to make the new kernel permanent:</p><pre>
# mv /boot/kernel /boot/kernel.previous

# mv /boot/kernel.mykernalname /boot/kernel
</pre>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Bryan Hinton</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>UNIX Notes</dc:subject>
    
    
      <dc:subject>FreeBSD</dc:subject>
    
    
      <dc:subject>Computing</dc:subject>
    
    <dc:date>2009-04-04T08:45:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://bryanhinton.com/news/ploneapache">
    <title>Plone and Apache on FreeBSD 7 behind PF</title>
    <link>http://bryanhinton.com/news/ploneapache</link>
    <description>Plone 3.2.1 and Apache 2.2 on FreeBSD 7.2 behind PF</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Several years have passed since I wrote an article on <a href="./resolveuid/6b55af2dc70d4866e07a25ad2709fd31">how to configure IP Filter</a> on OpenBSD 2.8.&nbsp; At the time, PF was not yet integrated into the OpenBSD kernel.&nbsp; OpenBSD 3.0 soon prevailed (2001) and PF was included in the kernel.&nbsp; Soon thereafter (2003), we saw the incorporation of PF into the FreeBSD 5.3 kernel.&nbsp;&nbsp; For those who are unfamiliar, PF is a system for filtering TCP/IP traffic and providing network address translation. However; PF also provides network traffic shaping capabilities - packet prioritization, bandwidth control, and TCP/IP conditioning.&nbsp;&nbsp; My original article from 2000 explained how to setup an IP-less bridge on an OpenBSD 2.8 server running IP Filter&nbsp; with dual network interface cards. The bridge filtered traffic at the data link layer and was invisible at the internet protocol level.&nbsp;&nbsp; As you will see, PF, like IP Filter, is very powerful.&nbsp; While I will not be going into how to configure an IP-less bridge, the PF configuration that follows is straightforward and easily adaptable to your configuration.</p><p>The article below shows the configuration for an Apache 2.2 server sitting in front of a Zope/Plone instance on a FreeBSD 7 server with PF enabled.</p><p><a href="./resolveuid/fcb4cb034c775247f9cda852616a8517"><span id="parent-fieldname-title" class="kssattr-atfieldname-title kssattr-templateId-widgets/string kssattr-macro-string-field-view inlineEditable">Zope/Plone behind Apache 2 on FreeBSD 7 with PF         </span></a></p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Bryan Hinton</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Apache</dc:subject>
    
    
      <dc:subject>Plone</dc:subject>
    
    
      <dc:subject>FreeBSD</dc:subject>
    
    
      <dc:subject>Computing</dc:subject>
    
    <dc:date>2009-04-03T23:00:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://bryanhinton.com/news/rhelphp">
    <title>Building PHP5 on Linux</title>
    <link>http://bryanhinton.com/news/rhelphp</link>
    <description>./configure options for PHP 5.2.6 Build on Linux running 2.6.18-92 Kernel </description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><code># ./configure --disable-static --disable-debug&nbsp; --prefix=/usr/local/apache2/php --with-config-file-scan-dir=/usr/local/apache2/php --enable-libxml&nbsp; --with-libxml-dir=/usr/local/lib&nbsp; --enable-reflection --enable-spl --enable-zend-multibyte --with-regex=system&nbsp; --with-tidy&nbsp; --enable-zip --enable-bcmath --with-bz2=shared --enable-calendar --with-curl=shared --enable-dba --enable-exif --enable-ftp --with-gd --enable-gd-native-ttf --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-gettext=shared&nbsp; --with-gmp=shared --with-imap-ssl --with-imap --enable-mbstring --with-mcrypt=shared --with-mhash=shared --with-mysql --with-mysqli --with-openssl-dir --with-pdo-mysql --enable-sockets --with-xsl --with-zlib --with-apxs2=/usr/local/apache2/bin/apxs --disable-cgi --enable-pcntl --enable-soap --enable-dbase --enable-sysvmsg --enable-sysvsem --enable-sysvshm&nbsp;&nbsp; --with-zlib&nbsp; --with-gdbm&nbsp; --with-curl --enable-soap --with-kerberos</code></p><p>&nbsp;</p><p><code># make &amp;&amp; make install</code></p><p><code># chown -R apache.web /usr/local/apache2/</code></p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Bryan Hinton</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Computing</dc:subject>
    
    <dc:date>2008-12-30T00:18:56Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://bryanhinton.com/news/nsa-operating-system-guides">
    <title>NSA Operating System Guides</title>
    <link>http://bryanhinton.com/news/nsa-operating-system-guides</link>
    <description>NSA guides on hardening your server operating system - Red Hat Enterprise Linux 5, Solaris 10, etc...</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>I recently deployed a Red Hat Enterprise 5 Linux server at Peer1.&nbsp;&nbsp; I typically follow a methodology for locking down an operating system.&nbsp; Upon booting the os install disk, I ensure that only the minimal set of services, kernel modules, and userland applications are installed. After installation was complete, I quickly logged in via SSH and began stripping down the OS.&nbsp; Following my usual methodology, I began tuning kernel parameters, nuking un-needed services, and fixing permissions.&nbsp; I then stumbled upon the National Security Agency's guide to securing operating systems.&nbsp; So I gave it a shot. The document is approximately 170 pages long.&nbsp; But if you are familiar with userland and kernel space, it only takes a few hours.&nbsp; The people who took the time to assemble this document did a great job.&nbsp; I only wish they mentioned Qmail in the MTA section...</p><p><a target="_blank" href="http://www.nsa.gov/snac/downloads_os.cfm?MenuID=scg10.3.1.1">www.nsa.gov/snac/downloads_os.cfm</a></p><p>&nbsp;</p><p>For those who are curious, here is the NSA's take on their guides:</p><p><em>NSA initiatives in enhancing software security cover both proprietary and open source software, and we have successfully used both proprietary and open source models in our research activities. NSA&rsquo;s work to enhance the security of software is motivated by one simple consideration: use our resources as efficiently as possible to give NSA&rsquo;s customers the best possible security options in the most widely employed products. The objective of the NSA research program is to develop technologic advances that can be shared with the software development community through a variety of transfer mechanisms. NSA does not favor or promote any specific software product or business model. Rather, NSA is promoting enhanced security.</em></p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>zadmin</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Security</dc:subject>
    
    
      <dc:subject>OS Hardening</dc:subject>
    
    
      <dc:subject>Computing</dc:subject>
    
    <dc:date>2008-08-15T04:40:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://bryanhinton.com/news/verizon-wireless-joins-linux-consortium">
    <title>Verizon Wireless Joins Linux Consortium</title>
    <link>http://bryanhinton.com/news/verizon-wireless-joins-linux-consortium</link>
    <description>Verizon Wireless begins development of a Linux based mobile operating system
and AT&amp;T backs Android, Google's Linux based mobile operating system.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p style="text-align: justify;">Verizon Wireless is beginning the transition to a completely new, mobile operating system, LiMo.&nbsp; LiMo is based on Linux.&nbsp; Google is also developing Android, a similar Linux based mobile operating system and AT&amp;T is backing Android.&nbsp; Android and LiMo will ultimately compete and all of the future cell phones will run on these operating systems. The new platform will ultimately mean that phones which are available for sale at Verizon stores, will run on the LiMo operating system.&nbsp;</p> <p style="text-align: justify;">Similarly, AT&amp;T stores will sell phones which are based on Android.&nbsp; This is an exciting event.&nbsp; For the first time, much of America will save money on replacing cell phones because of software malfunction.&nbsp;&nbsp; The Linux kernel was designed with preemptive multitasking since day one. Job control and process scheduling within the Linux kernel have been extensively worked on for several decades. Linux memory management is very efficient.&nbsp; Linux has solid, reliable, and efficient user-space and kernel-space thread implementations.&nbsp; Interestingly enough, Palm has announced that it will be moving to a Linux based operating system.&nbsp;</p> <p style="text-align: justify;">Windows was initially created as a cooperative multitasking, operating system. Microsoft finally realized that they needed to be using preemptive multitasking.&nbsp; When they realized this, SYSV and BSD development communities already had years of experience programming preemptive multitasking kernels.&nbsp; Consequently, Microsoft modified their kernel code to use preemptive multitasking.&nbsp;</p> <p style="text-align: justify;">The move to Linux based mobile operating systems could ultimately save quite a bit of money for consumers.</p> <p>&nbsp;</p> <p>&nbsp;</p> <p><a href="http://uk.reuters.com/article/technologyNews/idUKWNAS409920080515" class="external-link">http://uk.reuters.com/article/technologyNews/idUKWNAS409920080515</a></p> <p>&nbsp;</p> <p><a href="http://uk.reuters.com/article/technologyNews/idUKWNAS409920080515" class="external-link">http://www.informit.com/articles/article.aspx?p=101760<br /></a></p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>zadmin</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Computing</dc:subject>
    
    <dc:date>2008-05-15T05:00:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://bryanhinton.com/news/libpq-examples-for-c">
    <title>libpq Examples for C++</title>
    <link>http://bryanhinton.com/news/libpq-examples-for-c</link>
    <description>PGresult *res = PQexec(conn, "BEGIN"); /* begin transaction */
if (PQresultStatus(res) != PGRES_COMMAND_OK) {
   fprintf(stderr, "BEGIN command failed: %s", PQerrorMessage(conn));
   PQclear(res); exit_nicely(conn);
} PQclear(res); res = PQexec(conn, insertstmt);
...</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p>const char *conninfo;<br />PGconn *conn;<br /><br />conninfo = "dbname = dbname user=uname";<br />conn = PQconnectdb(conninfo);<br />if (PQstatus(conn) != CONNECTION_OK) {<br />&nbsp;&nbsp;&nbsp; fprintf(stderr, "Connection to database failed: %s",<br />&nbsp;&nbsp;&nbsp; PQerrorMessage(conn));<br />&nbsp;&nbsp;&nbsp; exit_nicely(conn);<br />}</p>
<p>PGresult *res;<br />res = PQexec(conn, somequery); /* execute query */<br />
if (PQresultStatus(res) != PGRES_TUPLES_OK) {<br />
&nbsp;&nbsp; fprintf(stderr, "Query failed: %s", PQerrorMessage(conn));<br />
&nbsp;&nbsp; PQclear(res);<br />
&nbsp;&nbsp; exit_nicely(conn);<br />
}<br />
<br />
if (j = PQntuples(res)) { /* process query */<br />
&nbsp;&nbsp; for (int i = 0; i &lt; j; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; someint = atoi(PQgetvalue(res, i, 0));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; anotherint = atof(PQgetvalue(res, i, 1));<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; PQclear(res);<br />
}<br /></p>
<p>res = PQexec(conn, "BEGIN"); /* begin transaction */<br />if (PQresultStatus(res) != PGRES_COMMAND_OK) {<br />&nbsp;&nbsp; fprintf(stderr, "BEGIN command failed: %s", PQerrorMessage(conn));<br />&nbsp;&nbsp; PQclear(res);<br />&nbsp;&nbsp; exit_nicely(conn);<br />}<br />PQclear(res);</p>
<p>res = PQexec(conn, insertstmt);</p>
<p>if (PQresultStatus(res) != PGRES_COMMAND_OK) { /* insert */</p>
<p>&nbsp;&nbsp; fprintf(stderr, "INSERT command failed: %s", PQerrorMessage(conn));</p>
<p>&nbsp;&nbsp; PQclear(res);</p>
<p>&nbsp;&nbsp; exit_nicely(conn);</p>
<p>}</p>
<p>PQclear(res);</p>
<p>&nbsp;</p>
<p>res = PQexec(conn, "END"); /* end transaction */</p>
<p>PQclear(res);</p>
<p>PQfinish(conn);</p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>zadmin</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Computing</dc:subject>
    
    <dc:date>2008-04-18T16:18:41Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://bryanhinton.com/news/sarbanes-oxley-section-404-it-compliance">
    <title>Sarbanes-Oxley Section 404 IT Compliance</title>
    <link>http://bryanhinton.com/news/sarbanes-oxley-section-404-it-compliance</link>
    <description>Risk Management Solutions for Sarbanes-Oxley 404 IT Compliance, by John S. Quarterman</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p>John S. Quarterman, has made significant contributions to software and technology over the past 40 years.&nbsp; He originally worked on ARPANET while attending Harvard in 1974. He co-authored one of the most influential computer science theory texts ever written - The Design and Implementation of the 4.4 BSD Operating System. This book helped shape the design of the TCP/IP protocol suite. He also helped start UUNET - the first internet service provider. His contributions are vast.</p>
<p>His latest book,&nbsp;<a href="http://www.quarterman.com/book/risk/">
Risk Management Solutions for Sarbanes-Oxley Section 404 IT Compliance,</a> is a required read for all professionals working in regulated environments.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>zadmin</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Computing</dc:subject>
    
    <dc:date>2008-02-28T02:20:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://bryanhinton.com/news/explaining-bsd">
    <title>Explaining BSD</title>
    <link>http://bryanhinton.com/news/explaining-bsd</link>
    <description>In the open source world, the word “Linux” is almost synonymous with “Operating System”, but it is not the only open source UNIX® operating system.
BSD stands for “Berkeley Software Distribution”. It is the name of distributions of source code from the University of California, Berkeley, which were originally extensions to AT&amp;T's Research UNIX operating system. </description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://bryanhinton.com/docs/freebsd/articles/explaining-bsd" class="internal-link" title="Explaining BSD">Explaining BSD</a></p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>zadmin</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Computing</dc:subject>
    
    <dc:date>2008-02-28T01:00:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://bryanhinton.com/news/Plone-3-Buildout.cfg">
    <title>Plone 3 zc.buildout</title>
    <link>http://bryanhinton.com/news/Plone-3-Buildout.cfg</link>
    <description>Using zc.buildout to setup a Plone3/Zope2 Development Environment</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p>&nbsp;</p>
How to install Zope2 and Plone3 using setuptools, zc.buildout, and paster.&nbsp;
The following assumes that you have Python2.4.x installed.
<div class="method-source-code">
<pre>$ echo $LD_LIBRARY_PATH; echo $PATH; echo $PYTHONPATH

/usr/local/pgsql/lib:/home/bhinton/python2.4/lib:/usr/local/lib:/usr/lib
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/bhinton/bin:/home/bhinton/lib/python2.4
/home/bhinton/lib/python2.4

$ wget http://peak.telecommunity.com/dist/ez_setup.py

$ python ez_setup.py --install-dir=/home/bhinton/lib/python2.4/

$ easy_install ZopeSkel --install-dir=/home/bhinton/lib/python2.4/

$ paster create -t plone3_buildout mysite.com

$ Selected and implied templates:
&nbsp; ZopeSkel#plone3_buildout&nbsp; A buildout for Plone 3 projects
&nbsp; Variables:
&nbsp;&nbsp;&nbsp; egg:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; avidcode.com
&nbsp;&nbsp;&nbsp; package:&nbsp; avidcodecom
&nbsp;&nbsp;&nbsp; project:&nbsp; avidcode.com
&nbsp; Enter zope2_install (Path to Zope 2 installation; leave blank to fetch one) ['']: BLANK
&nbsp; Enter plone_products_install (Path to directory containing Plone products; leave blank to fetch one) ['']: BLANK
&nbsp; Enter zope_user (Zope root admin user) ['admin']: YOURUSERNAME
&nbsp; Enter zope_password (Zope root admin password) ['']: YOURPASSWORD
&nbsp; Enter http_port (HTTP port) [8080]: HIGH NUMBERED PORT - i.e. 8090
&nbsp; Enter debug_mode (Should debug mode be "on" or "off"?) ['off']: LEAVE OFF FOR PRODUCTION
&nbsp; Enter verbose_security (Should verbose security be "on" or "off"?) ['off']: LEAVE OFF FOR PRODUCTION
&nbsp; Creating template plone3_buildout
&nbsp; Creating directory ./avidcode.com
&nbsp; Copying README.txt to ./avidcode.com/README.txt
&nbsp; Copying bootstrap.py to ./avidcode.com/bootstrap.py
&nbsp; Copying buildout.cfg_tmpl to ./avidcode.com/buildout.cfg
&nbsp; Recursing into products
&nbsp;&nbsp;&nbsp; Creating ./avidcode.com/products/
&nbsp;&nbsp;&nbsp; Copying README.txt to ./avidcode.com/products/README.txt
&nbsp; Recursing into src
&nbsp;&nbsp;&nbsp; Creating ./avidcode.com/src/
&nbsp;&nbsp;&nbsp; Copying README.txt to ./avidcode.com/src/README.txt
&nbsp; Recursing into var
&nbsp;&nbsp;&nbsp; Creating ./avidcode.com/var/
&nbsp;&nbsp;&nbsp; Copying README.txt to ./avidcode.com/var/README.txt



<p>-----------------------------------------------------------</p>



Generation finished
You probably want to run python bootstrap.py and then edit
buildout.cfg before running bin/buildout -v
&nbsp;
See README.txt for details



<p>-----------------------------------------------------------</p>




$ cd avidcode.com

$ python bootstrap.py
</pre>
</div>
You must now configure buildout.cfg appropriately.
<div class="visualClear">The following two configurations depict the following
<p>&nbsp;</p>
<div class="visualClear">A: Single Instance of Zope with CacheFU, DocFinder, CacheFu, and Feedmixer
<div class="visualClear">&nbsp;&nbsp;&nbsp; installed.<br /><br /></div>
<p>&nbsp;&nbsp;&nbsp; <a href="http://bryanhinton.com/docs/custom/buildout.cfg" class="internal-link" title="buildout.cfg">buildout.cfg</a></p>
<p>&nbsp;</p>
<div class="visualClear">B. Multiple ZEO Clients and a Single ZEO Server with CacheFu, Varnish,&nbsp; DocFinder, and Clouseau installed. The ZEO &nbsp;&nbsp;&nbsp;&nbsp;Server is responsible for managing the connection to the ZODB.</div>
<div class="visualClear">&nbsp;&nbsp;&nbsp;</div>
<div class="visualClear">&nbsp;&nbsp;&nbsp; <a href="http://bryanhinton.com/docs/custom/copy_of_buildout.cfg" class="internal-link" title="buildout.cfg (dev client)">buildout.cfg</a></div>
<div class="visualClear">&nbsp;&nbsp;&nbsp; <a href="http://bryanhinton.com/docs/custom/copy2_of_buildout.cfg" class="internal-link" title="deployment.cfg (production client)">deployment.cfg</a></div>
<div class="visualClear">&nbsp;&nbsp;&nbsp; <a href="http://bryanhinton.com/docs/custom/plone.vcl" class="internal-link" title="plone.vcl">plone.vcl</a></div>
<p>&nbsp;</p>
<p>Apache Rewrite Rules for Example B:</p>
<div class="visualClear">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RewriteEngine On</div>
<div class="visualClear">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RewriteRule ^/login_(.*) https://%{SERVER_NAME}/login_$1 [NE,L]</div>
<div class="visualClear">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RewriteRule ^/(.*)&nbsp;&nbsp;&nbsp;&nbsp;</div>
<div class="visualClear">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://localhost:8092/VirtualHostBase/http/%{SERVER_NAME}:80/content/VirtualHostRoot/$1 [P]</div>
</div>
</div>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>zadmin</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Computing</dc:subject>
    
    <dc:date>2008-02-26T01:15:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://bryanhinton.com/news/openacs-5.4-aolserver-4.5-configuration">
    <title>OpenACS 5.4 | AOLServer 4.5 Configuration</title>
    <link>http://bryanhinton.com/news/openacs-5.4-aolserver-4.5-configuration</link>
    <description>Configuration for an AOLServer 4.5 Configuration running behind an OpenACS 5.4 instance</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p>I decided to post my OpenACS 5.4 / AOLServer 4.5 nsd.tcl
configuration file. Hopefully this will be useful to many folks who
have struggled getting the proper configuration directives in nsd.tcl</p>
<p>UPPERCASE characters enclosed within double quotation marks should be replaced by server specific configuration parameters.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<pre>
<p>######################################################################</p>
<p># BEGIN FILE nsd.tcl</p>
<p>######################################################################</p>
<p>&nbsp;</p>
<p>ns_log notice "nsd.tcl: starting to read config file..."</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Instance-specific settings</p>
<p># These default settings will only work in limited circumstances</p>
<p># Two servers with default settings cannot run on the same host</p>
<p>#</p>
<p>######################################################################</p>
<p>&nbsp;</p>
<p>set httpport&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80</p>
<p>set httpsport&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 443</p>
<p>set hostname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "HOSTNAME.MYDOMAIN.COM"</p>
<p>set address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MYIPADDRESS</p>
<p>set server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "SERVERFRIENDLYNAME"</p>
<p>set servername&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "SERVERFRIENDLYNAME"</p>
<p>set serverroot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /web/${server}</p>
<p>set sslkeyfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /web/${server}/etc/certs/keyfile.pem</p>
<p>set sslcertfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /web/${server}/etc/certs/certfile.pem</p>
<p>set database&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; postgres</p>
<p>set db_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $server</p>
<p>&nbsp;</p>
<p>if { $database == "oracle" } {</p>
<p>&nbsp;&nbsp;&nbsp; set db_password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "mysitepassword"</p>
<p>} else {</p>
<p>&nbsp;&nbsp;&nbsp; set db_host&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; localhost</p>
<p>&nbsp;&nbsp;&nbsp; set db_port&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ""</p>
<p>&nbsp;&nbsp;&nbsp; set db_user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nsadmin</p>
<p>}</p>
<p>&nbsp;</p>
<p>set debug false</p>
<p>set homedir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /usr/local/aolserver</p>
<p>set bindir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [file dirname [ns_info nsd]]</p>
<p>set max_file_upload_mb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20</p>
<p>set max_file_upload_min&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Modules</p>
<p># which modules should be loaded?&nbsp; Missing modules break the server, so</p>
<p># don't uncomment modules unless they have been installed.</p>
<p>#</p>
<p>######################################################################</p>
<p>&nbsp;</p>
<p>ns_section ns/server/${server}/modules</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; nssock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${bindir}/nssock.so</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; nslog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${bindir}/nslog.so</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; nssha1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${bindir}/nssha1.so</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; nscache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${bindir}/nscache.so</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; nsrewrite&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${bindir}/nsrewrite.so</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; #---------------------------------------------------------------------</p>
<p>&nbsp;&nbsp;&nbsp; # nsopenssl will fail unless the cert files are present as specified</p>
<p>&nbsp;&nbsp;&nbsp; # later in this file, so it's disabled by default</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; nsopenssl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${bindir}/nsopenssl.so</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; nsdb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${bindir}/nsdb.so</p>
<p>&nbsp;&nbsp;&nbsp; if {[file exists ${homedir}/lib/thread2.6.4/libthread2.6.4[info sharedlibextension]]} {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param libthread ${homedir}/lib/thread2.6.4/libthread2.6.4[info sharedlibextension]</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set max_input [expr {$max_file_upload_mb * 1024 * 1024}] ;# Maximum File Size for uploads in bytes</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_limits set default -maxupload&nbsp; $max_input</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Rollout email support</p>
<p>#</p>
<p># These procs help manage differing email behavior on</p>
<p># dev/staging/production.</p>
<p>#</p>
<p>######################################################################</p>
<p>&nbsp;</p>
<p>ns_section ns/server/${server}/acs/acs-rollout-support</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; # EmailDeliveryMode can be:</p>
<p>&nbsp;&nbsp;&nbsp; #&nbsp;&nbsp; default:&nbsp; Email messages are sent in the usual manner.</p>
<p>&nbsp;&nbsp;&nbsp; #&nbsp;&nbsp; log:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Email messages are written to the server's error log.</p>
<p>&nbsp;&nbsp;&nbsp; #&nbsp;&nbsp; redirect: Email messages are redirected to the addresses specified</p>
<p>&nbsp;&nbsp;&nbsp; #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; by the EmailRedirectTo parameter.&nbsp; If this list is absent</p>
<p>&nbsp;&nbsp;&nbsp; #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; or empty, email messages are written to the server's error log.</p>
<p>&nbsp;&nbsp;&nbsp; #&nbsp;&nbsp; filter:&nbsp;&nbsp; Email messages are sent to in the usual manner if the</p>
<p>&nbsp;&nbsp;&nbsp; #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; recipient appears in the EmailAllow parameter, otherwise they</p>
<p>&nbsp;&nbsp;&nbsp; #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; are logged.</p>
<p>&nbsp;&nbsp;&nbsp; #--------------------------------------------------------------------</p>
<p>&nbsp;&nbsp;&nbsp; #</p>
<p>&nbsp;&nbsp;&nbsp; # End of instance-specific settings</p>
<p>&nbsp;&nbsp;&nbsp; #</p>
<p>&nbsp;&nbsp;&nbsp; # Nothing below this point need be changed in a default install.</p>
<p>&nbsp;&nbsp;&nbsp; #</p>
<p>&nbsp;&nbsp;&nbsp; #--------------------------------------------------------------------</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; #---------------------------------------------------------------------</p>
<p>&nbsp;&nbsp;&nbsp; #</p>
<p>&nbsp;&nbsp;&nbsp; # AOLserver's directories. Autoconfigurable.</p>
<p>&nbsp;&nbsp;&nbsp; #</p>
<p>&nbsp;&nbsp;&nbsp; #---------------------------------------------------------------------</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; #---------------------------------------------------------------------</p>
<p>&nbsp;&nbsp;&nbsp; # Where are your pages going to live ?</p>
<p>&nbsp;&nbsp;&nbsp; #</p>
<p>&nbsp;&nbsp;&nbsp; set pageroot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${serverroot}/www</p>
<p>&nbsp;&nbsp;&nbsp; set directoryfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; index.tcl,index.adp,index.html,index.htm</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Global server parameters</p>
<p>#</p>
<p>######################################################################</p>
<p>&nbsp;</p>
<p>ns_section ns/parameters</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; serverlog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${serverroot}/log/error.log</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; home&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $homedir</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxkeepalive&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; logroll&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxbackup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $debug</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; HackContentType&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; &nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; DefaultCharset&nbsp;&nbsp;&nbsp;&nbsp; utf-8</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; HttpOpenCharset&nbsp;&nbsp;&nbsp; utf-8</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; OutputCharset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; utf-8</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; URLCharset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; utf-8</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p>#&nbsp; MIME types.</p>
<p>#&nbsp; Note: AOLserver already has an exhaustive list of MIME types, but in</p>
<p>#&nbsp; case something is missing you can add it here.</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section ns/mimetypes</p>
<p>&nbsp;&nbsp;&nbsp; # See also "http://dqd.com/~mayoff/encoding-doc.html" for advice on</p>
<p>&nbsp;&nbsp;&nbsp; # character sets and MIME types in AOLserver.</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; Default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */*</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; NoExtension&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */*</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; .pcd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; image/x-photo-cd</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; .prc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; application/x-pilot</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; .xls&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; application/vnd.ms-excel</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; .doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; application/vnd.ms-word</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Thread library (nsthread) parameters</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section ns/threads</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; mutexmeter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;# measure lock contention</p>
<p>&nbsp;&nbsp;&nbsp; # The per-thread stack size must be a multiple of 8k for AOLServer to run under MacOS X</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; stacksize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [expr 128 * 8192]</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Tcl Configuration</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section ns/server/${server}/tcl</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; library&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${serverroot}/tcl</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; autoclose&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $debug</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Server-level configuration</p>
<p>#</p>
<p>#&nbsp; There is only one server in AOLserver, but this is helpful when multiple</p>
<p>#&nbsp; servers share the same configuration file.&nbsp; This file assumes that only</p>
<p>#&nbsp; one server is in use so it is set at the top in the "server" Tcl variable</p>
<p>#&nbsp; Other host-specific values are set up above as Tcl variables, too.</p>
<p>#</p>
<p>######################################################################</p>
<p>&nbsp;</p>
<p>ns_section ns/servers</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; $server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $servername</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Server parameters</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section ns/server/${server}</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; directoryfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $directoryfile</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; pageroot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $pageroot</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxconnections&nbsp;&nbsp;&nbsp;&nbsp; 100</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxdropped&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxthreads&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 50</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; minthreads&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; threadtimeout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 120</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; globalstats&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false&nbsp;&nbsp;&nbsp; ;# Enable built-in statistics</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; urlstats&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false&nbsp;&nbsp;&nbsp; ;# Enable URL statistics</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxurlstats&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1000&nbsp;&nbsp;&nbsp;&nbsp; ;# Max number of URL's to do stats on</p>
<p>&nbsp;&nbsp;&nbsp; #ns_param&nbsp;&nbsp; directoryadp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $pageroot/dirlist.adp ;# Choose one or the other</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; directoryproc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _ns_dirlist&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;#&nbsp; ...but not both!</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; directorylisting&nbsp;&nbsp; fancy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;# Can be simple or fancy</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; #</p>
<p>&nbsp;&nbsp;&nbsp; # Special HTTP pages</p>
<p>&nbsp;&nbsp;&nbsp; #</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; NotFoundResponse&nbsp;&nbsp; "/global/file-not-found.html"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; ServerBusyResponse "/global/busy.html"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; ServerInternalErrorResponse "/global/error.html"</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># ADP (AOLserver Dynamic Page) configuration</p>
<p>#</p>
<p>######################################################################</p>
<p>&nbsp;</p>
<p>ns_section ns/server/${server}/adp</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; map&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*.adp&nbsp;&nbsp;&nbsp; ;# Extensions to parse as ADP's</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; enableexpire&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false&nbsp;&nbsp;&nbsp;&nbsp; ;# Set "Expires: now" on all ADP's</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; enabledebug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $debug&nbsp;&nbsp;&nbsp; ;# Allow Tclpro debugging with "?debug"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; defaultparser&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fancy</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># ADP Parsers</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section ns/server/${server}/adp/parsers</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; fancy&nbsp;&nbsp;&nbsp; ".adp"</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Socket driver module (HTTP)&nbsp; -- nssock</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section ns/server/${server}/module/nssock</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; timeout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 120</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $address</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; hostname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $hostname</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; port&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $httpport</p>
<p>&nbsp;&nbsp;&nbsp; #ns_param&nbsp;&nbsp; maxinput [expr 1024 * 1024 * 100]</p>
<p>&nbsp;&nbsp;&nbsp; # setting maxinput higher than practical may leave the server vulnerable to resource DoS attacks</p>
<p>&nbsp;&nbsp;&nbsp; # see http://www.panoptic.com/wiki/aolserver/166</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxinput&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [expr {$max_file_upload_mb * 1024 * 1024}] ;# Maximum File Size for uploads in bytes</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxpost&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [expr {$max_file_upload_mb * 1024 * 1024}] ;# Maximum File Size for uploads in bytes</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; recvwait&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [expr {$max_file_upload_min * 60}] ;# Maximum request time in minutes</p>
<p>&nbsp;&nbsp;&nbsp; # maxsock will limit the number of simultanously returned pages,</p>
<p>&nbsp;&nbsp;&nbsp; # regardless of what maxthreads is saying</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxsock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 100 ;# 100 = default</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; # On Windows you need to set this parameter to define the number of</p>
<p>&nbsp;&nbsp;&nbsp; # connections as well (it seems).</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; backlog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp; ;# if &lt; 1 == 5</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; # Optional params with defaults:</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; bufsize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16000</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; rcvbuf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; sndbuf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; socktimeout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30 ;# if &lt; 1 == 30</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; sendwait&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30 ;# if &lt; 1 == socktimeout</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; recvwait&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30 ;# if &lt; 1 == socktimeout</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; closewait&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp; ;# if &lt; 0 == 2</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; keepwait&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30 ;# if &lt; 0 == 30</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; readtimeoutlogging&nbsp;&nbsp;&nbsp; false</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; serverrejectlogging&nbsp;&nbsp; false</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; sockerrorlogging&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; sockshuterrorlogging&nbsp; false</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># OpenSSL</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section "ns/server/${server}/module/nsopenssl"</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; # NSD-driven connections:</p>
<p>&nbsp;&nbsp;&nbsp; ns_param ServerPort&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $httpsport</p>
<p>&nbsp;&nbsp;&nbsp; ns_param ServerHostname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $hostname</p>
<p>&nbsp;&nbsp;&nbsp; ns_param ServerAddress&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $address</p>
<p>&nbsp;&nbsp;&nbsp; ns_param ServerCertFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sslcertfile</p>
<p>&nbsp;&nbsp;&nbsp; ns_param ServerKeyFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sslkeyfile</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxinput&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [expr {$max_file_upload_mb * 1024 * 1024}] ;# Maximum File Size for uploads in bytes</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># SSL Contexts</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section "ns/server/${server}/module/nsopenssl/sslcontexts"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param users&nbsp;&nbsp; "SSL context used for regular user access to the website"</p>
<p>&nbsp;&nbsp;&nbsp; #ns_param ssl_outgoing_context&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "SSL context used for outgoing script socket connections"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param client&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "SSL context used for testing"</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># SSL Defaults</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section "ns/server/${server}/module/nsopenssl/defaults"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; users</p>
<p>&nbsp;&nbsp;&nbsp; ns_param client&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; client</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># SSL Users</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section "ns/server/${server}/module/nsopenssl/sslcontext/users"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param Role&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; server</p>
<p>&nbsp;&nbsp;&nbsp; ns_param ModuleDir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${serverroot}/etc/certs</p>
<p>&nbsp;&nbsp;&nbsp; ns_param CertFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sslcertfile</p>
<p>&nbsp;&nbsp;&nbsp; ns_param KeyFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sslkeyfile</p>
<p>&nbsp;&nbsp;&nbsp; #ns_param CADir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ca-client/dir</p>
<p>&nbsp;&nbsp;&nbsp; #ns_param CAFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ca-client/ca-client.crt</p>
<p>&nbsp;&nbsp;&nbsp; ns_param Protocols&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "SSLv2, SSLv3, TLSv1"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param CipherSuite&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param PeerVerify&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false</p>
<p>&nbsp;&nbsp;&nbsp; ns_param PeerVerifyDepth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3</p>
<p>&nbsp;&nbsp;&nbsp; ns_param Trace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false</p>
<p>&nbsp;&nbsp;&nbsp; ns_param SessionCache true</p>
<p>&nbsp;&nbsp;&nbsp; ns_param SessionCacheID 1</p>
<p>&nbsp;&nbsp;&nbsp; ns_param SessionCacheSize 512</p>
<p>&nbsp;&nbsp;&nbsp; ns_param SessionCacheTimeout 300</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># SSL Client</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section "ns/server/${server}/module/nsopenssl/sslcontext/client"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param Role&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; client</p>
<p>&nbsp;&nbsp;&nbsp; ns_param ModuleDir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${serverroot}/etc/certs</p>
<p>&nbsp;&nbsp;&nbsp; ns_param CertFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; certfile.pem</p>
<p>&nbsp;&nbsp;&nbsp; ns_param KeyFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; keyfile.pem</p>
<p>&nbsp;&nbsp;&nbsp; #ns_param CADir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ca-client/dir</p>
<p>&nbsp;&nbsp;&nbsp; #ns_param CAFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ca-client/ca-client.crt</p>
<p>&nbsp;&nbsp;&nbsp; ns_param Protocols&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "SSLv2, SSLv3, TLSv1"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param CipherSuite&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param PeerVerify&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false</p>
<p>&nbsp;&nbsp;&nbsp; ns_param PeerVerifyDepth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3</p>
<p>&nbsp;&nbsp;&nbsp; ns_param Trace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false</p>
<p>&nbsp;&nbsp;&nbsp; ns_param SessionCache true</p>
<p>&nbsp;&nbsp;&nbsp; ns_param SessionCacheID 1</p>
<p>&nbsp;&nbsp;&nbsp; ns_param SessionCacheSize 512</p>
<p>&nbsp;&nbsp;&nbsp; ns_param SessionCacheTimeout 300</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># SSL drivers</p>
<p># Each driver defines a port and a named SSL context to associate with it.</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section "ns/server/${server}/module/nsopenssl/ssldrivers"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param users&nbsp;&nbsp;&nbsp; "Driver for regular user access to the website"</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># SSL users</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section "ns/server/${server}/module/nsopenssl/ssldriver/users"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param sslcontext&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; users</p>
<p>&nbsp;&nbsp;&nbsp; ns_param port&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $httpsport</p>
<p>&nbsp;&nbsp;&nbsp; ns_param hostname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $hostname</p>
<p>&nbsp;&nbsp;&nbsp; ns_param address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $address</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxinput&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [expr {$max_file_upload_mb * 1024 * 1024}] ;# in bytes</p>
<p>&nbsp;&nbsp;&nbsp; # Maximum request time</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; recvwait&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [expr {$max_file_upload_min * 60}] ;# in minutes</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Database drivers</p>
<p># The database driver is specified here.</p>
<p># Make sure you have the driver compiled and put it in {aolserverdir}/bin</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section "ns/db/drivers"</p>
<p>&nbsp;&nbsp;&nbsp; if { $database == "oracle" } {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; ora8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${bindir}/ora8.so</p>
<p>&nbsp;&nbsp;&nbsp; } else {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; postgres&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${bindir}/nspostgres.so&nbsp; ;# Load PostgreSQL driver</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Database Pools</p>
<p># This is how AOLserver&nbsp; ``talks'' to the RDBMS. You need</p>
<p># three for OpenACS: main, log, subquery. Make sure to replace ``yourdb''</p>
<p># and ``yourpassword'' with the actual values for your db name and the</p>
<p># password for it, if needed. &nbsp;</p>
<p>#</p>
<p># AOLserver can have different pools connecting to different databases</p>
<p># and even different different database servers.</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section ns/db/pools</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; pool1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Pool 1"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; pool2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Pool 2"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; pool3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Pool 3"</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Pool1</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section ns/db/pool/pool1</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxidle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxopen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; connections&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; verbose&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $debug</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; extendedtableinfo&nbsp; true</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; logsqlerrors&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $debug</p>
<p>&nbsp;&nbsp;&nbsp; if { $database == "oracle" } {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; driver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ora8</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; datasource&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db_name</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db_password</p>
<p>&nbsp;&nbsp;&nbsp; } else {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; driver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; postgres</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; datasource&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${db_host}:${db_port}:${db_name}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db_user</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ""</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Pool2</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section ns/db/pool/pool2</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxidle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxopen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; connections&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; verbose&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $debug</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; extendedtableinfo&nbsp; true</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; logsqlerrors&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $debug</p>
<p>&nbsp;&nbsp;&nbsp; if { $database == "oracle" } {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; driver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ora8</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; datasource&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db_name</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db_password</p>
<p>&nbsp;&nbsp;&nbsp; } else {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; driver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; postgres</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; datasource&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${db_host}:${db_port}:${db_name}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db_user</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ""</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Pool3</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section ns/db/pool/pool3</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxidle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxopen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; connections&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; verbose&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $debug</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; extendedtableinfo&nbsp; true</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; logsqlerrors&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $debug</p>
<p>&nbsp;&nbsp;&nbsp; if { $database == "oracle" } {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; driver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ora8</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; datasource&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db_name</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db_password</p>
<p>&nbsp;&nbsp;&nbsp; } else {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; driver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; postgres</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; datasource&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${db_host}:${db_port}:${db_name}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db_user</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ""</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Pool Configuration</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section ns/server/${server}/db</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; pools&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "*"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; defaultpool&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool1</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Redirects</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section ns/server/${server}/redirects</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; 404&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "global/file-not-found.html"</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; 403&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "global/forbidden.html"</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># Access log -- nslog</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section ns/server/${server}/module/nslog</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; dev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; enablehostnamelookup false</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; file&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${serverroot}/log/${server}.log</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; logcombined&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; extendedheaders&nbsp;&nbsp;&nbsp; COOKIE,user_id,session_id</p>
<p>&nbsp;&nbsp;&nbsp; #ns_param&nbsp;&nbsp; logrefer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false</p>
<p>&nbsp;&nbsp;&nbsp; #ns_param&nbsp;&nbsp; loguseragent&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; maxbackup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1000</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; rollday&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; rollfmt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %Y-%m-%d-%H:%M</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; rollhour&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; rollonsignal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; rolllog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># nsjava - aolserver module that embeds a java virtual machine.&nbsp; Needed to</p>
<p>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; support webmail.&nbsp; See http://nsjava.sourceforge.net for further</p>
<p>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; details. This may need to be updated for OpenACS4 webmail</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section ns/server/${server}/module/nsjava</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; enablejava&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; off&nbsp; ;# Set to on to enable nsjava.</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; verbosejvm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; off&nbsp; ;# Same as command line -debug.</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; loglevel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Notice</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; destroyjvm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; off&nbsp; ;# Destroy jvm on shutdown.</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; disablejitcompiler off &nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; classpath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/usr/local/jdk/jdk118_v1/lib/classes.zip:${bindir}/nsjava.jar:${pageroot}/webmail/java/activation.jar:${pageroot}/webmail/java/mail.jar:${pageroot}/webmail/java</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>#</p>
<p># PAM authentication</p>
<p>#</p>
<p>######################################################################</p>
<p>ns_section ns/server/${server}/module/nspam</p>
<p>&nbsp;&nbsp;&nbsp; ns_param&nbsp;&nbsp; PamDomain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "pam_domain"</p>
<p>&nbsp;</p>
<p>######################################################################</p>
<p>ns_log notice "nsd.tcl: finished reading config file."</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</pre>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>zadmin</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Computing</dc:subject>
    
    <dc:date>2008-02-25T01:40:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://bryanhinton.com/news/restful-web-services">
    <title>Restful Web Services</title>
    <link>http://bryanhinton.com/news/restful-web-services</link>
    <description>Representational State Transfer is a key design idiom that embraces a stateless client-server architecture in which web services can be identified by URLs and viewed as resources.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<div id="parent-fieldname-text" class="plain kssattr-atfieldname-text kssattr-templateId-newsitem_view kssattr-macro-text-field-view inlineEditable">
<p>After writing a simple Ruby interface into Flickr this weekend, I
began to question why Flickr wrote their API the way that they did.
Having some level of familiarity with Rails scaffolds and CRUD actions
and having somewhat kept up with the state of web services development,
I swung by the bookstore and picked up a copy of <a href="http://www.amazon.com/RESTful-Web-Services-Leonard-Richardson/dp/0596529260">RESTful Web Services</a>, by Leonard Richardson &amp; Sam Ruby.</p>
<p>
This is an exceptional book.  I highly recommend this book to anyone who is doing anything technical with the Web.</p>
<p>For a detailed discussion of Representational State Transfer, see Roy Fielding's <a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/top.htm">PhD dissertation</a>, "Architectural Styles and
the Design of Network-based Software Architectures". 
<a href="http://www.ics.uci.edu/%7Efielding/">Roy Fielding</a> is co-founder of the Apache project and worked on the original http protocol.</p>
</div>
<div class="relatedItems">&nbsp;</div>
<div class="visualClear"></div>
<h5 class="hiddenStructure">Document Actions</h5>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>zadmin</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Computing</dc:subject>
    
    <dc:date>2008-02-25T01:35:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://bryanhinton.com/news/managing-thousands-of-linux-bsd-solaris-servers">
    <title>Managing thousands of Linux/BSD/Solaris Servers?</title>
    <link>http://bryanhinton.com/news/managing-thousands-of-linux-bsd-solaris-servers</link>
    <description>RRDtool is the open source, industry standard, data logging and graphing system for time series data.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a class="external-link" href="http://oss.oetiker.ch/rrdtool/">RRDtool </a>is the open
source, industry standard, data logging and graphing system for time
series data. There are lots of nice language bindings so you can easily
use it from your favorite programming language. I recently attended a
USENIX/SAGE symposium on <a href="http://cacti.net/">Cacti</a>. Cacti
is a very nice front-end for RRDtool. Cacti has a number of cool
features, including, but not limited to, SNMP support, Graph heirarchy
support, and user management support.</p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>zadmin</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Computing</dc:subject>
    
    <dc:date>2007-11-25T01:25:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>




</rdf:RDF>
