You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cs...@apache.org on 2018/12/14 17:45:50 UTC

svn commit: r1848964 [24/25] - in /tomcat/site/trunk/docs/connectors-doc: ./ ajp/ ajp/printer/ common_howto/ common_howto/printer/ images/ images/fonts/ miscellaneous/ miscellaneous/printer/ news/ news/printer/ printer/ reference/ reference/printer/ we...

Modified: tomcat/site/trunk/docs/connectors-doc/webserver_howto/printer/apache.html
URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/connectors-doc/webserver_howto/printer/apache.html?rev=1848964&r1=1848963&r2=1848964&view=diff
==============================================================================
--- tomcat/site/trunk/docs/connectors-doc/webserver_howto/printer/apache.html (original)
+++ tomcat/site/trunk/docs/connectors-doc/webserver_howto/printer/apache.html Fri Dec 14 17:45:49 2018
@@ -1,4 +1,35 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>The Apache Tomcat Connectors - Web Server HowTo - Apache HTTP Server HowTo</title><meta name="author" value="Henri Gomez"><meta name="email" value="hgomez@apache.org"><meta name="author" value="Gal Shachor"><meta name="email" value="shachor@il.ibm.com"><link href="../../style.css" type="text/css" rel="stylesheet"></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="4"><!--PAGE HEADER--><tr><td colspan="2"><!--TOMCAT LOGO--><a href="http://tomcat.apache.org/"><img src="../../images/tomcat.gif" align="left" alt="Apache Tomcat" border="0"></a><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="http://www.apache.org/images/asf-logo.gif" align="right" alt=" :: Apache Software Foundation" border="0"></a></td></tr><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--RIGHT SIDE MAI
 N BODY--><td width="80%" valign="top" align="left"><table border="0" width="100%" cellspacing="4"><tr><td align="left" valign="top"><h1>The Apache Tomcat Connectors - Web Server HowTo</h1><h2>Apache HTTP Server HowTo</h2></td><td align="right" valign="top" nowrap="true"><img src="../../images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0" alt=" "></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+<!DOCTYPE html SYSTEM "about:legacy-compat">
+<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>The Apache Tomcat Connectors: mod_jk, ISAPI redirector, NSAPI redirector (1.2.x) - Apache HTTP Server HowTo</title><meta name="author" content="Henri Gomez"><meta name="author" content="Gal Shachor"><script type="application/javascript" data-comments-identifier="">
+    "use strict"; // Enable strict mode
+
+    (function() {
+      var thisScript = document.currentScript;
+      if (!thisScript) { // Workaround for IE <= 11
+        var scripts = document.getElementsByTagName("script");
+        thisScript = scripts[scripts.length - 1];
+      }
+      document.addEventListener("DOMContentLoaded", (function() {
+        var commentsDiv = document.getElementById("comments_thread");
+        var commentsShortname = "tomcat";
+        var commentsIdentifier = "https://tomcat.apache.org/" +
+          thisScript.getAttribute("data-comments-identifier") + ".html";
+
+        (function(w, d) {
+          if (w.location.hostname.toLowerCase() == "tomcat.apache.org") {
+            var s = d.createElement("script");
+            s.type = "application/javascript";
+            s.async = true;
+            s.src = "https://comments.apache.org/show_comments.lua?site=" +
+              encodeURIComponent(commentsShortname) +
+              "&page=" + encodeURIComponent(commentsIdentifier);
+            d.head.appendChild(s);
+          } else {
+            commentsDiv.appendChild(d.createTextNode("Comments are disabled for this page at the moment."));
+          }
+        })(window, document);
+      }), false);
+    })();
+  </script></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="http://tomcat.apache.org/"><img alt="Tomcat Home" src="../../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="../../images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>The Apache Tomcat Connectors: mod_jk, ISAPI redirector, NSAPI redirector</h1><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="index.html">Docs Home</a></li></ul></div><div><h2>Common HowTo</h2><ul><li><a href="common_howto/quick.html">For the impatient</a></li><li><a href="common_howto/workers.html">All about workers</a></li><li><a href="common_howto/timeouts.html">Timeouts</a></li><li><a href="common_howto/load
 balancers.html">Load Balancing</a></li><li><a href="common_howto/proxy.html">Reverse Proxy</a></li></ul></div><div><h2>Web Server HowTo</h2><ul><li><a href="webserver_howto/apache.html">Apache HTTP Server (mod_jk)</a></li><li><a href="webserver_howto/iis.html">Microsoft IIS (ISAPI redirector)</a></li><li><a href="webserver_howto/nes.html">iPlanet Web Server (NSAPI redirector)</a></li></ul></div><div><h2>Reference Guide</h2><ul><li><a href="reference/workers.html">workers.properties</a></li><li><a href="reference/uriworkermap.html">uriworkermap.properties</a></li><li><a href="reference/status.html">Status Worker</a></li><li><a href="reference/apache.html">Apache HTTP Server (mod_jk)</a></li><li><a href="reference/iis.html">Microsoft IIS (ISAPI redirector)</a></li></ul></div><div><h2>AJP Protocol Reference</h2><ul><li><a href="ajp/ajpv13a.html">AJPv13 (ajp13)</a></li><li><a href="ajp/ajpv13ext.html">AJPv13 Extension Proposal</a></li></ul></div><div><h2>Miscellaneous Documentation</h2>
 <ul><li><a href="miscellaneous/faq.html">Frequently asked questions</a></li><li><a href="miscellaneous/changelog.html">Changelog</a></li><li><a href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Tomcat+Connectors&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=&amp;emailassigned_to2=1&amp;emailreporter2=1&amp;emailcc2=1&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">Current Tomcat Connectors bugs</a></li><li><a href="miscellaneous/doccontrib.html">Contribute documentation</a></li><li><a 
 href="miscellaneous/jkstatustasks.html">JK Status Ant Tasks</a></li><li><a href="miscellaneous/reporttools.html">Reporting Tools</a></li><li><a href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html">Old JK/JK2 documentation</a></li></ul></div><div><h2>News</h2><ul><li><a href="news/20180301.html">2018</a></li><li><a href="news/20160901.html">2016</a></li><li><a href="news/20150101.html">2015</a></li><li><a href="news/20140201.html">2014</a></li><li><a href="news/20120301.html">2012</a></li><li><a href="news/20110701.html">2011</a></li><li><a href="news/20100101.html">2010</a></li><li><a href="news/20090301.html">2009</a></li><li><a href="news/20081001.html">2008</a></li><li><a href="news/20070301.html">2007</a></li><li><a href="news/20060101.html">2006</a></li><li><a href="news/20050101.html">2005</a></li><li><a href="news/20041100.html">2004</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2>Apache HTTP Server HowTo</h2><h3 id="Introductio
 n">Introduction</h3><div class="text">
 <p>
 This document explains how to connect Tomcat to the popular open source web server, Apache HTTP Server.
 You can use the connection module mod_jk with any version of Apache starting with 1.3 and any version
@@ -7,12 +38,12 @@ of Tomcat starting with (at least) 3.2.
 
 <p>
 It is recommended that you also read the
-<a href="../../common_howto/workers.html">Workers HowTo</a> document
+<a href="../common_howto/workers.html">Workers HowTo</a> document
 to learn how to setup the working entities between your web server and Tomcat Engines.
 For more detailed configuration information consult the Reference Guide for
-<a href="../../reference/workers.html">workers.properties</a>,
-<a href="../../reference/uriworkermap.html">uriworkermap</a>
-and <a href="../../reference/apache.html">Apache</a>.
+<a href="../reference/workers.html">workers.properties</a>,
+<a href="../reference/uriworkermap.html">uriworkermap</a>
+and <a href="../reference/apache.html">Apache</a>.
 </p>
 
 <p><b>Warning: If Apache and Tomcat are configured to serve content from
