I'm trying to do a similar setup as well and I'm using just about the same
configuration as shown below (I've attached my configs). But I'm having one
big issue: when I try to do a hot redeploy of my webapp, I do not see the
changes at http://rtv.myhost.com unless I restart Tomcat. BUT, I do see the
changes immediately, if I go to http://10.2.1.100:8080/rtv.
Any advice as to what I'm doing wrong would be very much appreciated as I've
been banging my head on the desk for some time about this issue.
The only big difference I see in the configs is that I'm pointing my apache
virtual host's documentRoot to the same path as the webapp. If I don't do
that, none of my static pages (.css, .js) get served properly, so I don't think
that it's the problem.
Thanks,
Josh
Apache config:
<VirtualHost *:80>
ServerName rtv.myhost.com
ServerAlias www.rtv.myhost.com
DocumentRoot /usr/local/tomcat/webapps/rtv
DirectoryIndex index.jsp index.html
ErrorLog logs/rtv. myhost.com-errorlog
CustomLog logs/rtv. myhost.com-accesslog common
<Directory "/usr/local/tomcat/webapps/rtv">
Options +FollowSymLinks
Order allow,deny
Allow from all
</Directory>
#DENY ACCESS TO WEB-INF and META-INF
<Location "/WEB-INF/*">
AllowOverride None
deny from all
</Location>
<Location "/META-INF/*">
AllowOverride None
deny from all
</Location>
#ROUTE ALL JSP AND SERVLETS TO THE mod_jk WORKER
#These extensions are specified in /etc/httpd/conf.d/jk.conf file
JkMount /*.do router
JkMount /*.jsp router
</VirtualHost>
Tomcat config:
<Host
name="rtv.myhost.com"
appBase="/usr/local/tomcat/webapps/rtv"
unpackWARs="true"
autoDeploy="true"
xmlValidation="false"
xmlNamespaceAware="false">
<Context path="" docBase="" debug="" />
<Logger
className="org.apache.catalina.logger.FileLogger"
directory="logs"
prefix="rtv.myhost.com_log" />
</Host>
-----Original Message-----
From: Michael Courcy [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 19, 2006 3:07 PM
To: Tomcat Users List
Subject: Re: Tomcat, Apache and mod_jk configuration
Yes it's what I mean,
in your JkMount declaration change
jkMount /struts-dev-1/*.do ajp13
jkMount /struts-dev-1/*.jsp ajp13
By
jkMount /*.do ajp13
jkMount /*.jsp ajp13
And your server.xml fragment should look this way
<Host name="preprod.skyce.net" appBase=""
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/var/tomcat/webapps/struts-dev-1/" debug="0" />
</Host>
It should works.
DE VINZELLES, Guillaume (ext.) a écrit :
> In fact, I've already put the jkMount directive in the VirtualHost conf.
> It looks like:
>
> <VirtualHost 88.191.24.6:80>
> DocumentRoot "/var/www/preprod.skyce.net/htdocs"
> <Directory "/var/www/preprod.skyce.net/htdocs">
> Options Indexes FollowSymLinks
> AllowOverride None
> Order allow,deny
> Allow from all
> </Directory>
> ServerName preprod.skyce.net
> ErrorLog /var/www/preprod.skyce.net/log/error_log
> CustomLog /var/www/preprod.skyce.net/log/access_log common
> jkMount /struts-dev-1/*.do ajp13
> jkMount /struts-dev-1/*.jsp ajp13
> </VirtualHost>
>
> And I'd like to have my webapp accessible through http://preprod.skyce.net/
> instead of http://preprod.skyce.net/struts-dev-1/.
>
> The pertinent fragment of my server.xml is:
>
> <Host name="preprod.skyce.net" appBase="webapps"
> unpackWARs="true" autoDeploy="true"
> xmlValidation="false" xmlNamespaceAware="false">
>
> My webapps are located in /var/tomcat/webapps, and I got:
> CATALINA_BASE: /var/tomcat and CATALINA_HOME: /opt/tomcat5
>
> Thanks !
>
> Guillaume de Vinzelles
> DSI/PFS Neuf Cegetel
> Altran Technologies
>
> [EMAIL PROTECTED]
>
> 01 70 18 21 64
>
> -----Message d'origine-----
> De : Michael Courcy [mailto:[EMAIL PROTECTED]
> Envoyé : jeudi 19 octobre 2006 14:51
> À : Tomcat Users List
> Objet : Re: Tomcat, Apache and mod_jk configuration
>
> Hello
>
> Here is a fragment of my server.xml
>
> <Host name="www.verlina.com" appBase=""
> unpackWARs="true" autoDeploy="true"
> xmlValidation="false" xmlNamespaceAware="false">
>
> <Alias>verlina.com</Alias>
> <Alias>tique-et-puce.fr</Alias>
> <Alias>www.tique-et-puce.fr</Alias>
> <Alias>shampooing-chien.fr</Alias>
> <Alias>www.shampooing-chien.fr</Alias>
>
>
> <Valve className="org.apache.catalina.valves.AccessLogValve"
> directory="logs" prefix="verlina.com_access_log."
> suffix=".txt"
> pattern="common" resolveHosts="false"/>
>
> <Valve
> className="org.apache.catalina.valves.FastCommonAccessLogValve"
> directory="logs" prefix="verlina.com_access_log."
> suffix=".txt"
> pattern="common" resolveHosts="false"/>
>
> <Context path="" docBase="/home/verlina/www/" debug="0" >
> <Resource name="jdbc/verlina" auth="Container"
> type="javax.sql.DataSource"
> maxActive="100" maxIdle="30" maxWait="10000"
> removeAbandoned="true" removeAbandonedTimeout="60"
> logAbandoned="true"
> username="***" password="****"
> driverClassName="com.mysql.jdbc.Driver"
>
> url="jdbc:mysql://localhost:3306/verlina_com?autoReconnect=true"/>
> </Context>
>
> </Host>
>
> And here is a fragment of my httpd.conf
>
> <VirtualHost 87.98.218.193>
> ServerName www.verlina.com
> ServerAlias verlina.com
> ServerAlias tique-et-puce.fr
> ServerAlias www.tique-et-puce.fr
> ServerAlias shampooing-chien.fr
> ServerAlias www.shampooing-chien.fr
>
> JkMount /* ajp13
>
> ServerAdmin [EMAIL PROTECTED]
> #DocumentRoot /home/verlina/www
> User verlina
> Group users
>
> CustomLog logs/verlina-access_log combined
> ScriptAlias /cgi-bin/ /home/verlina/cgi-bin/
> </VirtualHost>
>
> The idea is to put the JkMount inside the virtualHost of Apache.
>
> But discussing with Mr Caldarale, this layout is weak, even if it works.
>
> Because if you make any change to the context, you're forced to restart
> tomcat instead of just redeploying your context.
>
> There should be a way for your app to programatticly communicate to
> tomcat the list of domain the app should handle, but I don't know how
> to do that.
>
> Cheers.
>
>
>
>
> DE VINZELLES, Guillaume (ext.) a écrit :
>
>> Hi there,
>>
>> Here is my problem. I got a working Tomcat 5.5.20 handling 4 webapps in
>> /var/tomcat/webapps. I got a working Apache 2, configured with several
>> virtualhosts.
>> I managed to connect the Apache to the Tomcat using an AJP13 connector, and
>> everything is working fine.
>> Now, I'd like to map each one of my webapps to a different virtualhost.
>> For instance, I'd like that my webapp example1, which is in
>> /var/tomcat/webapps/example1, should be accessible through www.example1.com
>> (and NOT www.example1.com/example1 - I've already that working).
>> How do you achieve this using the jkMount directives?
>> I've tried with jkMount /example1/* ajp13 and my webapp is accessible only
>> through www.example1.com/example1.
>>
>> Thanks in advance for your answers!
>>
>> Guillaume de Vinzelles
>> DSI/PFS Neuf Cegetel
>> Altran Technologies
>>
>> [EMAIL PROTECTED]
>>
>> 01 70 18 21 64
>>
>>
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: [email protected]
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: [email protected]
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: [email protected]
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]