Home > Domino > Apache Plugin Documentation for Domino

Apache Plugin Documentation for Domino

October 30th, 2008

Since I administer Websphere as well as Domino, I know how wonderful the interface is for managing the plugin. Just update the various bits in WAS configuration (enter URL’s as host entries for a given virtual host, then just assign that VH to a given app), click a couple of buttons (two to generate, one to propogate), and it’s done.

Domino? No such tools. If you optionally install the plugins on your Domino server for either IIS or Apache, you end up with a directory with the binaries. The setup on the web server is the same – add the entries in httpd.conf (for Apache) pointing to the plugin and plugin-cfg.xml, and you’re done.

Or not.

Since there are no tools to manage the plugin supplied with Domino, you have to edit it manually. There’s a basic plugin that comes with the application when it’s installed, and it is possible to update this, but you have to be familiar with how this file is structure. Basically, the job of the plugin is take the directories, etc., you want redirect to Domino and redirect them, based either on a file or a directory name. If you’re familiar with XML, it can be pretty straightforward. However, the going is not easy. I’m going to try to use this entry to do my best to document this minimally-documented feature.

I’m covering how to do this in Apache for now. I typically don’t use IIS since I believe an Apache server on Linux is a very efficient, fast, secure web server.

First, download the plugin for WAS 6.1 here. This is independent of the version of Domino, so don’t sweat that part. If you don’t have the IBM HTTP Server 6.1 (based on Apache 2.0), you can download that here. IHS also comes with an easy-to-use SSL key-generation tool, both for regular keys as well as self-signed ones.

After you’ve installed IHS, make a backup of your httpd.conf file. You may need to update it depending on how many hosts you have, etc. Add these two lines at the end of the file:

   LoadModule was_ap20_module /usr/IBMIHS/bin/mod_was_ap20_http.so
   WebSpherePluginConfig "/usr/IBMIHS/conf/plugin-cfg.xml"

These directory locations will vary depending on where these files are installed.

See this document in the Domino 8 InfoCenter on how to update the plugin-cfg.xml file. If you have updated it to sit in front of two Domino servers, also running HTTP but listening on port 88, it should look something like this:

<?xml version="1.0"?>
 <Config ASDisableNagle="false" IISDisableNagle="false"
    IgnoreDNSFailures="false" RefreshInterval="60"
    ResponseChunkSize="64" AcceptAllContent="false"
    IISPluginPriority="High"  FIPSEnable="false"
    AppServerPortPreference="HostHeader" VHostMatchingCompat="false"
    ChunkedResponse="false">
 <Log LogLevel="Error" Name="/var/log/weblogs/http_plugin.log"/>
 <Property Name="ESIEnable" Value="true"/>
 <Property Name="ESIMaxCacheSize" Value="1024"/>
 <Property Name="ESIInvalidationMonitor" Value="false"/>
 <VirtualHostGroup Name="default_host">
    <VirtualHost Name="*:80"/>
 </VirtualHostGroup>
 <ServerCluster Name="server1_Cluster" CloneSeparatorChange="false" LoadBalance="Round Robin"
    PostBufferSize="64" IgnoreAffinityRequests="true"
    PostSizeLimit="-1" RemoveSpecialHeaders="true" RetryInterval="60">
    <Server Name="DomSvr1" ConnectTimeout="0" ExtendedHandshake="false" ServerIOTimeout="0"
       LoadBalanceWeight="1" MaxConnections="-1" WaitForContinue="false">
       <Transport Hostname="domsvr1.domain.com" Port="88" Protocol="http"/>
    </Server>
    <Server Name="DomSvr2" ConnectTimeout="0" ExtendedHandshake="false" ServerIOTimeout="0"
       LoadBalanceWeight="1" MaxConnections="-1" WaitForContinue="false">
      <Transport Hostname="domsvr2.domain.com" Port="88" Protocol="http"/>
    </Server>
 </ServerCluster>
 <UriGroup Name="server1_Cluster_URIs">
   <Uri Name="/*.nsf"/>
   <Uri Name="/icons/*"/>
   <Uri Name="/domjava/*"/>
   <Uri Name="/execcgi/*"/>
   <Uri Name="/cgi-bin/*"/>
   <Uri Name="/servlet/*"/>
   <Uri Name="/download/*"/>
   <Uri Name="/mail/*" />
   <Uri Name="/vannetusa/*" />
 </UriGroup>
 <Route ServerCluster="server1_Cluster"
   UriGroup="server1_Cluster_URIs" VirtualHostGroup="default_host"/>
 <RequestMetrics armEnabled="false" newBehavior="false"
   rmEnabled="false" traceLevel="HOPS">
 <filters enable="false" type="URI">
   <filterValues enable="false" value="/servlet/snoop"/>
   <filterValues enable="false" value="/webapp/examples/HitCount"/>
 </filters>
 <filters enable="false" type="SOURCE_IP">
   <filterValues enable="false" value="255.255.255.255"/>
   <filterValues enable="false" value="254.254.254.254"/>
 </filters>
 </RequestMetrics>
 </Config>

Once all that is in place, reconfigure Domino to listen for HTTP on port 88, then restart Apache. Give things a try and add salt to taste.

Categories: Domino Tags:
Comments are closed.