@@ -29,7 +60,7 @@ This document was originally part of <b>
 but has been split off for organisational reasons.
 </p>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Document Conventions and Assumptions"><strong>Document Conventions and Assumptions</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="Document_Conventions_and_Assumptions">Document Conventions and Assumptions</h4><div class="text">
 <p>
 ${tomcat_home} is the root directory of tomcat.
 Your Tomcat installation should have the following subdirectories:
@@ -48,11 +79,11 @@ ${tomcat_home}\bin - Where you place web
 </p>
 <p>
 In all the examples in this document ${tomcat_home} will be <b>/var/tomcat3</b>.
-A <a href="../../common_howto/workers.html">worker</a> is defined to be a tomcat process that accepts work from the Apache server.
+A <a href="../common_howto/workers.html">worker</a> is defined to be a tomcat process that accepts work from the Apache server.
 </p>
-</blockquote></td></tr></table>
+</div></div>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Supported Configuration"><strong>Supported Configuration</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="Supported_Configuration">Supported Configuration</h4><div class="text">
 <p>
 The mod_jk module was developed and tested on:
 <ul>
@@ -79,9 +110,9 @@ Tomcat 3.2 to Tomcat 8.
 The mod_jk module uses the AJP protocol to send requests to the Tomcat containers.
 The AJP version typically used is <b>ajp13</b>.
 </p>
-</blockquote></td></tr></table>
+</div></div>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Who supports AJP protocols?"><strong>Who supports AJP protocols?</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="Who_supports_AJP_protocols?">Who supports AJP protocols?</h4><div class="text">
 <p>
 Tomcat supports ajp13 since Tomcat 3.2.
 Others servlet engines such as <b>Jetty</b> or <b>JBoss</b> also support the ajp13 protocol
@@ -92,9 +123,9 @@ The <b>ajp12</b> protocol has been <b>de
 The <b>ajp14</b> protocol is considered experimental.
 </p>
 
-</blockquote></td></tr></table>
+</div></div>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="How does it work ?"><strong>How does it work ?</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="How_does_it_work_?">How does it work ?</h4><div class="text">
 <p>
 In a nutshell a web server is waiting for client HTTP requests.
 When these requests arrive the server does whatever is needed to serve the
@@ -128,9 +159,9 @@ but on different servlet container JVMs.
 We will cover these two cases in the advanced sections.
 </p>
 
-</blockquote></td></tr></table>
+</div></div>
 
-</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Obtaining mod_jk"><strong>Obtaining mod_jk</strong></a></font></td></tr><tr><td><blockquote>
+</div><h3 id="Obtaining_mod_jk">Obtaining mod_jk</h3><div class="text">
 <p>
 mod_jk can be obtained in two formats - binary and source.
 Depending on the platform you are running your web server on, a binary version of mod_jk may be available.
