blob: 0f1ca077c6c493db852d3ffbdee6d645ac902572 [file] [log] [blame]
<?xml version="1.0"?>
<document url="./installation-tc31.xml">
<properties>
<author>Craig R. McClanahan</author>
<title>The Struts Framework Project - Installation - Tomcat 3.1 with Apache</title>
</properties>
<body>
<section name="Installing Struts with your servlet container" href="Containers">
<h3><a name="tc31">Tomcat 3.1 (Or Later) With Apache</a></h3>
<ul>
<li>These instructions assume you have successfully integrated Tomcat with Apache
according to the Tomcat documentation.</li>
<li>Copy "struts-documentation.war" and "struts-example.war" to your $TOMCAT_HOME/webapps
directory</li>
<li>Restart Tomcat if it is already running</li>
<li>Tomcat will generate a file "$TOMCAT_HOME/conf/tomcat-apache.conf" that
will be used by Apache. This file is regenerated every time you start Tomcat,
so copy this file to a safe place (such as your Apache configuration directory;
on Unix systems this is usually <code>/usr/local/apache/conf</code>.</li>
<li>If you are running Tomcat 3.1, Tomcat will not have generated the entries
for your new applications. Add the following lines to the <code>tomcat-apache.conf</code>
file that you have saved, replacing $TOMCAT_HOME with the path to your Tomcat
home directory:</li>
</ul>
<pre>
Alias /struts-documentation "$TOMCAT_HOME/webapps/struts-documentation
&lt;Directory "$TOMCAT_HOME/webapps/struts-documentation>
Options Indexes FollowSymLinks
&lt;/Directory>
ApJServMount /struts-documentation/servlet /struts-documentation
&lt;Location "/struts-documentation/WEB-INF/">
AllowOverride None
deny from all
&lt;/Location>
Alias /struts-example "$TOMCAT_HOME/webapps/struts-example"
&lt;Directory "$TOMCAT_HOME/webapps/struts-example>
Options Indexes FollowSymLinks
&lt;/Directory>
ApJServMount /struts-example/servlet /struts-example
&lt;Location "/struts-example/WEB-INF/">
AllowOverride None
deny from all
&lt;/Location>
</pre>
<ul>
<li>On all versions of Tomcat, the generated file above does not know anything
about extension mappings defined in a web.xml file, so the "*.do" URIs that
go to the controller servlet will not be recognized. To fix this, add the
following line to the saved version of "tomcat-apache.conf", after the corresponding
line for the .jsp extension:<br/>
<code>AddHandler jserv-servlet .do</code></li>
<li>Ensure that the saved version of "tomcat-apache.conf" is referenced in your
Apache "httpd.conf" configuration file. A typical use would have the following
line at the bottom of "httpd.conf":<br/>
<code>Include /usr/local/apache/conf/tomcat-apache.conf</code></li>
<li>In order to recognize "index.jsp" as a default page for web applications,
search in your "httpd.conf" for a "DirectoryIndex" directive. If you have
one, add "index.jsp" to the end of the list, so that it might look like this:<br/>
<code>DirectoryIndex index.html index.jsp</code><br/>
If you do not have such an entry, add one like this:<br/>
<code>DirectoryIndex index.jsp</code></li>
<li>Restart Apache to make it aware of the new applications. You should now
be able to access the applications from a browser like this:<br/>
<code>http://localhost/struts-documentation<br/>
http://localhost/struts-example</code></li>
</ul>
<hr/>
<ul><li>Author: Craig R. McClanahan</li></ul>
<hr/>
<p>Back to <a href="installation.html#Containers">Installation</a></p>
</section>
</body>
</document>