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=1763527&r1=1763526&r2=1763527&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 Thu Oct 6 09:00:17 2016 @@ -1,7 +1,8 @@ -<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>The Apache Tomcat Connectors - Webserver HowTo - Apache HTTP Server HowTo</title><meta name="author" value="Henri Gomez"><meta name="email" value="hgo...@apache.org"><meta name="author" value="Gal Shachor"><meta name="email" value="shac...@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 MAIN 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 - Webserver 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> +<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="hgo...@apache.org"><meta name="author" value="Gal Shachor"><meta name="email" value="shac...@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> <p> -This document explains how to connect Tomcat to the popular open source web server, Apache httpd. -You can use mod_jk, the Tomcat redirector module, with any version of Apache starting with 1.3. +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 +of Tomcat starting with (at least) 3.2. </p> <p> @@ -14,12 +15,12 @@ For more detailed configuration informat and <a href="../../reference/apache.html">Apache</a>. </p> -<p><b>Waring: If Apache HTTP Server and Tomcat are configured to serve content from -the same filing system location then care must be taken to ensure that httpd is +<p><b>Warning: If Apache and Tomcat are configured to serve content from +the same file system location then care must be taken to ensure that Apache is not able to serve inappropriate content such as the contents of the WEB-INF -directory or JSP source code.</b> This could occur if the httpd DocumentRoot +directory or JSP source code.</b> This could occur if the Apache DocumentRoot overlaps with a Tomcat Host's appBase or the docBase of any Context. It could -also occur when using the httpd Alias directive with a Tomcat Host's appBase or +also occur when using the Apache Alias directive with a Tomcat Host's appBase or the docBase of any Context. </p> @@ -63,7 +64,7 @@ supporting Apache 1.3 and/or 2.x WinNT4.0-i386 SP4/SP5/SP6a (should be able to work with other service packs), Win2K and WinXP and Win98 </li> <li> -Cygwin (until you have an apache server and autoconf/automake support tools) +Cygwin (until you have an Apache server and autoconf/automake support tools) </li> <li> Netware @@ -78,27 +79,20 @@ Tomcat 3.2 to Tomcat 8. </p> <p> -The redirector uses <b>ajp12</b> and <b>ajp13</b> to send requests to the Tomcat containers. There is also an option to use Tomcat in process, -more about the in-process mode can be found in the in process howto. +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> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Who support ajp protocols ?"><strong>Who support ajp protocols ?</strong></a></font></td></tr><tr><td><blockquote> +<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> <p> -The ajp12 protocol is only available in Tomcat 3.2.x and 3.3.x. +Tomcat supports ajp13 since Tomcat 3.2. +Others servlet engines such as <b>Jetty</b> or <b>JBoss</b> also support the ajp13 protocol </p> <p> -The <b>ajp12</b> has been <b>deprecated</b> with Tomcat 3.3.x and you should use instead -<b>ajp13</b> which is the only ajp protocol known by Tomcat 4 and above. -</p> - -<p> -Of course Tomcat 3.2.x and 3.3.x also support ajp13 protocol. -</p> - -<p> -Others servlet engines such as <b>jetty</b> have support for ajp13 protocol +The <b>ajp12</b> protocol has been <b>deprecated</b> and you should no longer use it. +The <b>ajp14</b> protocol is considered experimental. </p> </blockquote></td></tr></table> @@ -192,8 +186,8 @@ A sample workers.properties can be found </p> <p> -Also as with other Apache HTTP Server modules, mod_jk should be first installed on the modules directory of your -Apache webserver, ie : /usr/lib/apache and you should update your <b>httpd.conf</b> file. +Also as with other Apache modules, mod_jk should be first installed on the modules directory of your +Apache HTTP Server, ie: /usr/lib/apache and you should update your <b>httpd.conf</b> file. </p> @@ -213,8 +207,9 @@ The mod_jserv configuration directives a </blockquote></td></tr></table> <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> <p> -The auto-configure works only for a single Tomcat running on the same machine where Apache HTTP Server is running. +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 in Tomcat and put the following include directive at the end of your Apache httpd.conf file (make sure you replace $TOMCAT_HOME with the correct path for your Tomcat installation: @@ -230,7 +225,7 @@ Note: this file may also be generated as </p> <p> -This will tell Apache HTTP Server to use directives in the <b>mod_jk.conf-auto</b> file in +This will tell the Apache HTTP Server to use directives in the <b>mod_jk.conf-auto</b> file in the Apache configuration. This file is created by enabling the Apache auto-configuration by creating your workers.properties file at $TOMCAT_HOME/conf/jk/workers.properties and adding the listener to the Engine @@ -251,7 +246,7 @@ element in the server.xml file as per th <p> Then restart Tomcat and mod_jk.conf should be generated. For more information on this topic, please refer to the API documentation at the -<a href="http://tomcat.apache.org/tomcat-5.5-doc/catalina/docs/api/org/apache/jk/config/ApacheConfig.html"> +<a href="http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/jk/config/ApacheConfig.html"> Tomcat docs website</a>. </p> @@ -259,7 +254,7 @@ Tomcat docs website</a>. <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> <p> -You should use custom configuration when : +You should use custom configuration when: </p> <ul> <li> @@ -271,7 +266,7 @@ Another case for custom configuration is each one having it's own configuration, a general case in ISP hosting </li> <li> -Also all Apache webmaster will retain custom configuration to be able to tune the settings +Also most Apache web masters will retain custom configuration to be able to tune the settings to their real needs. </li> </ul> @@ -296,10 +291,8 @@ Here is a simple configuration: JkLogFile /var/log/httpd/mod_jk.log # Set the jk log level [debug/error/info] JkLogLevel info - # Send servlet for context /examples to worker named worker1 - JkMount /examples/servlet/* worker1 - # Send JSPs for context /examples to worker named worker1 - JkMount /examples/*.jsp worker1 + # Send requests for context /examples to worker named worker1 + JkMount /examples/* worker1 </pre></div> </blockquote></td></tr></table> @@ -341,7 +334,7 @@ be used for piped logging: <p> <b>JkLogLevel</b> -set the log level between : +set the log level between: </p> <ul> @@ -368,7 +361,7 @@ set the log level between : <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> @@ -382,9 +375,9 @@ See the mod_jk <a href="../../reference/ <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 httpd notes table. +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> @@ -403,7 +396,7 @@ You can also log a request protocol in t 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> @@ -451,7 +444,7 @@ options(vhost) = plus_options(global) - <p> Using JkOptions <b>ForwardURIProxy</b>, the forwarded URI -will be partially reencoded after processing inside Apache httpd and +will be partially reencoded after processing inside Apache and before forwarding to Tomcat. This will be compatible with local URL manipulation by mod_rewrite and with URL encoded session ids. @@ -479,7 +472,7 @@ will not work. </p> <p> Using JkOptions <b>ForwardURICompat</b>, the forwarded URI will -be decoded by Apache httpd. Encoded characters will be decoded and +be decoded by Apache. Encoded characters will be decoded and explicit path components like ".." will already be resolved. This is less spec compliant and is <b>not safe</b> if you are using prefix JkMount. This option will allow to rewrite URIs with @@ -567,7 +560,7 @@ bypassing your unmount rules. <p> JkOptions <b>ForwardDirectories</b> is used in conjunction with <b>DirectoryIndex</b> -directive of Apache web server. As such mod_dir should be available to Apache, +directive of Apache. As such mod_dir should be available to Apache, statically or dynamically (DSO) <br> <br> @@ -608,9 +601,9 @@ file that Tomcat normally serves - for i <p> Setting JkOptions <b>ForwardLocalAddress</b>, you ask mod_jk to send the local address -of the Apache web server instead of remote client address. This can be used by -Tomcat remote address valve for allowing connections only from registered Apache -web servers. +of the Apache HTTP Server instead of remote client address. This can be used by +Tomcat remote address valve for allowing connections only from configured Apache +servers. <div class="example"><pre> JkOptions +ForwardLocalAddress @@ -695,7 +688,7 @@ This flag shouldn't be set when servlet </p> <p> -JkOptions <b>ForwardSSLCertChain</b>, you ask mod_jk, when using ajp13, +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 problem with self-signed certificates or certificates directly signed by the @@ -766,7 +759,7 @@ You can use the JkMount directive at the <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> <p> -If the Tomcat Host appBase (webapps) directory is accessible by the Apache web server, +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 of passing the request to Tomcat. </p> @@ -774,8 +767,8 @@ of passing the request to Tomcat. <p> Caution: For security reasons it is strongly recommended that JkMount is used to pass all requests to Tomcat by default and JkUnMount is used to explicitly -exclude static content to be served by httpd. It should also be noted that -content served by httpd will bypass any security constraints defined in the +exclude static content to be served by Apache. It should also be noted that +content served by Apache will bypass any security constraints defined in the application's web.xml. </p> @@ -784,11 +777,11 @@ document space for a VirtualHost: </p> <div class="example"><pre> - # Static files in the examples webapp are served by apache + # 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 httpd + # Serve html, jpg and gif using Apache JkUnMount /*.html worker1 JkUnMount /*.jpg worker1 JkUnMount /*.gif worker1 @@ -810,7 +803,7 @@ directive when jk and alias/userdir URLs ServerName testxxx.mysys DocumentRoot /www/testxxx/htdocs - # Use SetEnvIf to st no-jk when /home/ is encountered + # Use SetEnvIf to set no-jk when /home/ is encountered SetEnvIf Request_URI "/home/*" no-jk # Now /home will goes to /home/dataxxx/ @@ -841,12 +834,12 @@ or a Web Archive *.war within the Tomcat </p> <div class="example"><pre> - # Static files in all Tomcat webapp context directories are served by apache + # 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 httpd + # Serve html, jpg and gif using Apache JkUnMount /*.html ajp13 JkUnMount /*.jpg ajp13 JkUnMount /*.gif ajp13 @@ -855,7 +848,7 @@ or a Web Archive *.war within the Tomcat <p> If you encoded all your URLs to contain the session id (<b class="code">;jsessionid=...</b>), and you later decide, you want to -move part of the content to Apache httpd, you can tell +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. </p> @@ -875,7 +868,7 @@ The mod_jk build use the widely used con In case you get source from subversion, ie without an existing configure script, you should have autoconf for configuration and installation. <p> -To create tomcat-connectors's autoconf script, you will need libtool +To create the mod_jk autoconf script, you will need libtool 1.5.2, automake 1.10 and autoconf 2.59 or newer. The use of more recent versions is encouraged, e.g. for reliable detection of the features of recent version of operating systems. @@ -884,7 +877,7 @@ Those tools will not be required if you they are only required for developers. </p> <p> -To create the configure script just type : +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> </p> @@ -893,7 +886,7 @@ To create the configure script just type <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> <p>Here's how to use configure to prepare mod_jk for building, just type: <div class="example"><pre> -./configure [autoconf arguments] [tomcat-connectors arguments] +./configure [autoconf arguments] [mod_jk arguments] </pre></div> </p> @@ -904,27 +897,28 @@ You could set <b>CFLAGS</b> and <b>LDFLA <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> <p> -If you want to build mod_jk for different version of Apache httpd, like 1.3 or 2.x, +If you want to build mod_jk for different versions of the Apache HTTP Server, like 1.3 or 2.x, you need to go through the full build process for each of them. -Please note, that httpd 2.0, 2.2 or 2.4 modules are <b>not</b> binary compatible. +Please note, that Apache 2.0, 2.2 or 2.4 modules are <b>not</b> binary compatible. You have to compile the module using the Apache version you plan to run it in. -The mod_jk build directory used is "apache-2.0" for all 2.x builds. +The mod_jk build directory used is "apache-2.0" for all 2.x builds. The source code +is compatible with Apache HTTP Server 2.0, 2.2 and 2.4. <ul> <li> -use configure and indicate the correct Apache httpd apxs location (--with-apxs) +use configure and indicate the correct Apache HTTP Server apxs location (--with-apxs) </li> <li> use make </li> <li> copy the resulting mod_jk.so binary from the apache-1.3 or apache-2.0 subdirectory -to the Apache httpd modules location. +to the Apache HTTP Server modules location. </li> <li> make clean (to remove all previously compiled object files) </li> <li> -Start over with the apxs location for your next Apache httpd version. +Start over with the apxs location for your next Apache HTTP Server version. </li> </ul> @@ -942,25 +936,25 @@ It builds a shared Apache module. It det (2.x and 1.3)</td> </tr> <tr valign="top"><td>--with-apache=DIR</td> - <td>DIR is the path where apache sources are located. -The apache sources should have been configured before configuring mod_jk. + <td>DIR is the path where Apache sources are located. +The Apache sources should have been configured before configuring mod_jk. DIR is something like: /home/apache/apache_1.3.19 It builds a static Apache module.</td> </tr> <tr valign="top"><td>--enable-EAPI</td> <td>This parameter is needed when using Apache-1.3 and mod_ssl, otherwise you will get the error message: -"this module might crash under EAPI!" when loading mod_jk.so in httpd. +"this module might crash under EAPI!" when loading mod_jk.so in Apache. Not needed when --with-apxs has been used</td> </tr> <tr valign="top"><td>--enable-prefork</td> <td> -In case you build mod_jk for a multi-threaded Apache httpd 2.x MPM (Multi-Processing Module), +In case you build mod_jk for a multi-threaded Apache HTTP Server 2.x MPM (Multi-Processing Module), some areas of mod_jk code need to be synchronised to make it thread-safe. Because configure can not easily detect, whether your are using a multi-threaded MPM, -mod_jk by default is always build thread-safe for Apache httpd 2.x. +mod_jk by default is always build thread-safe for Apache HTTP Server 2.x. If you are sure, that your MPM is not multi-threaded, you can use "--enable-prefork" to force the removal of the synchronisation code (thus increasing performance a bit). -For instance, the prefork MPM is not multi-threaded. For Apache httpd 1.3 +For instance, the prefork MPM is not multi-threaded. For Apache HTTP Server 1.3 this flag will be set automatically.</td> </tr> <tr valign="top"><td>--disable-trace</td> @@ -976,10 +970,10 @@ will still be possible.</td> </tr> <tr valign="top"><td>--enable-api-compatibility</td> <td> -Only use httpd API functions available in all httpd production releases -of the chosen major httpd release branch. This improves binary -compatibility of module builds with httpd releases older than the release -against mod_jk is build (only between minor httpd versions).</td> +Only use Apache API functions available in all Apache production releases +of the chosen major Apache release branch. This improves binary +compatibility of module builds with Apache releases older than the release +against mod_jk is build (only between minor Apache versions).</td> </tr> <tr valign="top"><td>--enable-flock</td> <td> @@ -999,49 +993,92 @@ However those locks does not work on NFS </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 for Apache on Windows NT/2K/XP"><strong>Building mod_jk for Apache on Windows NT/2K/XP</strong></a></font></td></tr><tr><td><blockquote> +</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> <p> -The module was developed using Visual C++ version 6.0, so having this environment is a prerequisite -if you want to perform a custom build. +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> +<p> +You can build the source using the IDE GUI, or using a pure +commandline build based on nmake. The IDE build currently only +supports building 32 Bit binaries. The nmake builds are available +for 32 Bit and 64 Bit binaries. </p> <p> -The steps that you need to take are: +The common steps for all build procedures are: +<ul> +<li> +Set up your build environment for 32 Bits or 64 Bits. +The IDE build only supports 32 Bits. +</li> +<li> +Download the sources as a zip file and unpack it. +</li> +<li> +Change directory to the ISAPI redirector source directory. +</li> +<li> +Set your path to the Apache web server directory in your +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:\></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:\></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:\></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:\></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:\></em><b class="screen">set APACHE24_HOME=D:\software\Apache\httpd-2.4.16</b></nobr></code><br></td></tr></table></div></p> </p> +<p> +The steps for an IDE build are then: <ul> <li> -Change directory to the apache-1.3 or apache-2.0 source directory depending on your version of Apache. +Start Visual Studio using "start mod_jk.dsp" </li> <li> -If you want to build mod_jk for Apache 1.3, set an <b>APACHE1_HOME</b> environment variable which points -to where your Apache 1.3 is installed. -A mod_jk module for Apache 2.x build will require <b>APACHE2_HOME</b> environment variable to be set. +During IDE startup choose "Yes" in all conversion popups. </li> <li> -Copy mod_jk.so to Apache's modules directory. +Next choose a Configuration form the dropdown. There are pre-defined +configurations for debug and release builds and in the +"apache-2.0" directory each of them is available as a configuration +to build against the web server versions 2.0, 2.2 and 2.4. +</li> +<li> +Finally choose "Build Solution" in the "Build" menu. </li> </ul> +The resulting file mod_jk.so (and the debug symbol file +mod_jk.pdb) is located in the "Debug" resp. "Release" sub +directory depending on the build Configuration chosen. For +the "apache-2.0" module the directories are named "Debug_20", +"Release_20", "Debug_22", "Release_22", "Debug_24" and "Release_24" +depending on the chosen build configuration. +</p> <p> -An example on how to build mod_jk for Apache 1.3: +Alternatively the steps for an nmake commandline build are: +<ul> +<li> +Set your target architecture to X86 or X64 by editing the "ARCH=" +line in the file Makefile.vc. +</li> +<li> +Issue "nmake -f Makefile.vc" +</li> +</ul> +The resulting file mod_jk.so (and the debug symbol file +mod_jk.pdb) is located in the "Debug" resp. "Release" sub +directory depending on the build Configuration chosen. For +the "apache-2.0" module the directories are named "Debug_20", +"Release_20", "Debug_22", "Release_22", "Debug_24" and "Release_24" +depending on the chosen build configuration. </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">Set location for Apache 1.3 sources</div><code><nobr><em class="screen">c:\></em><b class="screen">set APACHE1_HOME=c:\apache13</b></nobr></code><br><div class="screen">Change directory to the mod_jk module for Apache 1.3</div><code><nobr><em class="screen">c:\></em><b class="screen">cd c:\home\apache\jk\native\apache-1.3</b></nobr></code><br><div class="screen">Build the sources using MSDEV</div><code><nobr><em class="screen">c:\></em><b class="screen">MSDEV mod_jk.dsp /MAKE ALL</b></nobr></code><br><div class="screen">Copy the dll to your apache modules directory</div><code><nobr><em class="screen">c:\></em><b class="screen">cp release\mod_jk.so c:\apache13\modules\</b></nobr></code><br></td></tr></table></div></p> - <p> -An example on how to build mod_jk for Apache 2.x: +Finally you need to copy the file mod_jk.so to the modules directory +of your Apache HTTP server (resp. the libexec directory for the old Apache 1.3). </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">Set location for Apache 2.x sources</div><code><nobr><em class="screen">c:\></em><b class="screen">set APACHE2_HOME=c:\apache20</b></nobr></code><br><div class="screen">Change directory to the mod_jk module for Apache 2.x</div><code><nobr><em class="screen">c:\></em><b class="screen">cd c:\home\apache\jk\native\apache-2.0</b></nobr></code><br><div class="screen">Build the sources using MSDEV</div><code><nobr><em class="screen">c:\></em><b class="screen">MSDEV mod_jk.dsp /MAKE ALL</b></nobr></code><br><div class="screen">Copy the dll to your apache modules directory</div><code><nobr><em class="screen">c:\></em><b class="screen">cp release\mod_jk.so c:\apache20\modules\</b></nobr></code><br></td></tr></table></div></p> - <p> -If msdev is not in your path, enter the full path to msdev.exe. -Also, ApacheCore.lib is expected to exist in the <b>${APACHEX_HOME}\src\CoreD</b> and -<b>${APACHEX_HOME}\src\CoreR</b> directories before linking will succeed. -You will need to build enough of the Apache source to create these libraries. -This will build both release and debug versions of the redirector plug-in (mod_jk). -An alternative will be to open mod_jk.dsp in msdev and build it using the build menu. +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> <p> Since OS400 V4R5, System I (AS/400) has used Apache 2.0 as their primary web server, -replacing the old IBM webserver. +replacing the old IBM web server. It's now possible to build mod_jk on System I thanks to the help of the IBM Rochester Labs which has provided information and patches to adapt mod_jk to i5/OS. </p> @@ -1060,7 +1097,7 @@ NB: The latest mod_jk known to work on i New in i5/OS V5R4, UTF is required, also for Apache modules, as such Apache modules do not require translations to/from EBCDIC but works should be done to port mod_jk 1.2.23 (and higher) to V5R4. -From the V5R4 Infocenter : +From the V5R4 Infocenter: As of i5/OS(tm) V5R4, modules must be recompiled with a UTF locale. This creates an environment where locale-dependent C runtime functions assume that string data is encoded in UTF-8. Any hardcoded constants can be encoded in UTF-8 by adding a #pragma convert(1208) statement in the module. @@ -1085,12 +1122,12 @@ Create a directory in IFS, ie /home/apac Send the whole jk source directory to System I directory via FTP. </li> <li> -Then go to the System I command line : +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">===></em><b class="screen">CRTLIB MOD_JK TEXT(‘Apache mod'jk tomcat connector module')</b></nobr></code><br><div class="screen">Create service program source file</div><code><nobr><em class="screen">===></em><b class="screen">CRTSRCPF MOD_JK/QSRVSRC TEXT(‘Service program source file’)</b></nobr></code><br><div class="screen">Create the CL build program source file</div><code><nobr><em class="screen">===></em><b class="screen">CRTSRCPF FILE(MOD_JK/QCLSRC) TEXT(‘Build program source file’)</b></nobr></code><br><div class="screen">Edit the service program source file</div><code><nobr><em class="screen">===></em><b class="screen">STRSEU MOD_JK/QSRVSRC MOD_JK</b></nobr></code><br></td></tr></table></div></p> <p> -In the edited file, specify that only jk_module should be exported : +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==> 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> </p> <p> @@ -1104,34 +1141,34 @@ Next, you should restart your Apache 2.0 <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> <p> -Mac OS X (10.2.x) build notes : +Mac OS X (10.2.x) build notes: </p> <p> -Assuming that you are root : +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> <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 httpd executable brings some performance +linked mod_jk. Having mod_jk in the Apache executable brings some small performance improvements. The configure option --with-apache prepare mod_jk to install it in the Apache source tree. The option --with-apache works both for Apache 1.3 and Apache 2.x. -The examples below show how to get mod_jk in the httpd process. +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 in Apache-2.x"><strong>Installation in 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/apache20/httpd-2.0.43 is the directory where the httpd-2.0 sources -are located. </div><code><nobr><em class="screen">[user@host] ~ $ </em><b class="screen">./configure --with-apache=/home/apache20/httpd-2.0.43</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/apache20/httpd-2.0.43/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/apache20/httpd-2.0.43</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> +<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> <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> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Installation in Apache-1.3"><strong>Installation in Apache-1.3</strong></a></font></td></tr><tr><td><blockquote> +<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> @@ -1142,5 +1179,5 @@ The --enable-shared=jk is also working a </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 © 1999-2015, Apache Software Foundation + Copyright © 1999-2016, Apache Software Foundation </em></font></div></td></tr></table></body></html> \ No newline at end of file
Modified: tomcat/site/trunk/docs/connectors-doc/webserver_howto/printer/iis.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/connectors-doc/webserver_howto/printer/iis.html?rev=1763527&r1=1763526&r2=1763527&view=diff ============================================================================== --- tomcat/site/trunk/docs/connectors-doc/webserver_howto/printer/iis.html (original) +++ tomcat/site/trunk/docs/connectors-doc/webserver_howto/printer/iis.html Thu Oct 6 09:00:17 2016 @@ -1,11 +1,11 @@ -<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>The Apache Tomcat Connectors - Webserver HowTo - IIS HowTo</title><meta name="author" value="Henri Gomez"><meta name="email" value="hgo...@apache.org"><meta name="author" value="Gal Shachor"><meta name="email" value="shac...@il.ibm.com"><meta name="author" value="Yoav Shapira"><meta name="email" value="yo...@apache.org"><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 MAIN 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 - Webserver HowTo</h1><h2>IIS 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> +<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat Connectors - Web Server HowTo - ISAPI redirector for Micrsoft IIS HowTo</title><meta name="author" value="Henri Gomez"><meta name="email" value="hgo...@apache.org"><meta name="author" value="Gal Shachor"><meta name="email" value="shac...@il.ibm.com"><meta name="author" value="Yoav Shapira"><meta name="email" value="yo...@apache.org"><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 MAIN 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>ISAPI redirector for Micrsoft IIS 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> <p> -This document explains how to set up IIS to cooperate with Tomcat. +This document explains how to set up the ISAPI redirector for IIS to cooperate with Tomcat. </p> <p> Normally IIS can not execute Servlets and Java Server Pages (JSPs), -configuring IIS to use the JK ISAPI redirector plugin will let IIS send servlet and +configuring IIS to use the ISAPI redirector plugin will let IIS send servlet and JSP requests to Tomcat (and this way, serve them to clients). </p> @@ -46,7 +46,7 @@ A worker is defined to be a tomcat proce <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> <p> -The IIS-Tomcat redirector works for: +The IIS to Tomcat redirector works for: <ul> <li> WinNT4.0-i386 SP4/SP5/SP6a (should be able to work with other service packs), Win98, WinXP, Win2K, @@ -62,8 +62,8 @@ Tomcat 3.2 to Tomcat 8. </p> <p> -The redirector uses <b>ajp12</b> and <b>ajp13</b> to send requests to the Tomcat containers. There is also an option to use Tomcat in process, -more about the in-process mode can be found in the in process howto. +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> @@ -91,22 +91,15 @@ because the library is not loadable into </p> </blockquote></td></tr></table> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Who support ajp protocols ?"><strong>Who support ajp protocols ?</strong></a></font></td></tr><tr><td><blockquote> +<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> <p> -The ajp12 protocol is only available in Tomcat 3.2.x and 3.3.x. +Tomcat supports ajp13 since Tomcat 3.2. +Others servlet engines such as <b>Jetty</b> or <b>JBoss</b> also support the ajp13 protocol </p> <p> -The <b>ajp12</b> has been <b>deprecated</b> with Tomcat 3.3.x and you should use instead -<b>ajp13</b> which is the only ajp protocol known by Tomcat 4 and above. -</p> - -<p> -Of course Tomcat 3.2.x and 3.3.x also support ajp13 protocol. -</p> - -<p> -Others servlet engines such as <b>jetty</b> have support for ajp13 protocol +The <b>ajp12</b> protocol has been <b>deprecated</b> and you should no longer use it. +The <b>ajp14</b> protocol is considered experimental. </p> </blockquote></td></tr></table> @@ -115,7 +108,7 @@ Others servlet engines such as <b>jetty< <p> <ol> <li> -The IIS-Tomcat redirector is an IIS plugin (filter + extension), IIS load the redirector plugin and calls its +The ISAPI redirector is a Microsoft IIS plugin (filter + extension). IIS loads the redirector plugin and calls its filter function for each in-coming request. </li> <li> @@ -136,18 +129,16 @@ The extension collects the response from </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> <p> -A pre-built version of the ISAPI redirector server plugin, isapi_redirect.dll, is available under -the win32/i386 directory of tomcat-connectors distribution. -For those using Netscape as your browser, try downloading a zip version of the file, if available. -There can be problems using Netscape to download DLL files. +A pre-built version of the ISAPI redirector plugin, isapi_redirect.dll, is available under +the win32/i386 directory of the Tomcat Connectors distribution. -You can also build a copy locally from the source present in tomcat-connectors distribution. +You can also build a copy locally from the Tomcat Connectors source distribution. -The Tomcat redirector requires three entities: +The ISAPI redirector requires three entities: <ul> <li> -<b>isapi_redirect.dll</b> - The IIS server plugin, either obtain a pre-built DLL or build it yourself (see the build section). +<b>isapi_redirect.dll</b> - The ISAPI redirector for Microsoft IIS plugin, either obtain a pre-built DLL or build it yourself (see the build section). </li> <li> <b><a href="../../reference/workers.html">workers.properties</a></b> - A file that describes the host(s) and port(s) used by the workers (Tomcat processes). @@ -223,7 +214,7 @@ you need to insert the full path to isap <li> If you're using IIS 6.0 you must also do the following: <br> -Using the IIS management console, add the Tomcat Isapi Redirector to the Web +Using the IIS management console, add the ISAPI Redirector to the Web Service Extensions. <ol> <li>Right-click on Web Service Extensions and choose Add a new Web Service @@ -244,8 +235,8 @@ PWS will still keep the DLLs in memory. </p> <p> That's all, you should now start Tomcat and ask IIS to serve you the /examples context. -Try <a href="http://localhost/examples/jsp/index.html">http://localhost/examples/jsp/index.html</a> for example and -execute some of the JSP examples. +Try <a href="http://localhost/examples/">http://localhost/examples/</a> for example and +execute some of the Servlet or JSP examples. </p> <p> If this does not work successfully, refer to the Troubleshooting section below for help on correcting the problem. @@ -302,7 +293,7 @@ even if these files are part of a contex Tomcat somewhat, by using it only to process requests that only Tomcat can handle (e.g. requests to JSP pages and java servlets). </p> <p> -For example, consider the html and gif files in the examples context : you could serve these files directly +For example, consider the html and gif files in the examples context: you could serve these files directly with IIS; there is no need to serve them from the Tomcat process. </p> <p><font color="#ff0000">However, you should be very careful when you implement the following configuration style, because by doing so you are @@ -329,7 +320,7 @@ For example adding a /example IIS virtua <p> Configuring the redirector is somewhat harder, you will need to specify the exact URL-Path pattern(s) which you want Tomcat to handle (usually only JSP files and servlets). -This requires a change to the uriworkermap.properties : +This requires a change to the uriworkermap.properties: <div class="example"><pre> For the examples context it requires to replace the following line @@ -350,12 +341,12 @@ whose name ends with .jsp. You can even be more explicit and provide lines such as: <div class="example"><pre> - /example/servletname=defworker + /example/servlets/chat=defworker </pre></div> </p> <p> -that instructs the redirector to redirect all requests whose URL-path matches the leading string "/example/servletname" +that instructs the redirector to redirect all requests whose URL-path matches the leading string "/example/servlets/chat" to the worker named defworker. </p> @@ -371,8 +362,8 @@ In particular, each servlet application which contains sensitive configuration data and Java classes, and which should always be kept hidden from web users. Using the IIS management console it is possible to protect the WEB-INF directory from user access, but considering that this is a general requirement, and considering that it is easy to forget to implement this protection -at the IIS level, the redirector plugin does it automatically for you, and it will reject any request -which contains WEB-INF in its URL-path. +at the IIS level, the ISAPI redirector plugin does it automatically for you, and it will reject any request +which contains WEB-INF in its URL path. It will also reject any request which contains META-INF in its URL path. </p> </blockquote></td></tr></table> @@ -422,27 +413,72 @@ and in the <a href="../../reference/work </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 ISAPI redirector"><strong>Building ISAPI redirector</strong></a></font></td></tr><tr><td><blockquote> +</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 the ISAPI redirector"><strong>Building the ISAPI redirector</strong></a></font></td></tr><tr><td><blockquote> <p> -The redirector was developed using Visual C++ Ver.6.0, so having this environment is a prerequisite if you want -to perform a custom build. You should also have the IIS developer SDK. - -The steps that you need to take are: +The redirector was developed using Microsoft Visual C++, so having Visual Studio installed +is a prerequisite if you want to perform your own build.</p> +<p> +You can build the source using the IDE GUI, or using a pure +commandline build based on nmake. The IDE build currently only +supports building 32 Bit binaries. The nmake builds are available +for 32 Bit, 64 Bit and Itanium binaries. +</p> +<p> +The common steps for all build procedures are: +<ul> +<li> +Set up your build environment for 32 Bits or 64 Bits. +The IDE build only supports 32 Bits. +</li> +<li> +Download the sources as a zip file and unpack it. +</li> +<li> +Change directory to the ISAPI redirector source directory. +</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:\></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:\></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:\></em><b class="screen">unzip tomcat-connectors-xxx-src.zip</b></nobr></code><br><div class="screen">Change directory to the ISAPI redirector source directory</div><code><nobr><em class="screen">c:\></em><b class="screen">cd tomcat-connectors-xxx-src\native\iis</b></nobr></code><br></td></tr ></table></div></p> +</p> +<p> +The steps for an IDE build are then: <ul> <li> -Change directory to the isapi plugins source directory. +Start Visual Studio using "start isapi.dsw" +</li> +<li> +During IDE startup choose "Yes" in all conversion popups. +</li> +<li> +Next choose "Debug" or "Release" in the Configuration dropdown. </li> <li> -Make the source with MSDEV +Finally choose "Build Solution" in the "Build" menu. </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">Change directory to the isapi plugins source directory</div><code><nobr><em class="screen">c:\></em><b class="screen">cd c:\home\apache\jk\iis</b></nobr></code><br><div class="screen">Build the sources using MSDEV</div><code><nobr><em class="screen">c:\></em><b class="screen">MSDEV isapi.dsp /MAKE ALL</b></nobr></code><br></td></tr></table></div></p> +The resulting file isapi_redirect.dll (and the debug symbol file +isapi_redirect.pdb) is located in the "Debug" resp. "Release" sub +directory depending on the build Configuration chosen. As an +intermediate step the build first creates a static PCRE library +named pcre.lib in the sub directory "pcre/LibD" resp. "pcre/LibR". </p> <p> -If msdev is not in your path, enter the full path to msdev.exe. -This will build both release and debug versions of the redirector plugin. -An alternative will be to open the isapi workspace file (isapi.dsw) in msdev and -build it using the build menu. +Alternatively the steps for an nmake commandline build are: +<ul> +<li> +Issue "nmake -f Makefile.x86" for a 32 Bit build, or +</li> +<li> +Issue "nmake -f Makefile.amd64" for a 64 Bit build, or +</li> +<li> +Issue "nmake -f Makefile.i64" for a Itanium Bit build +</li> +</ul> +The resulting file isapi_redirect.dll (and the debug symbol file +isapi_redirect.pdb) is located in the "Release_x86" resp. "Release_amd64" +resp. "Release_ia64" sub directory. As an intermediate step the build +first creates a static PCRE library named pcre.lib in the sub directory +"pcre/Release_x86" resp. "pcre/Release_amd64" resp. "pcre/Release_ia64. </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="Troubleshooting"><strong>Troubleshooting</strong></a></font></td></tr><tr><td><blockquote> <p> @@ -495,17 +531,17 @@ Check the log_file setting for typos, na If the above are set correctly, the ISAPI redirector should be able to create the log file. </ul> <p> -Invoke the URL <a href="http://localhost/examples/jsp/index.html">http://localhost/examples/jsp/index.html</a> +Invoke the URL <a href="http://localhost/examples/">http://localhost/examples/</a> in your browser. Case is important in Tomcat. The characters following "localhost" in the URL must be lower case. If the page fails to appear, stop the IIS service (required to view the IIS log file). -Then examine the last line in the IIS log file in found in SYSTEM/LogFiles/W3SVC1 : +Then examine the last line in the IIS log file in found in SYSTEM/LogFiles/W3SVC1: </p> <p> If the last line contains: </p> <div class="example"><pre> - GET "/examples/jsp/index.html HTTP/1.1" 404 + GET "/examples/ HTTP/1.1" 404 </pre></div> <p> then the ISAPI redirector is not recognising that it should be handling requests for the "/examples" context. @@ -537,7 +573,7 @@ but is not successful at getting Tomcat </p> <p> -You should check the HTTP error code following GET "/..." : +You should check the HTTP error code following GET "/...": </p> <div class="example"><pre> @@ -568,7 +604,7 @@ Make sure the extension_uri data begins Make sure that "isapi_redirect.dll" follows "/jakarta/" in the extension_uri setting. </li> <li> -Check the workers.properties file and make sure the port setting for worker.ajp12.port is the same as the port specified in the server.xml for the "Apache AJP12 support". +Check the workers.properties file and make sure the port setting for worker.ajp13.port is the same as the port specified in the server.xml for the "AJP" connector. </li> </ul> @@ -587,7 +623,7 @@ for the jakarta virtual directory in the <p> If the above settings are correct, the index.html page should appear in your browser. -You should also be able to click the Execute links to execute the JSP examples. +You should also be able to click the links to execute some Servlet or JSP examples. </p> </blockquote></td></tr></table> @@ -628,7 +664,7 @@ If the above are set correctly, the gree </ul> <p> -Invoke the URL <a href="http://localhost/examples/jsp/index.html">http://localhost/examples/jsp/index.html</a> +Invoke the URL <a href="http://localhost/examples/">http://localhost/examples/</a> in your browser. Case is important in Tomcat. The characters following "localhost" in the URL must be lower case. If the page fails to appear, examine the last line in the IIS server log file in found in SYSTEM32/LogFiles/W3SVC1. </p> @@ -639,7 +675,7 @@ which indicates the ISAPI redirector is </p> <p> -You should check the HTTP error code following GET "/..." : +You should check the HTTP error code following GET "/...": </p> <div class="example"><pre> @@ -666,7 +702,7 @@ Make sure the virtual directory created Make sure that the extension_uri setting is correct. </li> <li> -Check the workers.properties file and make sure the port setting for worker.ajp12.port is the same as the port specified in the server.xml for the "Apache AJP12 support". +Check the workers.properties file and make sure the port setting for worker.ajp13.port is the same as the port specified in the server.xml for the "AJP" connector. </li> </ul> @@ -685,11 +721,11 @@ Advanced Options of the Personal Web Man <p> If the above settings are correct, the index.html page should appear in your browser. -You should also be able to click the Execute links to execute the JSP examples. +You should also be able to click the links to execute some Servlet or JSP examples. </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 © 1999-2015, Apache Software Foundation + Copyright © 1999-2016, Apache Software Foundation </em></font></div></td></tr></table></body></html> \ No newline at end of file Modified: tomcat/site/trunk/docs/connectors-doc/webserver_howto/printer/nes.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/connectors-doc/webserver_howto/printer/nes.html?rev=1763527&r1=1763526&r2=1763527&view=diff ============================================================================== --- tomcat/site/trunk/docs/connectors-doc/webserver_howto/printer/nes.html (original) +++ tomcat/site/trunk/docs/connectors-doc/webserver_howto/printer/nes.html Thu Oct 6 09:00:17 2016 @@ -1,12 +1,14 @@ -<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>The Apache Tomcat Connectors - Webserver HowTo - SunOne -- Netscape/iPlanet HowTo</title><meta name="author" value="Henri Gomez"><meta name="email" value="hgo...@apache.org"><meta name="author" value="Jim Jagielski"><meta name="email" value="j...@apache.org"><meta name="author" value="Gal Shachor"><meta name="email" value="shac...@il.ibm.com"><meta name="author" value="Mladen Turk"><meta name="email" value="mt...@apache.org"><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.gi f" 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 MAIN 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 - Webserver HowTo</h1><h2>SunOne -- Netscape/iPlanet 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> +<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat Connectors - Web Server HowTo - Planet web server HowTo</title><meta name="author" value="Henri Gomez"><meta name="email" value="hgo...@apache.org"><meta name="author" value="Jim Jagielski"><meta name="email" value="j...@apache.org"><meta name="author" value="Gal Shachor"><meta name="email" value="shac...@il.ibm.com"><meta name="author" value="Mladen Turk"><meta name="email" value="mt...@apache.org"><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 MAIN 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>Planet web 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> <p> -This document explains how to set up Sun ONE Web Server previously known as -Netscape web servers to cooperate with Tomcat. +This document explains how to set up the iPlanet Web Server +to cooperate with Tomcat. The iPlanet Web Server was previously known under +various names, including Netscape Enterprise Server, SunOne Web Server and +Sun Enterprise System web server. </p> <p> -Normally the Sun ONE Web Servers come with their own Servlet engine, -but you can also configure them to send servlet and JSP requests to Tomcat +Normally the iPlanet Web Server comes with its own Servlet engine, +but you can also configure it to send servlet and JSP requests to Tomcat using the NSAPI redirector plugin. </p> @@ -35,14 +37,14 @@ ${tomcat_home}\bin - Where you place web </p> <p> In all the examples in this document ${tomcat_home} will be <b>c:\tomcat</b>. -A worker is defined to be a tomcat process that accepts work from the Sun ONE Web Server. +A worker is defined to be a tomcat process that accepts work from the iPlanet Web Server. </p> </blockquote></td></tr></table> <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> <p> -The NSAPI-Tomcat redirector was developed and tested on: +The NSAPI redirector was developed and tested on: <ul> <li> WINNT 2000/XP/2003 (should be able to work with other service packs) and some Unixes @@ -57,52 +59,43 @@ Tomcat 4.1 to Tomcat 8. </p> <p> -The redirector uses <b>ajp12</b> and <b>ajp13</b> to send requests to the Tomcat containers. -There is also an option to use Tomcat in process, -more about the in-process mode can be found in the in process howto. +The redirector 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> -<table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Who support ajp protocols ?"><strong>Who support ajp protocols ?</strong></a></font></td></tr><tr><td><blockquote> +<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> <p> -The ajp12 protocol is only available in Tomcat 3.2.x and 3.3.x. +Tomcat supports ajp13 since Tomcat 3.2. +Others servlet engines such as <b>Jetty</b> or <b>JBoss</b> also support the ajp13 protocol </p> <p> -The <b>ajp12</b> has been <b>deprecated</b> with Tomcat 3.3.x and you should use instead -<b>ajp13</b> which is the only ajp protocol known by Tomcat 4 and above. -</p> - -<p> -Of course Tomcat 3.2.x and 3.3.x also support ajp13 protocol. -</p> - -<p> -Others servlet engines such as <b>jetty</b> have support for ajp13 protocol +The <b>ajp12</b> protocol has been <b>deprecated</b> and you should no longer use it. +The <b>ajp14</b> protocol is considered experimental. </p> </blockquote></td></tr></table> - <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> <p> <ol> <li> -The NSAPI-Tomcat redirector is an Netscape service step plugin, -Netscape load the redirector plugin and calls its service handler -function for request that are assigned to the "servlet" configuration object. +The NSAPI redirector is a web server plugin based on the NSAPI web server API. +The web server loads the NSAPI redirector plugin and calls its service handler +function for all requests that are assigned to the "servlet" configuration object. </li> <li> -For each in-coming request Netscape will execute the set of NameTrans directives -that we added to obj.conf, the assign-name function will check if it's from +For each in-coming request the web server will execute the set of NameTrans directives +that we added to obj.conf, the assign-name function will check if it's <b class="code">from</b> parameter matches the request URL. </li> <li> If a match is found, assign-name will assign the servlet object name to the request. -This will cause Netscape to send the request to the servlet configuration object. +This will cause the web server to send the request to the servlet configuration object. </li> <li> -Netscape will execute our jk_service extension. The extension collects the +The web server will execute our jk_service extension. The extension collects the request parameters and forwards them to the appropriate worker using the ajp13 protocol (the worker="defworker" parameter in jk_service inform it that the worker for this request is named <b>defworker</b>). the workers properties files, <b>workers.properties</b>, will indicate that defworker use ajp13 protocol. @@ -117,21 +110,19 @@ The extension collects the response from </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> <p> A pre-built version of the NSAPI redirector, nsapi_redirect.dll, may be available under -the win32/i386 directory of tomcat-connectors distribution. -For those using Netscape as your browser, try downloading a zip version of the file, if available. - -You can also build a copy locally from the source present in tomcat-connectors distribution. - - -The Tomcat redirector requires two entities: +the win32/i386 directory of the Tomcat Connectors distribution. +You can also build a copy locally from the Tomcat Connectors source distribution. +</p> +<p> +The NSAPI redirector requires two files: <ul> <li> -nsapi_redirect.dll (Windows) -or- nsapi_redirector.so (Unix) - The NSAPI server plugin, either obtain a pre-built DLL/so or build it yourself +nsapi_redirect.dll (Windows) -or- nsapi_redirector.so (Unix) - The NSAPI web server plugin, either obtain a pre-built DLL/so or build it yourself (see the build section). </li> <li> workers.properties - A file that describes the host(s) and port(s) used by the workers (Tomcat processes). -A sample workers.properties can be found under the conf directory. +A sample workers.properties can be found under the conf directory of the source distribution. </li> </ul> @@ -140,10 +131,10 @@ The installation includes the following <ul> <li> Configuring the NSAPI redirector with a default /examples context and checking that you can serve servlets -with Netscape. +with your browser. </li> <li> -Adding more contexts to the configuration. +Adding your own contexts to the configuration. </li> </ul> @@ -160,7 +151,7 @@ and you created a log directory <b>c:\jk If the built in servlet support is working disable it. </li> <li> -Add the redirector plugin into the Netscape server configuration. +Add the NSAPI redirector plugin into the iPlanet Web Server configuration. Edit your server <b>magnus.conf</b> and add the following lines: </li> </ul> @@ -181,8 +172,7 @@ Edit your server <b>obj.conf</b> and add In the default object NameTrans section <Object name="default"> - NameTrans fn="assign-name" from="/servlets-examples(|/*)" name="jknsapi" - NameTrans fn="assign-name" from="/jsp-examples(|/*)" name="jknsapi" + NameTrans fn="assign-name" from="/examples(|/*)" name="jknsapi" .... </Object> @@ -213,12 +203,12 @@ Edit your worker definition file <b>work <ul> <li> -Restart Web Server (stop and start the server) +Restart the web server (stop and start the server) </li> </ul> <p> -That's all, now you should start tomcat and ask for http://server:port/servlets-examples/ +That's all, now you should start tomcat and ask for http://server:port/examples/ </p> <p><font color="#ff0000"> The file <b>obj.conf</b> seems to be sensitive to leading white space in lines, especially in @@ -246,41 +236,41 @@ all you need to do is to edit <b>obj.con </p> <div class="example"><pre> - NameTrans fn="assign-name" from="/<context name>/*" name="jknsapi" + NameTrans fn="assign-name" from="/<context_name>/*" name="jknsapi" </pre></div> <p> -After saving <b>obj.conf</b> restart Netscape and it will serve the new context. +After saving <b>obj.conf</b> restart the web server and it will serve the new context. </p> </blockquote></td></tr></table> <table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Advanced Context Configuration"><strong>Advanced Context Configuration</strong></a></font></td></tr><tr><td><blockquote> <p> -Sometimes it is better to have Netscape serve the static pages (html, gif, jpeg etc.) -even if these files are part of a context served by Tomcat. For example, consider the html and gif files in the examples context, there is no need to serve them from the Tomcat process, Netscape will suffice. +Sometimes it is better to have the web server serve the static pages (html, gif, jpeg etc.) +even if these files are part of a context served by Tomcat. For example, consider the html and gif files in the examples context, there is no need to serve them from the Tomcat process. The web server can do it on its own. </p> <p> -Making Netscape serve static files that are part of the Tomcat contexts requires the following: +Making the web server serve static files that are part of the Tomcat contexts requires the following: </p> <ul> <li> -Configuring Netscape to know about the Tomcat contexts +Configuring the web server to know about the Tomcat contexts </li> <li> -Make sure that the WEB-INF directory is protected from access. +Make sure that the WEB-INF and META-INF directories are protected from access. </li> <li> -Configuring Netscape to assign the NSAPI redirector only specific requests that requires JSP/Servlet handling. +Configuring the web server to assign the NSAPI redirector only specific requests that requires JSP/Servlet handling. </li> </ul> <p> -Adding a Tomcat context to Netscape requires the addition of a new Netscape virtual directory +Adding the contents of a Tomcat context to the web server requires the addition of a new virtual directory that covers the Tomcat context. </p> <p> -For example, adding a /example Netscape virtual directory that +For example, adding a /example virtual directory that covers the <b>c:\tomcat\webapps\examples</b> directory. </p> @@ -295,17 +285,20 @@ To add a new virtual directory add the f <p> WEB-INF protection requires some explanation; Each servlet application (context) has a special directory named <b>WEB-INF</b>, this directory contains sensitive configurations data and Java classes and must be kept hidden from web users. -WEB-INF can be protected by adding the following line to the PathCheck section in the default configuration object: +A second directory that should be protected is META-INF. +Those directories can be protected by adding the following line to the PathCheck section in the default configuration object: </p> <div class="example"><pre> PathCheck fn="deny-existence" path="*/WEB-INF/*" - - This line instructs the Netscape server to reject any request with a URL that contain the path /WEB-INF/. + PathCheck fn="deny-existence" path="*/META-INF/*" </pre></div> +These lines instruct the web server to reject any request with a URL that contains the path /WEB-INF/ +or /META-INF/. + <p> -Configuring Netscape to assign the NSAPI redirector only specific requests is somewhat harder, +Configuring the web server to assign the NSAPI redirector only specific requests is somewhat harder, you will need to specify the exact URL-Path pattern(s) that you want Tomcat to handle (usually only JSP files and servlets). </p> @@ -327,7 +320,7 @@ This requires a change to NameTrans port <p> As you can see the second configuration is more explicit, it actually instructs -Netscape to assign the redirector with only requests to resources under +the web server to assign the redirector with only requests to resources under <b>/examples/servlet/</b> and resources under <b>/examples/</b> whose name ends with <b>.jsp</b>. </p> @@ -336,9 +329,9 @@ You can be even more explicit and provid </p> <div class="example"><pre> - NameTrans fn="assign-name" from="/examples/servletname" name="jknsapi" + NameTrans fn="assign-name" from="/examples/servlets/chat" name="jknsapi" - Instructs Netscape to assign the redirector request whose URL-Path equals /example/servletname + Instructs the web server to assign the redirector requests whose URL path equals /example/servlets/chat </pre></div> </blockquote></td></tr></table> @@ -396,18 +389,18 @@ and in the <a href="../../reference/work </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 NSAPI DLL redirector for Windows"><strong>Building NSAPI DLL redirector for Windows</strong></a></font></td></tr><tr><td><blockquote> +</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 the NSAPI redirector for Windows"><strong>Building the NSAPI redirector for Windows</strong></a></font></td></tr><tr><td><blockquote> <p> The redirector was developed using Visual C++ Ver.6.0, so having this environment is a prereq if you want -to perform a custom build. You should also have NES developer SDK +to perform a custom build. You should also have web server developer SDK for your version of the web server. The steps that you need to take are: <ul> <li> -Change directory to the nsapi plugins source directory. +Change directory to the <b class="code">native/netscape</b> source directory. </li> <li> -Edit <b>nsapi.dsp</b> and update the include and library path to reflect your own Netscape server installation +Edit <b>nsapi.dsp</b> and update the include and library path to reflect your own web server installation (search for a <b>/I compiler</b> option and <b>/libpath</b> linker option) </li> <li> @@ -415,36 +408,39 @@ Make the source with MSDEV </li> </ul> <screendos> -<notedos>Change directory to the nsapi plugins source directory</notedos> -<code><nobr><em class="screen">c:\></em><b class="screen">cd c:\home\apache\jk\nsapi</b></nobr></code><br> +<notedos>Change directory to the NSAPI redirector source directory</notedos> +<code><nobr><em class="screen">c:\></em><b class="screen">cd c:\tomcat-connectors-xxx-src\native\netscape</b></nobr></code><br> <notedos>Build the sources using MSDEV</notedos> <code><nobr><em class="screen">c:\></em><b class="screen">MSDEV nsapi.dsp /MAKE ALL</b></nobr></code><br> </screendos> </p> <p> If msdev is not in your path, enter the full path to msdev.exe. -This will build both release and debug versions of the redirector plugin. +This will build both release and debug versions of the NSAPI redirector plugin. An alternative will be to open the nsapi workspace file (nsapi.dsw) in msdev and build it using the build menu. </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 NSAPI so plugin redirector for Unix"><strong>Building NSAPI so plugin redirector for Unix</strong></a></font></td></tr><tr><td><blockquote> +<p> +After the build, you will have the required nsapi_redirect.dll plugin. +</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 the NSAPI redirector for Unix"><strong>Building the NSAPI redirector for Unix</strong></a></font></td></tr><tr><td><blockquote> <p> The redirector requires either gcc (Linux) or gcc or the Sun cc compiler (Solaris). The steps that you need to take are: <ul> <li> -Change directory to the nsapi plugins source directory (src/native). +Change directory to the <b class="code">native</b> source directory. </li> <li> -configure for Netscape/iPlanet/SunONE webserver. +configure for the iPlanet Web Server. </li> <li> -Change directory to the nsapi netscape directory (./netstape). +Change directory to the <b class="code">netscape</b> sub directory. </li> <li> Set environment variables JAVA_HOME resp. SUITSPOT_HOME to the location of your Java installation -resp. Netscape server installation. Depending on the web server version, you must add the subdirectory +resp. web server server installation. Depending on the web server version, you must add the subdirectory "plugins" to SUITSPOT_HOME. The variable is correct, if the file $SUITSPOT_HOME/include/nsapi.h exists. </li> @@ -458,11 +454,11 @@ Make the source with gmake. </li> </ul> <screendos> -<notedos>Change directory to the nsapi plugins source directory</notedos> +<notedos>Change directory to the NSAPI redirector source directory</notedos> <code><nobr><em class="screen">c:\></em><b class="screen">cd /usr/local/src/tomcat-connectors-xxx-src/native</b></nobr></code><br> -<notedos>configure for Netscape/iPlanet/SunONE webserver</notedos> +<notedos>configure for iPlanet Web Server</notedos> <code><nobr><em class="screen">c:\></em><b class="screen">./configure --enable-netscape</b></nobr></code><br> -<notedos>Change directory to the nsapi netscape directory</notedos> +<notedos>Change directory to the netscape directory</notedos> <code><nobr><em class="screen">c:\></em><b class="screen">cd netscape</b></nobr></code><br> <notedos>Set JAVA_HOME (ksh example)</notedos> <code><nobr><em class="screen">c:\></em><b class="screen">export JAVA_HOME=/path/to/my/java</b></nobr></code><br> @@ -478,5 +474,5 @@ Make the source with gmake. After the build, you will have the required nsapi_redirector.so plugin. </p> </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 © 1999-2015, Apache Software Foundation + Copyright © 1999-2016, Apache Software Foundation </em></font></div></td></tr></table></body></html> \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org