@@ -166,7 +197,7 @@ here</a> (look for JK 1.2 Binary Release
 operating systems for both Apache 1.3 and Apache 2.x.
 </p>
 
-</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+</div><h3 id="Installation">Installation</h3><div class="text">
 <p>
 mod_jk requires two entities:
 
@@ -188,7 +219,7 @@ Apache HTTP Server, ie: /usr/lib/apache
 </p>
 
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Disabling old mod_jserv"><strong>Disabling old mod_jserv</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="Disabling_old_mod_jserv">Disabling old mod_jserv</h4><div class="text">
 <p>
 If you've previously configured Apache to use <b>mod_jserv</b>, remove any <b>ApJServMount</b> directives
 from your httpd.conf.
@@ -201,10 +232,10 @@ they are specific to <b>mod_jserv</b>.
 <p>
 The mod_jserv configuration directives are not compatible with mod_jk !
 </p>
-</blockquote></td></tr></table>
+</div></div>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Using Tomcat auto-configure"><strong>Using Tomcat auto-configure</strong></a></font></td></tr><tr><td><blockquote>
-<p><font color="#ff0000">Tomcat auto-configure is deprecated and has been removed in Tomcat 7 and later.</font></p>
+<div class="subsection"><h4 id="Using_Tomcat_auto-configure">Using Tomcat auto-configure</h4><div class="text">
+<warn>Tomcat auto-configure is deprecated and has been removed in Tomcat 7 and later.</warn>
 <p>
 The auto-configure works only for a single Tomcat running on the same machine where the Apache HTTP Server is running.
 The simplest way to configure Apache HTTP Server to use mod_jk is to turn on the Apache HTTP Server auto-configure setting
@@ -212,10 +243,9 @@ in Tomcat and put the following include
 (make sure you replace $TOMCAT_HOME with the correct path for your Tomcat installation:
 </p>
 
-<div class="example"><pre>
-    #To be added at the end of your httpd.conf
-    Include $TOMCAT_HOME/conf/jk/mod_jk.conf-auto
-</pre></div>
+<div class="codeBox"><pre><code># To be added at the end of your httpd.conf
+Include $TOMCAT_HOME/conf/jk/mod_jk.conf-auto
+</code></pre></div>
 
 <p>
 Note: this file may also be generated as $TOMCAT_HOME/conf/auto/mod_jk.conf
@@ -230,15 +260,14 @@ element in the server.xml file as per th
 <b>Please note that this example is specific to Tomcat 5.x, unlike other sections of this document
    which also apply to previous Tomcat branches.</b>
 </p>
-<div class="example"><pre>
+<div class="codeBox"><pre><code>...
+&lt;Engine ...&gt;
   ...
-  &lt;Engine ...&gt;
-    ...
     &lt;Listener className="org.apache.jk.config.ApacheConfig" modJk="/path/to/mod_jk.so" /&gt;
-    ...
-  &lt;/Engine&gt;
   ...
-</pre></div>
+&lt;/Engine&gt;
+...
+</code></pre></div>
 
 <p>
 Then restart Tomcat and mod_jk.conf should be generated. For more information on
@@ -247,9 +276,9 @@ this topic, please refer to the API docu
 Tomcat docs website</a>.
 </p>
 
-</blockquote></td></tr></table>
+</div></div>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Custom mod_jk configuration"><strong>Custom mod_jk configuration</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="Custom_mod_jk_configuration">Custom mod_jk configuration</h4><div class="text">
 <p>
 You should use custom configuration when:
 </p>
@@ -268,66 +297,60 @@ to their real needs.
 </li>
 </ul>
 
-</blockquote></td></tr></table>
+</div></div>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Simple configuration example"><strong>Simple configuration example</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="Simple_configuration_example">Simple configuration example</h4><div class="text">
 <p>
 Here is a simple configuration:
 </p>
 
-<div class="example"><pre>
-    # Load mod_jk module
-    LoadModule    jk_module  modules/mod_jk.so
-    # Add the module (activate this lne for Apache 1.3)
-    # AddModule     mod_jk.c
-    # Where to find workers.properties
-    JkWorkersFile /etc/httpd/conf/workers.properties
-    # Where to put jk shared memory
-    JkShmFile     /var/log/httpd/mod_jk.shm
-    # Where to put jk logs
-    JkLogFile     /var/log/httpd/mod_jk.log
-    # Set the jk log level [debug/error/info]
-    JkLogLevel    info
-    # Send requests for context /examples to worker named worker1
-    JkMount  /examples/* worker1
-</pre></div>
+<div class="codeBox"><pre><code># Load mod_jk module
+LoadModule    jk_module  modules/mod_jk.so
+# Add the module (activate this lne for Apache 1.3)
+# AddModule     mod_jk.c
+# Where to find workers.properties
+JkWorkersFile /etc/httpd/conf/workers.properties
+# Where to put jk shared memory
+JkShmFile     /var/log/httpd/mod_jk.shm
+# Where to put jk logs
+JkLogFile     /var/log/httpd/mod_jk.log
+# Set the jk log level [debug/error/info]
+JkLogLevel    info
+# Send requests for context /examples to worker named worker1
+JkMount  /examples/* worker1
+</code></pre></div>
 
-</blockquote></td></tr></table>
-</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="mod_jk Directives"><strong>mod_jk Directives</strong></a></font></td></tr><tr><td><blockquote>
+</div></div>
+</div><h3 id="mod_jk_Directives">mod_jk Directives</h3><div class="text">
 <p>
 We'll discuss here the mod_jk directives and details behind them
 </p>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Define workers"><strong>Define workers</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="Define_workers">Define workers</h4><div class="text">
 <p>
 <b>JkWorkersFile</b> specify the location where mod_jk will find the workers definitions.
 
-<div class="example"><pre>
-  JkWorkersFile     /etc/httpd/conf/workers.properties
-</pre></div>
+<div class="codeBox"><pre><code>JkWorkersFile     /etc/httpd/conf/workers.properties
+</code></pre></div>
 
-<br>
-<br>
 </p>
-</blockquote></td></tr></table>
+</div></div>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="Logging">Logging</h4><div class="text">
 <p>
 <b>JkLogFile</b> specify the location where mod_jk is going to place its log file.
 </p>
 
-<div class="example"><pre>
-  JkLogFile     /var/log/httpd/mod_jk.log
-</pre></div>
+<div class="codeBox"><pre><code>JkLogFile     /var/log/httpd/mod_jk.log
+</code></pre></div>
 
 <p>
 Since JK 1.2.3 for Apache 2.x and JK 1.2.16 for Apache 1.3 this can also
 be used for piped logging:
 </p>
 
-<div class="example"><pre>
-  JkLogFile     "|/usr/bin/rotatelogs /var/log/httpd/mod_jk.log 86400"
-</pre></div>
+<div class="codeBox"><pre><code>JkLogFile     "|/usr/bin/rotatelogs /var/log/httpd/mod_jk.log 86400"
+</code></pre></div>
 
 <p>
 <b>JkLogLevel</b>
@@ -346,73 +369,50 @@ set the log level between:
 </li>
 </ul>
 
-<div class="example"><pre>
-  JkLogLevel    info
-</pre></div>
+<div class="codeBox"><pre><code>JkLogLevel    info
+</code></pre></div>
 
 <p>
-<b class="code">info</b> should be your default selection for normal operations.
-<br>
-<br>
+<code>info</code> should be your default selection for normal operations.
 </p>
 
 <p>
 <b>JkLogStampFormat</b> will configure the date/time format found on mod_jk logfile.
-See the mod_jk <a href="../../reference/apache.html">Apache HTTP Server reference</a> for details.
+See the mod_jk <a href="../reference/apache.html">Apache HTTP Server reference</a> for details.
 </p>
 
-<div class="example"><pre>
-  JkLogStampFormat "[%y-%m-%d %H:%M:%S.%Q] "
-</pre></div>
-
-<p>
-<br>
-<br>
-</p>
+<div class="codeBox"><pre><code>JkLogStampFormat "[%y-%m-%d %H:%M:%S.%Q] "
+</code></pre></div>
 
 <p>
 You can log mod_jk information using the Apache standard module <b>mod_log_config</b>.
 The module sets several notes in the Apache notes table.
 Most of them are are only useful in combination with a load balancer worker.
-See the mod_jk <a href="../../reference/apache.html">Apache HTTP Server reference</a> for details.
+See the mod_jk <a href="../reference/apache.html">Apache HTTP Server reference</a> for details.
 </p>
 
-<div class="example"><pre>
-  LogFormat     "%h %l %u %t \"%r\" %&gt;s %b %{JK_WORKER_NAME}n %{JK_LB_FIRST_NAME}n \
-                 %{JK_LB_FIRST_BUSY}n %{JK_LB_LAST_NAME}n %{JK_LB_LAST_BUSY}n" mod_jk_log
-  CustomLog     logs/access_log     mod_jk_log
-</pre></div>
-
-<p>
-<br>
-<br>
-</p>
+<div class="codeBox"><pre><code>LogFormat     "%h %l %u %t \"%r\" %&gt;s %b %{JK_WORKER_NAME}n %{JK_LB_FIRST_NAME}n \
+              %{JK_LB_FIRST_BUSY}n %{JK_LB_LAST_NAME}n %{JK_LB_LAST_BUSY}n" mod_jk_log
+CustomLog     logs/access_log     mod_jk_log
+</code></pre></div>
 
 <p>
 You can also log a request protocol in the mod_jk log file instead of
 the access log. This is not recommended and mostly a backward compatibility
 feature. The directive <b>JkRequestLogFormat</b> will configure the format
 of this protocol. It gets configured and enabled on a per virtual host basis.
-See the mod_jk <a href="../../reference/apache.html">Apache HTTP Server reference</a> for details.
+See the mod_jk <a href="../reference/apache.html">Apache HTTP Server reference</a> for details.
 </p>
 
-<div class="example"><pre>
-  JkRequestLogFormat     "%w %V %T"
-</pre></div>
-
-<p>
-<br>
-<br>
-</p>
+<div class="codeBox"><pre><code>JkRequestLogFormat     "%w %V %T"
+</code></pre></div>
 
-</blockquote></td></tr></table>
+</div></div>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Forwarding"><strong>Forwarding</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="Forwarding">Forwarding</h4><div class="text">
 <p>
 The directive JkOptions allow you to set many forwarding options which will enable (+)
 or disable (-) following option. Without any leading signs, options will be enabled.
-<br>
-<br>
 </p>
 
 <p>
@@ -424,8 +424,6 @@ It was "ForwardURICompatUnparsed" in ver
 You can turn the default off by switching on one of the other two options.
 You should leave this at it's default value, unless you have a very good
 reason to change it.
-<br>
-<br>
 </p>
 
 <p>
@@ -433,10 +431,8 @@ All options are inherited from the globa
 Options that support enabling (plus options) and disabling (minus options),
 are inherited in the following way:
 <br>
-<br>
 options(vhost) = plus_options(global) - minus_options(global) + plus_options(vhost) - minus_options(vhost)
 <br>
-<br>
 </p>
 
 <p>
@@ -445,12 +441,9 @@ will be partially reencoded after proces
 before forwarding to Tomcat. This will be compatible with local
 URL manipulation by mod_rewrite and with URL encoded session ids.
 
-<div class="example"><pre>
-  JkOptions     +ForwardURIProxy
-</pre></div>
+<div class="codeBox"><pre><code>JkOptions     +ForwardURIProxy
+</code></pre></div>
 
-<br>
-<br>
 </p>
 
 <p>
@@ -460,12 +453,9 @@ It will always forward the original requ
 URIs with mod_rewrite and then forwarding the rewritten URI
 will not work.
 
-<div class="example"><pre>
-  JkOptions     +ForwardURICompatUnparsed
-</pre></div>
+<div class="codeBox"><pre><code>JkOptions     +ForwardURICompatUnparsed
+</code></pre></div>
 
-<br>
-<br>
 </p>
 <p>
 Using JkOptions <b>ForwardURICompat</b>, the forwarded URI will
@@ -475,12 +465,9 @@ This is less spec compliant and is <b>no
 prefix JkMount. This option will allow to rewrite URIs with
 mod_rewrite before forwarding.
 
-<div class="example"><pre>
-  JkOptions     +ForwardURICompat
-</pre></div>
+<div class="codeBox"><pre><code>JkOptions     +ForwardURICompat
+</code></pre></div>
 
-<br>
-<br>
 </p>
 <p>
 Using JkOptions <b>ForwardURIEscaped</b>, the forwarded URI will
@@ -489,20 +476,15 @@ Explicit path components like ".." will
 This will not work in combination with URL encoded session IDs,
 but it will allow to rewrite URIs with mod_rewrite before forwarding.
 
-<div class="example"><pre>
-  JkOptions     +ForwardURIEscaped
-</pre></div>
+<div class="codeBox"><pre><code>JkOptions     +ForwardURIEscaped
+</code></pre></div>
 
-<br>
-<br>
 </p>
 
 <p>
 JkOptions <b>RejectUnsafeURI</b> will block all
 URLs, which contain percent signs '%' or backslashes '\'
 after decoding.
-<br>
-<br>
 </p>
 <p>
 Most web apps do not use such URLs. Using the option RejectUnsafeURI, you
@@ -513,12 +495,9 @@ is not set.
 You can also realise such a check with mod_rewrite, which is more powerful
 but also slightly more complicated.
 
-<div class="example"><pre>
-  JkOptions     +RejectUnsafeURI
-</pre></div>
+<div class="codeBox"><pre><code>JkOptions     +RejectUnsafeURI
+</code></pre></div>
 
-<br>
-<br>
 </p>
 
 <p>
@@ -540,8 +519,6 @@ ignored if used.
 JkOptions <b>ForwardDirectories</b> is used in conjunction with <b>DirectoryIndex</b>
 directive of Apache. As such mod_dir should be available to Apache,
 statically or dynamically (DSO)
-<br>
-<br>
 </p>
 
 <p>
@@ -553,7 +530,7 @@ local file that matches (this is done by
 <p>
 If ForwardDirectories is set to <b>false</b> (default) and Apache doesn't find any
 files that match, Apache will serve the content of the directory (if directive
-Options specifies Indexes for that directory) or a <b class="code">403 Forbidden</b> response (if
+Options specifies Indexes for that directory) or a <code>403 Forbidden</code> response (if
 directive Options doesn't specify Indexes for that directory).
 </p>
 
@@ -570,11 +547,8 @@ ones visible only to Tomcat (i.e. if Apa
 that's going to get served). This is important if there is more then one type of
 file that Tomcat normally serves - for instance Velocity pages and JSP pages.
 
-<div class="example"><pre>
-  JkOptions     +ForwardDirectories
-</pre></div>
-<br>
-<br>
+<div class="codeBox"><pre><code>JkOptions     +ForwardDirectories
+</code></pre></div>
 </p>
 
 <p>
@@ -583,11 +557,8 @@ of the Apache HTTP Server instead of rem
 Tomcat remote address valve for allowing connections only from configured Apache
 servers.
 
-<div class="example"><pre>
-  JkOptions     +ForwardLocalAddress
-</pre></div>
-<br>
-<br>
+<div class="codeBox"><pre><code>JkOptions     +ForwardLocalAddress
+</code></pre></div>
 </p>
 
 <p>
@@ -595,13 +566,10 @@ Setting JkOptions <b>ForwardPhysicalAddr
 physical peer TCP IP address as the client address. By default mod_jk
 uses the logical address as provided by the web server. For example the module
 mod_remoteip sets the logical IP address to the client IP forwarded by proxies
-in the <b class="code">X-Forwarded-For</b> header.
+in the <code>X-Forwarded-For</code> header.
 
-<div class="example"><pre>
-  JkOptions     +ForwardPhysicalAddress
-</pre></div>
-<br>
-<br>
+<div class="codeBox"><pre><code>JkOptions     +ForwardPhysicalAddress
+</code></pre></div>
 </p>
 
 <p>
@@ -611,24 +579,18 @@ a strong performance penalty for Apache
 more often than would normally be required (ie: at the end of each
 response).
 
-<div class="example"><pre>
-  JkOptions     +FlushPackets
-</pre></div>
+<div class="codeBox"><pre><code>JkOptions     +FlushPackets
+</code></pre></div>
 
-<br>
-<br>
 </p>
 
 <p>
 JkOptions <b>FlushHeader</b>, you ask mod_jk to flush Apache's connection
 buffer after the response headers have been  received from Tomcat.
 
-<div class="example"><pre>
-  JkOptions     +FlushHeader
-</pre></div>
+<div class="codeBox"><pre><code>JkOptions     +FlushHeader
+</code></pre></div>
 
-<br>
-<br>
 </p>
 
 <p>
@@ -644,12 +606,9 @@ If a firewall between Apache and Tomcat
 try to use the worker attribute socket_keepalive in combination with an appropriate
 TCP keepalive value in your OS.
 
-<div class="example"><pre>
-  JkOptions     +DisableReuse
-</pre></div>
+<div class="codeBox"><pre><code>JkOptions     +DisableReuse
+</code></pre></div>
 
-<br>
-<br>
 </p>
 
 <p>
@@ -657,31 +616,25 @@ JkOptions <b>ForwardKeySize</b>, you ask
 required by Servlet API 2.3.
 This flag shouldn't be set when servlet engine is Tomcat 3.2.x (off by default).
 
-<div class="example"><pre>
-  JkOptions     +ForwardKeySize
-</pre></div>
+<div class="codeBox"><pre><code>JkOptions     +ForwardKeySize
+</code></pre></div>
 
-<br>
-<br>
 </p>
 
 <p>
 JkOptions <b>ForwardSSLCertChain</b>, you ask mod_jk, when using ajp13,
 to forward SSL certificate chain (off by default).
-Mod_jk only passes the <b class="code">SSL_CLIENT_CERT</b> to the AJP connector. This is not a
+Mod_jk only passes the <code>SSL_CLIENT_CERT</code> to the AJP connector. This is not a
 problem with self-signed certificates or certificates directly signed by the
 root CA certificate. However, there's a large number of certificates signed by
 an intermediate CA certificate, where this is a significant problem: A servlet
 will not have the possibility to validate the client certificate on its own. The
-bug would be fixed by passing on the <b class="code">SSL_CLIENT_CERT_CHAIN</b> to Tomcat via the AJP connector.
+bug would be fixed by passing on the <code>SSL_CLIENT_CERT_CHAIN</code> to Tomcat via the AJP connector.
 <br>
 This directive exists only since version 1.2.22.
-<div class="example"><pre>
-  JkOptions     +ForwardSSLCertChain
-</pre></div>
+<div class="codeBox"><pre><code>JkOptions     +ForwardSSLCertChain
+</code></pre></div>
 
-<br>
-<br>
 </p>
 
 <p>
@@ -696,19 +649,15 @@ via request.getAttribute(attributeName).
 Note that the variables send via JkEnvVar will not be listed
 in request.getAttributeNames().
 <br>
-<br>
 The variables are inherited from the global server to virtual hosts.
 
-<div class="example"><pre>
-  JkEnvVar     SSL_CLIENT_V_START     undefined
-</pre></div>
-<br>
-<br>
+<div class="codeBox"><pre><code>JkEnvVar     SSL_CLIENT_V_START     undefined
+</code></pre></div>
 </p>
 
-</blockquote></td></tr></table>
+</div></div>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Assigning URLs to Tomcat"><strong>Assigning URLs to Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="Assigning_URLs_to_Tomcat">Assigning URLs to Tomcat</h4><div class="text">
 <p>
 If you have created a custom or local version of mod_jk.conf-local as noted above,
 you can change settings such as the workers or URL prefix.
@@ -719,23 +668,22 @@ you can change settings such as the work
 In general the structure of a JkMount directive is:
 </p>
 
-<div class="example"><pre>  JkMount [URL prefix] [Worker name]</pre></div>
+<div class="codeBox"><pre><code>JkMount [URL prefix] [Worker name]</code></pre></div>
 
-<div class="example"><pre>
-  # send all requests ending in .jsp to worker1
-  JkMount /*.jsp worker1
-  # send all requests ending /servlet to worker1
-  JkMount /*/servlet/ worker1
-  # send all requests jsp requests to files located in /otherworker will go worker2
-  JkMount /otherworker/*.jsp worker2
-</pre></div>
+<div class="codeBox"><pre><code># send all requests ending in .jsp to worker1
+JkMount /*.jsp worker1
+# send all requests ending /servlet to worker1
+JkMount /*/servlet/ worker1
+# send all requests jsp requests to files located in /otherworker will go worker2
+JkMount /otherworker/*.jsp worker2
+</code></pre></div>
 
 <p>
 You can use the JkMount directive at the top level or inside &lt;VirtualHost&gt; sections of your httpd.conf file.
 </p>
-</blockquote></td></tr></table>
+</div></div>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Configuring Apache to serve static web application files"><strong>Configuring Apache to serve static web application files</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="Configuring_Apache_to_serve_static_web_application_files">Configuring Apache to serve static web application files</h4><div class="text">
 <p>
 If the Tomcat Host appBase (webapps) directory is accessible by the Apache HTTP Server,
 Apache can be configured to serve web application context directory static files instead
@@ -754,16 +702,15 @@ application's web.xml.
 document space for a VirtualHost:
 </p>
 
-<div class="example"><pre>
-  # Static files in the examples webapp are served by Apache
-  Alias /examples /vat/tomcat3/webapps/examples
-  # All requests go to worker1 by default
-  JkMount /* worker1
-  # Serve html, jpg and gif using Apache
-  JkUnMount /*.html worker1
-  JkUnMount /*.jpg  worker1
-  JkUnMount /*.gif  worker1
-</pre></div>
+<div class="codeBox"><pre><code># Static files in the examples webapp are served by Apache
+Alias /examples /vat/tomcat3/webapps/examples
+# All requests go to worker1 by default
+JkMount /* worker1
+# Serve html, jpg and gif using Apache
+JkUnMount /*.html worker1
+JkUnMount /*.jpg  worker1
+JkUnMount /*.gif  worker1
+</code></pre></div>
 
 <p>
 Starting with mod_jk 1.2.6 for Apache 2.x and 1.2.19 for Apache 1.3, it's possible to exclude some URL/URI from
@@ -775,28 +722,27 @@ You could use <b>no-jk</b> env var to fi
 directive when jk and alias/userdir URLs matches.
 </p>
 
-<div class="example"><pre>
-  # All URL goes to tomcat except the one containing /home
-  &lt;VirtualHost *:80&gt;
-      ServerName testxxx.mysys
-      DocumentRoot /www/testxxx/htdocs
-
-  # Use SetEnvIf to set no-jk when /home/ is encountered
-      SetEnvIf Request_URI "/home/*" no-jk
-
-  # Now /home will goes to /home/dataxxx/
-      Alias /home /home/dataxxx/
-
-      &lt;Directory "/home/dataxxx"&gt;
-          Options Indexes MultiViews
-          AllowOverride None
-          Require all granted
-      &lt;/Directory&gt;
+<div class="codeBox"><pre><code># All URL goes to tomcat except the one containing /home
+&lt;VirtualHost *:80&gt;
+    ServerName testxxx.mysys
+    DocumentRoot /www/testxxx/htdocs
+
+# Use SetEnvIf to set no-jk when /home/ is encountered
+    SetEnvIf Request_URI "/home/*" no-jk
+
+# Now /home will goes to /home/dataxxx/
+    Alias /home /home/dataxxx/
+
+    &lt;Directory "/home/dataxxx"&gt;
+        Options Indexes MultiViews
+        AllowOverride None
+        Require all granted
+    &lt;/Directory&gt;
 
-      JkMount /* myssys-xxx
+    JkMount /* myssys-xxx
 
-  &lt;/VirtualHost&gt;
-</pre></div>
+&lt;/VirtualHost&gt;
+</code></pre></div>
 
 
 <p>
@@ -807,24 +753,23 @@ into Apache's document space.
 <p>
 Attempts to access the WEB-INF or META-INF directories within a web application context
 or a Web Archive *.war within the Tomcat Host appBase (webapps) directory will fail with an
-<b class="code">HTTP 403, Access Forbidden</b>
+<code>HTTP 403, Access Forbidden</code>
 </p>
 
-<div class="example"><pre>
-  # Static files in all Tomcat webapp context directories are served by Apache
-  JkAutoAlias /var/tomcat3/webapps
-
-  # All requests go to worker1 by default
-  JkMount /* ajp13
-  # Serve html, jpg and gif using Apache
-  JkUnMount /*.html ajp13
-  JkUnMount /*.jpg  ajp13
-  JkUnMount /*.gif  ajp13
-</pre></div>
+<div class="codeBox"><pre><code># Static files in all Tomcat webapp context directories are served by Apache
+JkAutoAlias /var/tomcat3/webapps
+
+# All requests go to worker1 by default
+JkMount /* ajp13
+# Serve html, jpg and gif using Apache
+JkUnMount /*.html ajp13
+JkUnMount /*.jpg  ajp13
+JkUnMount /*.gif  ajp13
+</code></pre></div>
 
 <p>
 If you encoded all your URLs to contain the session id
-(<b class="code">;jsessionid=...</b>), and you later decide, you want to
+(<code>;jsessionid=...</code>), and you later decide, you want to
 move part of the content to Apache, you can tell
 mod_jk to strip off all session ids from URLs for
 those requests, that do not get forwarded via mod_jk.
@@ -836,12 +781,12 @@ It can be enabled individually for virtu
 value is Off.
 </p>
 
-</blockquote></td></tr></table>
-</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Building mod_jk on Unix"><strong>Building mod_jk on Unix</strong></a></font></td></tr><tr><td><blockquote>
+</div></div>
+</div><h3 id="Building_mod_jk_on_Unix">Building mod_jk on Unix</h3><div class="text">
 <p>
 The mod_jk build use the widely used configure system.
 </p>
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Prepare your mod_jk configure from subversion"><strong>Prepare your mod_jk configure from subversion</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="Prepare_your_mod_jk_configure_from_subversion">Prepare your mod_jk configure from subversion</h4><div class="text">
 In case you get source from subversion, ie without an existing configure script,
 you should have autoconf for configuration and installation.
 <p>
@@ -856,22 +801,25 @@ they are only required for developers.
 <p>
 To create the configure script just type:
 
-<p class="screen"><div align="left"><table width="80%" border="1" cellspacing="0" cellpadding="2" bgcolor="#000000"><tr><td bgcolor="#000000" align="left"><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">./buildconf.sh</b></nobr></code><br></td></tr></table></div></p>
+<screen>
+<type>./buildconf.sh</type>
+</screen>
 </p>
-</blockquote></td></tr></table>
+</div></div>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Using configure to build mod_jk"><strong>Using configure to build mod_jk</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="Using_configure_to_build_mod_jk">Using configure to build mod_jk</h4><div class="text">
 <p>Here's how to use configure to prepare mod_jk for building, just type:
-<div class="example"><pre>
-./configure [autoconf arguments] [mod_jk arguments]
-</pre></div>
+<div class="codeBox"><pre><code>./configure [autoconf arguments] [mod_jk arguments]
+</code></pre></div>
 </p>
 
 <p>
 You could set <b>CFLAGS</b> and <b>LDFLAGS</b> to add some platform specifics:
 </p>
 
-<p class="screen"><div align="left"><table width="80%" border="1" cellspacing="0" cellpadding="2" bgcolor="#000000"><tr><td bgcolor="#000000" align="left"><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">LDFLAGS=-lc ./configure -with-apxs=/home2/local/apache/bin/apxs</b></nobr></code><br></td></tr></table></div></p>
+<screen>
+<type>LDFLAGS=-lc ./configure -with-apxs=/home2/local/apache/bin/apxs</type>
+</screen>
 
 <p>
 If you want to build mod_jk for different versions of the Apache HTTP Server, like 1.3 or 2.x,
@@ -900,9 +848,9 @@ Start over with the apxs location for yo
 </ul>
 
 </p>
-</blockquote></td></tr></table>
+</div></div>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="configure arguments"><strong>configure arguments</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="configure_arguments">configure arguments</h4><div class="text">
 <p>
 <table>
   <tr valign="top"><th>Apache related parameters</th><th></th></tr>
@@ -962,15 +910,24 @@ However those locks does not work on NFS
 
 </table>
 </p>
-</blockquote></td></tr></table>
+</div></div>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Examples of configure use"><strong>Examples of configure use</strong></a></font></td></tr><tr><td><blockquote>
+<div class="subsection"><h4 id="Examples_of_configure_use">Examples of configure use</h4><div class="text">
 
-<p class="screen"><div align="left"><table width="80%" border="1" cellspacing="0" cellpadding="2" bgcolor="#000000"><tr><td bgcolor="#000000" align="left"><div class="screen">Apache 1.3 and 2.x build</div><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">./configure --with-apxs=/usr/sbin/apxs</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">make</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">cp ./apache-1.3/mod_jk.so /usr/lib/apache</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">make clean</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">./configure --with-apxs=/usr/sbin/apxs2</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">make</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">cp ./apache-2.0/mod_jk.so /usr/lib
 /apache2</b></nobr></code><br></td></tr></table></div></p>
+<screen>
+<note>Apache 1.3 and 2.x build</note>
+<type>./configure --with-apxs=/usr/sbin/apxs</type><br>
+<type>make</type><br>
+<type>cp ./apache-1.3/mod_jk.so /usr/lib/apache</type><br>
+<type>make clean</type><br>
+<type>./configure --with-apxs=/usr/sbin/apxs2</type><br>
+<type>make</type><br>
+<type>cp ./apache-2.0/mod_jk.so /usr/lib/apache2</type><br>
+</screen>
 
-</blockquote></td></tr></table>
+</div></div>
 
-</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Building mod_jk for Apache on Windows"><strong>Building mod_jk for Apache on Windows</strong></a></font></td></tr><tr><td><blockquote>
+</div><h3 id="Building_mod_jk_for_Apache_on_Windows">Building mod_jk for Apache on Windows</h3><div class="text">
 <p>
 The module was developed using Microsoft Visual C++, so having Visual Studio installed
 is a prerequisite if you want to perform your own build.</p>
@@ -998,7 +955,25 @@ Set your path to the Apache web server d
 environment.
 </li>
 </ul>
-<p class="screen"><div align="left"><table width="80%" border="1" cellspacing="0" cellpadding="2" bgcolor="#000000"><tr><td bgcolor="#000000" align="left"><div class="screen">Set up 32 or 64 Bit build environment</div><code><nobr><em class="screen">c:\&gt;</em><b class="screen">setenv /Release /X86</b></nobr></code><br><div class="screen">or (not available for IDE build)</div><code><nobr><em class="screen">c:\&gt;</em><b class="screen">setenv /Release /X64</b></nobr></code><br><div class="screen">Download tomcat-connectors-xxx-src.zip from</div><div class="screen">https://tomcat.apache.org/download-connectors.cgi</div><div class="screen">and unpack it</div><code><nobr><em class="screen">c:\&gt;</em><b class="screen">unzip tomcat-connectors-xxx-src.zip</b></nobr></code><br><div class="screen">Change directory to the mod_jk source directory.</div><div class="screen">To build mod_jk for the Apache HTTP server 2.0, 2.2 or 2.4,</div><div class="screen">use the "apache-2.0" directory, for
  the old</div><div class="screen">Apache HTTP server 1.3, the "apache-1.3" directory.</div><code><nobr><em class="screen">c:\&gt;</em><b class="screen">cd tomcat-connectors-xxx-src\native\apache-2.0</b></nobr></code><br><div class="screen">Set the environment variable "APACHE1_HOME" resp.</div><div class="screen">"APACHE2_HOME" resp. "APACHE22_HOME" resp. "APACHE24_HOME"</div><div class="screen">to the installation path of your Apache web server.</div><code><nobr><em class="screen">c:\&gt;</em><b class="screen">set APACHE24_HOME=D:\software\Apache\httpd-2.4.16</b></nobr></code><br></td></tr></table></div></p>
+<screen>
+<note>Set up 32 or 64 Bit build environment</note>
+<typedos>setenv /Release /X86</typedos>
+<note>or (not available for IDE build)</note>
+<typedos>setenv /Release /X64</typedos>
+<note>Download tomcat-connectors-xxx-src.zip from</note>
+<note>https://tomcat.apache.org/download-connectors.cgi</note>
+<note>and unpack it</note>
+<typedos>unzip tomcat-connectors-xxx-src.zip</typedos>
+<note>Change directory to the mod_jk source directory.</note>
+<note>To build mod_jk for the Apache HTTP server 2.0, 2.2 or 2.4,</note>
+<note>use the "apache-2.0" directory, for the old</note>
+<note>Apache HTTP server 1.3, the "apache-1.3" directory.</note>
+<typedos>cd tomcat-connectors-xxx-src\native\apache-2.0</typedos>
+<note>Set the environment variable "APACHE1_HOME" resp.</note>
+<note>"APACHE2_HOME" resp. "APACHE22_HOME" resp. "APACHE24_HOME"</note>
+<note>to the installation path of your Apache web server.</note>
+<typedos>set APACHE24_HOME=D:\software\Apache\httpd-2.4.16</typedos>
+</screen>
 </p>
 <p>
 The steps for an IDE build are then:
@@ -1052,7 +1027,7 @@ of your Apache HTTP server (resp. the li
 For Apache HTTP Server 1.3, ApacheCore.lib is expected to exist before
 linking mod_jk will succeed.
 </p>
-</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Building mod_jk for Apache on System I - i5/OS (OS400)"><strong>Building mod_jk for Apache on System I - i5/OS (OS400)</strong></a></font></td></tr><tr><td><blockquote>
+</div><h3 id="Building_mod_jk_for_Apache_on_System_I_-_i5/OS_(OS400)">Building mod_jk for Apache on System I - i5/OS (OS400)</h3><div class="text">
 <p>
 Since OS400 V4R5, System I (AS/400) has used Apache 2.0 as their primary web server,
 replacing the old IBM web server.
@@ -1102,29 +1077,81 @@ Send the whole jk source directory to Sy
 Then go to the System I command line:
 </li>
 </ul>
-<p class="screen"><div align="left"><table width="80%" border="1" cellspacing="0" cellpadding="2" bgcolor="#000000"><tr><td bgcolor="#000000" align="left"><div class="screen">Create mod_jk library</div><code><nobr><em class="screen">===&gt;</em><b class="screen">CRTLIB MOD_JK TEXT(&#145;Apache mod'jk tomcat connector module')</b></nobr></code><br><div class="screen">Create service program source file</div><code><nobr><em class="screen">===&gt;</em><b class="screen">CRTSRCPF MOD_JK/QSRVSRC TEXT(&#145;Service program source file&#146;)</b></nobr></code><br><div class="screen">Create the CL build program source file</div><code><nobr><em class="screen">===&gt;</em><b class="screen">CRTSRCPF FILE(MOD_JK/QCLSRC) TEXT(&#145;Build program source file&#146;)</b></nobr></code><br><div class="screen">Edit the service program source file</div><code><nobr><em class="screen">===&gt;</em><b class="screen">STRSEU MOD_JK/QSRVSRC MOD_JK</b></nobr></code><br></td></tr></table></div></p>
+<screen>
+<note>Create mod_jk library</note>
+<type5250>CRTLIB MOD_JK TEXT(&#145;Apache mod'jk tomcat connector module')</type5250>
+<note>Create service program source file</note>
+<type5250>CRTSRCPF MOD_JK/QSRVSRC TEXT(&#145;Service program source file&#146;)</type5250>
+<note>Create the CL build program source file</note>
+<type5250>CRTSRCPF FILE(MOD_JK/QCLSRC) TEXT(&#145;Build program source file&#146;)</type5250>
+<note>Edit the service program source file</note>
+<type5250>STRSEU MOD_JK/QSRVSRC MOD_JK</type5250>
+</screen>
 <p>
 In the edited file, specify that only jk_module should be exported:
-<p class="screen"><div align="left"><table width="80%" border="1" cellspacing="0" cellpadding="2" bgcolor="#000000"><tr><td bgcolor="#000000" align="left"><div class="screen"> Columns   . . :    1  71     Edit                               MOD_JK/QSRVSRC </div><div class="screen"> SEU==&gt;                                                                  MOD_JK </div><div class="screen">        *************** Beginning of data ************************************* </div><div class="screen">0001.00 STRPGMEXP PGMLVL(*CURRENT)                                              </div><div class="screen">0002.00 EXPORT SYMBOL("jk_module")                                              </div><div class="screen">0003.00 ENDPGMEXP                                                               </div><div class="screen">        ****************** End of data **************************************** </div></td></tr></table></div></p>
+<screen>
+<note> Columns   . . :    1  71     Edit                               MOD_JK/QSRVSRC </note>
+<note> SEU==&gt;                                                                  MOD_JK </note>
+<note>        *************** Beginning of data ************************************* </note>
+<note>0001.00 STRPGMEXP PGMLVL(*CURRENT)                                              </note>
+<note>0002.00 EXPORT SYMBOL("jk_module")                                              </note>
+<note>0003.00 ENDPGMEXP                                                               </note>
+<note>        ****************** End of data **************************************** </note>
+</screen>
 </p>
 <p>
 You could start to build all the modules of mod_jk (cases for V5R4 or previous releases):
 </p>
-<p class="screen"><div align="left"><table width="80%" border="1" cellspacing="0" cellpadding="2" bgcolor="#000000"><tr><td bgcolor="#000000" align="left"><div class="screen">Copy the CL build program source for i5/OS before V5R4 from IFS</div><code><nobr><em class="screen">===&gt;</em><b class="screen">CPYFRMSTMF FROMSTMF('/home/apache/jk/native/apache-2.0/bldjk.qclsrc') +</b></nobr></code><br><div class="screen">TOMBR('/QSYS.LIB/MOD_JK.LIB/QCLSRC.FILE/BLDJK.MBR') MBROPT(*REPLACE)</div><div class="screen">Build the CL build program</div><code><nobr><em class="screen">===&gt;</em><b class="screen">CRTCLPGM PGM(MOD_JK/BLDJK) SRCFILE(MOD_JK/QCLSRC) TEXT('Apache mod_jk build program')</b></nobr></code><br><div class="screen">Launch the build</div><code><nobr><em class="screen">===&gt;</em><b class="screen">CALL MOD_JK/BLDJK</b></nobr></code><br><div class="screen">If the build if successfull, copy the new mod_jk module</div><code><nobr><em class="screen">===&gt;</em><b class="screen">C
 RTDUPOBJ OBJ(MOD_JK) FROMLIB(MOD_JK) OBJTYPE(*SRVPGM) TOLIB(QHTTPSVR) NEWOBJ(MOD_JK)</b></nobr></code><br></td></tr></table></div></p>
-<p class="screen"><div align="left"><table width="80%" border="1" cellspacing="0" cellpadding="2" bgcolor="#000000"><tr><td bgcolor="#000000" align="left"><div class="screen">Copy the CL build program source for i5/OS V5R4 from IFS</div><code><nobr><em class="screen">===&gt;</em><b class="screen">CPYFRMSTMF FROMSTMF('/home/apache/jk/native/apache-2.0/bldjk54.qclsrc') +</b></nobr></code><br><div class="screen">TOMBR('/QSYS.LIB/MOD_JK.LIB/QCLSRC.FILE/BLDJK54.MBR') MBROPT(*REPLACE)</div><div class="screen">Build the CL build program for i5/OS V5R4</div><code><nobr><em class="screen">===&gt;</em><b class="screen">CRTCLPGM PGM(MOD_JK/BLDJK54) SRCFILE(MOD_JK/QCLSRC) TEXT('Apache mod_jk build program') TGTRLS(*CURRENT)</b></nobr></code><br><div class="screen">Launch the build for i5/OS V5R4</div><code><nobr><em class="screen">===&gt;</em><b class="screen">CALL MOD_JK/BLDJK54</b></nobr></code><br><div class="screen">If the build if successfull, copy the new mod_jk module</div><code><nobr><e
 m class="screen">===&gt;</em><b class="screen">CRTDUPOBJ OBJ(MOD_JK) FROMLIB(MOD_JK) OBJTYPE(*SRVPGM) TOLIB(QHTTPSVR) NEWOBJ(MOD_JK)</b></nobr></code><br></td></tr></table></div></p>
+<screen>
+<note>Copy the CL build program source for i5/OS before V5R4 from IFS</note>
+<type5250>CPYFRMSTMF FROMSTMF('/home/apache/jk/native/apache-2.0/bldjk.qclsrc') +</type5250>
+<note>TOMBR('/QSYS.LIB/MOD_JK.LIB/QCLSRC.FILE/BLDJK.MBR') MBROPT(*REPLACE)</note>
+<note>Build the CL build program</note>
+<type5250>CRTCLPGM PGM(MOD_JK/BLDJK) SRCFILE(MOD_JK/QCLSRC) TEXT('Apache mod_jk build program')</type5250>
+<note>Launch the build</note>
+<type5250>CALL MOD_JK/BLDJK</type5250><br>
+<note>If the build if successfull, copy the new mod_jk module</note>
+<type5250>CRTDUPOBJ OBJ(MOD_JK) FROMLIB(MOD_JK) OBJTYPE(*SRVPGM) TOLIB(QHTTPSVR) NEWOBJ(MOD_JK)</type5250>
+</screen>
+<screen>
+<note>Copy the CL build program source for i5/OS V5R4 from IFS</note>
+<type5250>CPYFRMSTMF FROMSTMF('/home/apache/jk/native/apache-2.0/bldjk54.qclsrc') +</type5250>
+<note>TOMBR('/QSYS.LIB/MOD_JK.LIB/QCLSRC.FILE/BLDJK54.MBR') MBROPT(*REPLACE)</note>
+<note>Build the CL build program for i5/OS V5R4</note>
+<type5250>CRTCLPGM PGM(MOD_JK/BLDJK54) SRCFILE(MOD_JK/QCLSRC) TEXT('Apache mod_jk build program') TGTRLS(*CURRENT)</type5250>
+<note>Launch the build for i5/OS V5R4</note>
+<type5250>CALL MOD_JK/BLDJK54</type5250><br>
+<note>If the build if successfull, copy the new mod_jk module</note>
+<type5250>CRTDUPOBJ OBJ(MOD_JK) FROMLIB(MOD_JK) OBJTYPE(*SRVPGM) TOLIB(QHTTPSVR) NEWOBJ(MOD_JK)</type5250>
+</screen>
 <p>
 Next, you should restart your Apache 2.0 instance and enjoy this piece of OpenSource on System I.
 </p>
-<p class="screen"><div align="left"><table width="80%" border="1" cellspacing="0" cellpadding="2" bgcolor="#000000"><tr><td bgcolor="#000000" align="left"><div class="screen">ENDTCPSVR SERVER(*HTTP) HTTPSVR(MYSERVER)</div><div class="screen">STRTCPSVR SERVER(*HTTP) HTTPSVR(MYSERVER)</div></td></tr></table></div></p>
-</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Building mod_jk for Apache on MacOS/X"><strong>Building mod_jk for Apache on MacOS/X</strong></a></font></td></tr><tr><td><blockquote>
+<screen>
+<note>ENDTCPSVR SERVER(*HTTP) HTTPSVR(MYSERVER)</note>
+<note>STRTCPSVR SERVER(*HTTP) HTTPSVR(MYSERVER)</note>
+</screen>
+</div><h3 id="Building_mod_jk_for_Apache_on_MacOS/X">Building mod_jk for Apache on MacOS/X</h3><div class="text">
 <p>
 Mac OS X (10.2.x) build notes:
 </p>
 <p>
 Assuming that you are root:
 </p>
-<p class="screen"><div align="left"><table width="80%" border="1" cellspacing="0" cellpadding="2" bgcolor="#000000"><tr><td bgcolor="#000000" align="left"><div class="screen">For Apache 1.3:</div><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">./configure --with-apxs=/usr/sbin/apxs</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">cd apache-1.3</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">make -f Makefile.apxs</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">cp mod_jk.so /etc/libexec/httpd</b></nobr></code><br><div class="screen">For Apache 2.x:</div><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">./configure --with-apxs=/usr/local/apache2/bin/apxs</b></nobr></code><br><div class="screen">(you should point to the directory where you installed Apache 2.x)</div><code><nobr><em class="screen">[user@host] ~ $ </em><b
  class="screen">cd apache-2.0</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">make -f Makefile.apxs install</b></nobr></code><br></td></tr></table></div></p>
-</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Getting mod_jk linked statically with Apache"><strong>Getting mod_jk linked statically with Apache</strong></a></font></td></tr><tr><td><blockquote>
+<screen>
+<note>For Apache 1.3:</note>
+<type>./configure --with-apxs=/usr/sbin/apxs</type>
+<type>cd apache-1.3</type>
+<type>make -f Makefile.apxs</type>
+<type>cp mod_jk.so /etc/libexec/httpd</type>
+
+<note>For Apache 2.x:</note>
+<type>./configure --with-apxs=/usr/local/apache2/bin/apxs</type>
+<note>(you should point to the directory where you installed Apache 2.x)</note>
+<type>cd apache-2.0</type>
+<type>make -f Makefile.apxs install</type>
+</screen>
+</div><h3 id="Getting_mod_jk_linked_statically_with_Apache">Getting mod_jk linked statically with Apache</h3><div class="text">
 <p>
 mod_jk allows to install mod_jk in the Apache source tree to get a statically
 linked mod_jk. Having mod_jk in the Apache executable brings some small performance
@@ -1134,27 +1161,69 @@ The option --with-apache works both for
 The examples below show how to get mod_jk in the Apache process.
 </p>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Installation for Apache-2.x"><strong>Installation for Apache-2.x</strong></a></font></td></tr><tr><td><blockquote>
-<p class="screen"><div align="left"><table width="80%" border="1" cellspacing="0" cellpadding="2" bgcolor="#000000"><tr><td bgcolor="#000000" align="left"><div class="screen"> /home/apache24/httpd-2.4.12 is the directory where the Apache HTTP Server sources
-are located. </div><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">./configure --with-apache=/home/apache24/httpd-2.4.12</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">make</b></nobr></code><br><div class="screen">Install the mod_jk library and other files in
-/home/apache24/httpd-2.4.12/modules: </div><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">make install</b></nobr></code><br><div class="screen"> It is not possible to configure Apache directly because the config.m4 of mod_jk must
-be added to the configure of httpd-2.x. </div><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">cd /home/apache24/httpd-2.4.12</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">sh buildconf</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">configure ... --with-mod_jk</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">make</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">make install</b></nobr></code><br></td></tr></table></div></p>
+<div class="subsection"><h4 id="Installation_for_Apache-2.x">Installation for Apache-2.x</h4><div class="text">
+<screen>
+<note> /home/apache24/httpd-2.4.12 is the directory where the Apache HTTP Server sources
+are located. </note>
+<type>./configure --with-apache=/home/apache24/httpd-2.4.12</type><br>
+<type>make</type><br>
+<note>Install the mod_jk library and other files in
+/home/apache24/httpd-2.4.12/modules: </note>
+<type>make install</type><br>
+<note> It is not possible to configure Apache directly because the config.m4 of mod_jk must
+be added to the configure of httpd-2.x. </note>
+<type>cd /home/apache24/httpd-2.4.12</type>
+<type>sh buildconf</type>
+<type>configure ... --with-mod_jk</type>
+<type>make</type>
+<type>make install</type><br>
+</screen>
 <p>
 The enable-jk=share and enable-jk=static are not supported. --with-mod_jk only
 allow static linking of mod_jk.
 </p>
-</blockquote></td></tr></table>
+</div></div>
 
-<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Installation for Apache-1.3"><strong>Installation for Apache-1.3</strong></a></font></td></tr><tr><td><blockquote>
-<p class="screen"><div align="left"><table width="80%" border="1" cellspacing="0" cellpadding="2" bgcolor="#000000"><tr><td bgcolor="#000000" align="left"><div class="screen"> /home/apache/apache_1.3.27 is the directory where the apache-1.3 sources
-are located. </div><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">./configure --with-apache=/home/apache/apache_1.3.27</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">make</b></nobr></code><br><div class="screen">Install the libjk library, mod_jk.c, includes and other files in
-/home/apache/apache_1.3.27/src/modules/jk: </div><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">make install</b></nobr></code><br><div class="screen"> Configure in the Apache sources: </div><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">cd /home/apache/apache_1.3.27</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">configure ... --enable-module=dir --disable-shared=dir \</b></nobr></code><br><code><nobr><em class="screen"> </em><b class="screen">              --activate-module=src/modules/jk/libjk.a \</b></nobr></code><br><code><nobr><em class="screen"> </em><b class="screen">              --disable-shared=jk</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">make</b></nobr></code><br><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">make install</b></nobr></code><br></td></tr></table></div></p>
+<div class="subsection"><h4 id="Installation_for_Apache-1.3">Installation for Apache-1.3</h4><div class="text">
+<screen>
+<note> /home/apache/apache_1.3.27 is the directory where the apache-1.3 sources
+are located. </note>
+<type>./configure --with-apache=/home/apache/apache_1.3.27</type><br>
+<type>make</type><br>
+<note>Install the libjk library, mod_jk.c, includes and other files in
+/home/apache/apache_1.3.27/src/modules/jk: </note>
+<type>make install</type><br>
+<note> Configure in the Apache sources: </note>
+<type>cd /home/apache/apache_1.3.27</type>
+<type>configure ... --enable-module=dir --disable-shared=dir \</type>
+<typenext>              --activate-module=src/modules/jk/libjk.a \</typenext>
+<typenext>              --disable-shared=jk</typenext>
+<type>make</type>
+<type>make install</type><br>
+</screen>
 <p>
 The --enable-shared=jk is also working and builds a dso file.
 </p>
-<p class="screen"><div align="left"><table width="80%" border="1" cellspacing="0" cellpadding="2" bgcolor="#000000"><tr><td bgcolor="#000000" align="left"><div class="screen"> Just change the configure in the Apache sources: </div><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">configure ... --enable-module=dir --enable-shared=dir \</b></nobr></code><br><code><nobr><em class="screen"> </em><b class="screen">              --activate-module=src/modules/jk/libjk.a \</b></nobr></code><br><code><nobr><em class="screen"> </em><b class="screen">              --enable-shared=jk</b></nobr></code><br></td></tr></table></div></p>
-</blockquote></td></tr></table>
-
-</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>
-        Copyright &copy; 1999-2018, Apache Software Foundation
-        </em></font></div></td></tr></table></body></html>
\ No newline at end of file
+<screen>
+<note> Just change the configure in the Apache sources: </note>
+<type>configure ... --enable-module=dir --enable-shared=dir \</type>
+<typenext>              --activate-module=src/modules/jk/libjk.a \</typenext>
+<typenext>              --enable-shared=jk</typenext>
+</screen>
+</div></div>
+
+</div><div class="noprint"><h3 id="comments_section">
+                  Comments
+                </h3><div class="text"><p class="notice"><strong>Notice:</strong> This comments section collects your suggestions
+                    on improving documentation for Apache Tomcat.<br><br>
+                    If you have trouble and need help, read
+                    <a href="https://tomcat.apache.org/findhelp.html">Find Help</a> page
+                    and ask your question on the tomcat-users
+                    <a href="https://tomcat.apache.org/lists.html">mailing list</a>.
+                    Do not ask such questions here. This is not a Q&amp;A section.<br><br>
+                    The Apache Comments System is explained <a href="../../comments.html">here</a>.
+                    Comments may be removed by our moderators if they are either
+                    implemented or considered invalid/off-topic.
+                  </p><div id="comments_thread"></div></div></div></div></div></div></div><footer><div id="footer">
+    Copyright &copy; 1999-yyyy, The Apache Software Foundation
+  </div></footer></div></body></html>
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org