It's actually rather simple:

0. Download the latest Tomcat (3.2.1 or later)
1. Download the mod_jk instead of the *deprecated* mod_jserv
2. Follow the Tomcat/Apache integration docs included with your Tomcat
distribution

mod_jserv has been deprecated for quite some time now in favour of mod_jk
when it comes to Tomcat/Apache integration.  Once you have the correct
module, the documentation included with Tomcat when it comes to Apache
integration is really all you need.  Note that you must not place Tomcat in
a path with spaces in directory names anywhere, up or down stream (e.g. it
cannot reside in C:\Program Files) - you won't be able to configure
wrapper.properties needed for mod_jk as it doesn't handle spaces.

Regards,



Emir.

> -----Original Message-----
> From: hugo [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, September 04, 2001 6:31 AM
> To: [EMAIL PROTECTED]
> Subject: Re: tomcat with apache??
>
>
> Hi John
>
> That line is in already in my tomcat-apache.conf file, so ti must be
> something else.
> I think it may have something to do with permissions of clients to
> execute the jar files that are needed to build class files from jsp
> files on the server. In the old Jserv this permission was set in
> zone.properties. However, there is no such file in tomcat - only
> workers.properties and wrappers.properties files in the conf
> directory -
> what function they serve I am not entirely sure.
>
> Anyway, I am including my server.xml file - maybe you can see
> something
> that is out of the ordinary, could yo let me know?
>
> Thanks very much.
>
> Hugo
>
> Here is my server.xml file:
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
>
> <Server>
>     <!-- Debug low-level events in XmlMapper startup -->
>     <xmlmapper:debug level="0" />
>
>     <!--
>
>     Logging:
>
>          Logging in Tomcat is quite flexible; we can either have a log
>          file per module (example: ContextManager) or we can have one
>          for Servlets and one for Jasper, or we can just have one
>          tomcat.log for both Servlet and Jasper.  Right now there are
>          three standard log streams, "tc_log", "servlet_log", and
>          "JASPER_LOG".
>
>          Path:
>
>          The file to which to output this log, relative to
>          TOMCAT_HOME.  If you omit a "path" value, then stderr or
>          stdout will be used.
>
>          Verbosity:
>
>          Threshold for which types of messages are displayed in the
>          log.  Levels are inclusive; that is, "WARNING" level displays
>          any log message marked as warning, error, or fatal.  Default
>          level is WARNING.
>
>          verbosityLevel values can be:
>             FATAL
>             ERROR
>             WARNING
>             INFORMATION
>             DEBUG
>
>          Timestamps:
>
>          By default, logs print a timestamp in the form "yyyy-MM-dd
>          hh:mm:ss" in front of each message.  To disable timestamps
>          completely, set 'timestamp="no"'. To use the raw
>          msec-since-epoch, which is more efficient, set
>          'timestampFormat="msec"'.  If you want a custom format, you
>          can use 'timestampFormat="hh:mm:ss"' following the syntax of
>          java.text.SimpleDateFormat (see Javadoc API).  For a
>          production environment, we recommend turning timestamps off,
>          or setting the format to "msec".
>
>          Custom Output:
>          "Custom" means "normal looking".  "Non-custom" means
>          "surrounded with funny xml tags".  In preparation for
>          possibly disposing of "custom" altogether, now the default is
>          'custom="yes"' (i.e. no tags)
>
>          Per-component Debugging:
>
>          Some components accept a "debug" attribute.  This further
>          enhances log output.  If you set the "debug" level for a
>          component, it may output extra debugging information.
>     -->
>
>     <!-- if you don't want messages on screen, add the attribute
>             path="logs/tomcat.log"
>          to the Logger element below
>     -->
>     <Logger name="tc_log"
>             path="logs/tc.log"
>             verbosityLevel = "DEBUG"
>     />
>
>     <Logger name="servlet_log"
>             path="logs/servlet.log"
>             verbosityLevel = "DEBUG"
>     />
>
>     <Logger name="JASPER_LOG"
>             path="logs/jasper.log"
>             verbosityLevel = "INFORMATION"
>     />
>
>     <!-- You can add a "home" attribute to represent the "base" for
>          all relative paths. If none is set, the TOMCAT_HOME property
>          will be used, and if not set "." will be used.
>          webapps/, work/ and logs/ will be relative to this ( unless
>          set explicitely to absolute paths ).
>
>          You can also specify a "randomClass" attribute, which
> determines
>          a subclass of java.util.Random will be used for generating
> session IDs.
>          By default this is "java.security.SecureRandom".
>          Specifying "java.util.Random" will speed up Tomcat startup,
>          but it will cause sessions to be less secure.
>
>          You can specify the "showDebugInfo" attribute to control
> whether
>          debugging information is displayed in Tomcat's default
> responses.
>          This debugging information includes:
>              1. Stack traces for exceptions
>              2. Request URI's that cause status codes >= 400
>          The default is "true", so you must specify "false" to prevent
>          the debug information from appearing.  Since the debugging
>          information reveals internal details about what Tomcat is
> serving,
>          set showDebugInfo="false" if you wish increased security.
>       -->
> <ContextManager debug="0" workDir="work">
>       <!-- ==================== Interceptors ==================== -->
>
>         <!--
>          ContextInterceptor
> className="org.apache.tomcat.context.LogEvents"
>          -->
>         <ContextInterceptor
> className="org.apache.tomcat.context.AutoSetup" />
>
>         <ContextInterceptor
>             className="org.apache.tomcat.context.WebXmlReader" />
>
>         <!-- Uncomment out if you have JDK1.2 and want to use policy
>         <ContextInterceptor
>             className="org.apache.tomcat.context.PolicyInterceptor" />
>         -->
>
>         <ContextInterceptor
>             className="org.apache.tomcat.context.LoaderInterceptor" />
>         <ContextInterceptor
>             className="org.apache.tomcat.context.DefaultCMSetter" />
>         <ContextInterceptor
>
> className="org.apache.tomcat.context.WorkDirInterceptor" />
>
>         <!-- Request processing -->
>         <!-- Session interceptor will extract the session id from
> cookies and
>              deal with URL rewriting ( by fixing the URL ).
> If you wish
> to
>              suppress the use of cookies for session
> identifiers, change
> the
>              "noCookies" attribute to "true"
>           -->
>         <RequestInterceptor
>             className="org.apache.tomcat.request.SessionInterceptor"
>             noCookies="false" />
>
>         <!-- Find the container ( context and prefix/extension map )
>              for a request.
>           -->
>         <RequestInterceptor
>             className="org.apache.tomcat.request.SimpleMapper1"
>             debug="0" />
>
>         <!-- Non-standard invoker, for backward compat. ( /servlet/* )
>              You can modify the prefix that is matched by
> adjusting the
>              "prefix" parameter below.  Be sure your modified pattern
>              starts and ends with a slash.
>
>              NOTE:  This prefix applies to *all* web applications that
>              are running in this instance of Tomcat.
>           -->
>         <RequestInterceptor
>             className="org.apache.tomcat.request.InvokerInterceptor"
>             debug="0" prefix="/servlet/" />
>
>         <!-- "default" handler - static files and dirs.  Set the
>              "suppress" property to "true" to suppress directory
> listings
>              when no welcome file is present.
>
>              NOTE:  This setting applies to *all* web
> applications that
>              are running in this instance of Tomcat.
>           -->
>         <RequestInterceptor
>             className="org.apache.tomcat.request.StaticInterceptor"
>             debug="0" suppress="false" />
>
>         <!-- Plug a session manager. You can plug in more advanced
> session
>              modules.
>           -->
>         <RequestInterceptor
>
> className="org.apache.tomcat.session.StandardSessionInterceptor" />
>
>         <!-- Check if the request requires an authenticated role.
>           -->
>         <RequestInterceptor
>             className="org.apache.tomcat.request.AccessInterceptor"
>             debug="0" />
>
>         <!-- Check permissions using the simple xml file. You can
>              plug more advanced authentication modules.
>           -->
>         <RequestInterceptor
>             className="org.apache.tomcat.request.SimpleRealm"
>             debug="0" />
>
>        <!-- UnComment the following and comment out the
>             above to get a JDBC realm.
>             Other options for driverName:
>               driverName="oracle.jdbc.driver.OracleDriver"
>               connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
>               connectionName="scott"
>               connectionPassword="tiger"
>
>               driverName="org.gjt.mm.mysql.Driver"
>               connectionURL="jdbc:mysql://localhost/authority"
>               connectionName="test"
>               connectionPassword="test"
>
>             "connectionName" and "connectionPassword" are optional.
>         -->
>         <!--
>         <RequestInterceptor
>             className="org.apache.tomcat.request.JDBCRealm"
>             debug="99"
>             driverName="sun.jdbc.odbc.JdbcOdbcDriver"
>             connectionURL="jdbc:odbc:TOMCAT"
>             userTable="users"
>             userNameCol="user_name"
>             userCredCol="user_pass"
>             userRoleTable="user_roles"
>             roleNameCol="role_name" />
>         -->
>
>         <!-- Loaded last since JSP's that load-on-startup use request
> handling -->
>         <ContextInterceptor
>
> className="org.apache.tomcat.context.LoadOnStartupInterceptor" />
>
>       <!-- ==================== Connectors ==================== -->
>
>         <!-- Normal HTTP -->
>         <Connector
> className="org.apache.tomcat.service.PoolTcpConnector">
>             <Parameter name="handler"
>
> value="org.apache.tomcat.service.http.HttpConnectionHandler"/>
>             <Parameter name="port"
>                 value="8080"/>
>         </Connector>
>         <!--
>             Uncomment this for SSL support.
>             You _need_ to set up a server certificate if you want this
>             to work, and you need JSSE.
>             1. Add JSSE jars to CLASSPATH
>             2. Edit java.home/jre/lib/security/java.security
>                Add:
>
> security.provider.2=com.sun.net.ssl.internal.ssl.Provider
>             3. Do: keytool -genkey -alias tomcat -keyalg RSA
>                RSA is essential to work with Netscape and IIS.
>                Use "changeit" as password. ( or add keypass
> attribute )
>                You don't need to sign the certificate.
>
>             You can set parameter keystore and keypass if you want
>             to change the default ( user.home/.keystore with
> changeit )
>          -->
>         <!--
>         <Connector
> className="org.apache.tomcat.service.PoolTcpConnector">
>             <Parameter name="handler"
>
> value="org.apache.tomcat.service.http.HttpConnectionHandler"/>
>             <Parameter name="port"
>                 value="8443"/>
>             <Parameter name="socketFactory"
>                 value="org.apache.tomcat.net.SSLSocketFactory" />
>         </Connector>
>         -->
>
>         <!-- Apache AJP12 support. This is also used to shut down
> tomcat.
>           -->
>         <Connector
> className="org.apache.tomcat.service.PoolTcpConnector">
>             <Parameter name="handler"
>
> value="org.apache.tomcat.service.connector.Ajp12ConnectionHandler"/>
>             <Parameter name="port" value="8007"/>
>         </Connector>
>
>         <!-- ==================== Special webapps ====================
> -->
>         <!-- You don't need this if you place your app in webapps/
>              and use defaults.
>              For security you'll also need to edit tomcat.policy
>
>              Defaults are: debug=0, reloadable=true, trusted=false
>              (trusted allows you to access tomcat internal objects
>              with FacadeManager ), crossContext=true (allows you to
>              access other contexts via ServletContext.getContext())
>
>              If security manager is enabled, you'll have read perms.
>              in the webapps dir and read/write in the workdir.
>          -->
>
>         <Context path="/examples"
>                  docBase="webapps/examples"
>                  crossContext="false"
>                  debug="0"
>                  reloadable="true" >
>         </Context>
>         <Context path="/fracweb"
>                  docBase="webapps/fracweb"
>                  crossContext="false"
>                  debug="65535"
>                  reloadable="true" >
>         </Context>
>
>         <Context path="/soap"
>                 docBase="webapps/soap"
>                 debug="65535"
>                 reloadable="true">
>         </Context>
>
>
>         <!-- Admin context will use tomcat.core to add/remove/get info
> about
>              the webapplications and tomcat internals.
>              By default it is not trusted - i.e. it is not allowed
> access to
>              tomcat internals, only informations that are available to
> all
>              servlets are visible.
>
>              If you change this to true, make sure you set a password.
>           -->
>         <Context path="/admin"
>                  docBase="webapps/admin"
>                  crossContext="true"
>                  debug="65535"
>                  reloadable="true"
>                  trusted="true" >
>         </Context>
>
>         <!-- Virtual host example -
>              In "127.0.0.1" virtual host we'll reverse "/" and
>              "/examples"
>              (XXX need a better example )
>              (use  "http://127.0.0.1/examples"; )
>         <Host name="127.0.0.1" >
>            <Context path=""
>                     docBase="webapps/examples" />
>            <Context path="/examples"
>                     docBase="webapps/ROOT" />
>         </Host>
>          -->
>
>     </ContextManager>
> </Server>
>
>
>
>
>
> John Thomas wrote:
> >
> > Hi Hugo,
> >
> >         I think u need only this one line in ur conf  file
> >
> >  Alias /examples "C:/Program Files/Apache
> > Group/Apache/tomcat/webapps/examples"
> >
> > The lines:
> >  alias /examples/jsp "C:/Program Files/Apache
> > Group/Apache/tomcat/webapps/examples/jsp"
> > alias /examples/jsp/cal "C:/Program Files/Apache
> > up/Apache/tomcat/webapps/examples/jsp/cal"
> > are not needed  as they are mapped by the earlier line.
> >
> > If it still doesnot work pls send me ur server.xml also
> >
> > Regards
> > John
> >
> > Hi John
> >
> > My tomcat distribution is under my apache directory, that is, my
> > tomcat_home is
> >
> > C:\Program Files\Apache Group\Apache\tomcat
> >
> > but I did what you said: I changes the line
> >
> > Include "tomcat/conf/tomcat-apache.conf"
> >
> > to
> >
> > Include "C:/Program Files/Apache
> > Group/Apache/tomcat/conf/tomcat-apache.conf"
> >
> > I still get the same error whenever I want to access a .jsp file.
> >
> > Any further suggestions?
> >
> > Thanks
> >
> > Hugo
> >
> > John Thomas wrote:
> > >
> > > Hi,
> > >
> > >         I think the problem u face is in this line.
> > > Include "tomcat/conf/tomcat-apache.conf"
> > >
> > > u must specify the absolute path or apache will read w.r.t its
> > folder
> > > structure
> > >
> > > John
> > >
> > > Hi
> > >
> > > I am trying to set up tomcat with apache, but it does not work! In
> > my
> > > apache httpd.conf file I refer to the tomcat-apache.conf file with
> > the
> > > line
> > >
> > > Include "tomcat/conf/tomcat-apache.conf"
> > >
> > > The tomcat-apache.conf file is attached below. Basically, it loads
> > > ApacheModuleJServ.dll and when Apache starts, it states
> > "Apache/1.3.14
> > > (Win32) tomcat/1.0 running. So I was hopeful it was going to work.
> > >
> > > However, when I want to run any .jsp file I encounter an error! I
> > can
> > > go
> > > to the tomcat examples directory, but the moment a .jsp file is
> > > required, I get the error:
> > >
> > > The server encountered an internal error or
> misconfiguration and was
> > > unable to complete your request.
> > >
> > > The tomcat log files do not show anything, but the apache
> error log
> > > file
> > > has the following message:
> > >
> > > client denied by server configuration: c:/program files/apache
> > > group/apache/tomcat/webapps/examples/web-inf
> > >
> > > Any help or advice will be most appreciated.
> > >
> > > Thanks
> > >
> > > Hugo
> > >
> > > ***
> > > Here is the tomcat-apache.conf file:
> > >
> > > LoadModule jserv_module modules/ApacheModuleJServ.dll
> > > ApJServManual on
> > > ApJServDefaultProtocol ajpv12
> > > ApJServSecretKey DISABLED
> > > ApJServMountCopy on
> > > ApJServLogLevel notice
> > >
> > > ApJServDefaultPort 8007
> > > ApJServDefaultHost     localhost
> > >
> > > AddType text/jsp .jsp
> > > AddHandler jserv-servlet .jsp
> > >
> > > Alias /examples "C:/Program Files/Apache
> > > Group/Apache/tomcat/webapps/examples"
> > > Alias /root "C:/Program Files/Apache
> > Group/Apache/tomcat/webapps/root"
> > > Alias /examples "C:/Program Files/Apache
> > > Group/Apache/tomcat/webapps/examples"
> > > alias /examples/jsp "C:/Program Files/Apache
> > > Group/Apache/tomcat/webapps/examples/jsp"
> > > alias /examples/jsp/cal "C:/Program Files/Apache
> > > Group/Apache/tomcat/webapps/examples/jsp/cal"
> > > <Directory "C:/Program Files/Apache
> > > Group/Apache/tomcat/webapps/examples">
> > >    Options Indexes FollowSymLinks
> > > </Directory>
> > > ApJServMount /examples/servlet /examples
> > > <Location "/examples/WEB-INF/">
> > >    AllowOverride None
> > >    deny from all
> > > </Location>
> > > <Directory "C:/Program Files/Apache
> > > Group/Apache/tomcat/webapps/examples/WEB-INF/">
> > >    AllowOverride None
> > >    deny from all
> > > </Directory>
> > > <Location "/examples/META-INF/">
> > >    AllowOverride None
> > >    deny from all
> > > </Location>
> > > <Directory "C:/Program Files/Apache
> > > Group/Apache/tomcat/webapps/examples/META-INF/">
> > >    AllowOverride None
> > >    deny from all
> > > </Directory>
> > >
> > > Alias /admin "C:/Program Files/Apache
> > > Group/Apache/tomcat/webapps/admin"
> > > <Directory "C:/Program Files/Apache
> > > Group/Apache/tomcat/webapps/admin">
> > >    Options Indexes FollowSymLinks
> > > </Directory>
> > > ApJServMount /admin/servlet /admin
> > > <Location "/admin/WEB-INF/">
> > >    AllowOverride None
> > >    deny from all
> > > </Location>
> > > <Directory "C:/Program Files/Apache
> > > Group/Apache/tomcat/webapps/admin/WEB-INF/">
> > >    AllowOverride None
> > >    deny from all
> > > </Directory>
> > > <Location "/admin/META-INF/">
> > >    AllowOverride None
> > >    deny from all
> > > </Location>
> > > <Directory "C:/Program Files/Apache
> > > Group/Apache/tomcat/webapps/admin/META-INF/">
> > >    AllowOverride None
> > >    deny from all
> > > </Directory>
> > >
> > > ApJServMount /servlet /ROOT
> > > Alias /test "C:/Program Files/Apache
> > Group/Apache/tomcat/webapps/test"
> > > <Directory "C:/Program Files/Apache
> > Group/Apache/tomcat/webapps/test">
> > >    Options Indexes FollowSymLinks
> > > </Directory>
> > > ApJServMount /test/servlet /test
> > > <Location "/test/WEB-INF/">
> > >    AllowOverride None
> > >    deny from all
> > > </Location>
> > > <Directory "C:/Program Files/Apache
> > > Group/Apache/tomcat/webapps/test/WEB-INF/">
> > >    AllowOverride None
> > >    deny from all
> > > </Directory>
> > > <Location "/test/META-INF/">
> > >    AllowOverride None
> > >    deny from all
> > > </Location>
> > > <Directory "C:/Program Files/Apache
> > > Group/Apache/tomcat/webapps/test/META-INF/">
> > >    AllowOverride None
> > >    deny from all
> > > </Directory>
> > > --
> > > Dr Hugo Bouckaert
> > > R&D Support Engineer, Fractal Graphics
> > > 57 Havelock Street, West Perth 6005
> > > Western Australia 6009
> > > Tel: +618 9386 7917
> > > Email:[EMAIL PROTECTED]
> > > Web: http://www.fractalgraphics.com.au
> > >
> > >
> >
> ==============================================================
> =============
> > > To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
> > > JSP-INTEREST".
> > > For digest: mailto [EMAIL PROTECTED] with body: "set
> > JSP-INTEREST
> > > DIGEST".
> > > Some relevant FAQs on JSP/Servlets can be found at:
> > >
> > > http://java.sun.com/products/jsp/faq.html
> > > http://www.esperanto.org.nz/jsp/jspfaq.html
> > > http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
> > > http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets
> >
> > --
> > Dr Hugo Bouckaert
> > R&D Support Engineer, Fractal Graphics
> > 57 Havelock Street, West Perth 6005
> > Western Australia 6009
> > Tel: +618 9386 7917
> > Email:[EMAIL PROTECTED]
> > Web: http://www.fractalgraphics.com.au
> >
> >
> ==============================================================
> =============
> > To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
> > JSP-INTEREST".
> > For digest: mailto [EMAIL PROTECTED] with body: "set
> JSP-INTEREST
> > DIGEST".
> > Some relevant FAQs on JSP/Servlets can be found at:
> >
> > http://java.sun.com/products/jsp/faq.html
> > http://www.esperanto.org.nz/jsp/jspfaq.html
> > http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
> > http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets
>
> --
> Dr Hugo Bouckaert
> R&D Support Engineer, Fractal Graphics
> 57 Havelock Street, West Perth 6005
> Western Australia 6009
> Tel: +618 9386 7917
> Email:[EMAIL PROTECTED]
> Web: http://www.fractalgraphics.com.au
>
> ==============================================================
> =============
> To unsubscribe: mailto [EMAIL PROTECTED] with body:
> "signoff JSP-INTEREST".
> For digest: mailto [EMAIL PROTECTED] with body: "set
> JSP-INTEREST DIGEST".
> Some relevant FAQs on JSP/Servlets can be found at:
>
>  http://java.sun.com/products/jsp/faq.html
>  http://www.esperanto.org.nz/jsp/jspfaq.html
>  http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
>  http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets
>

===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST DIGEST".
Some relevant FAQs on JSP/Servlets can be found at:

 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.html
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets

Reply via email to