Dave Shuck wrote:
> Sorry, I should have been more clear. ColdFusion is properly processing files
> that are in the Tomcat webapp directory.
>
> Here is where I currently am:
>
> If I put a cfm template into my httpd virtual site webroot ex:
> http://virtualsite1/helloworld.cfm
> /usr/local/apache2/htdocs/virtualsite1/helloworld.cfm
>
> It will display code in plain text.
>
> If I then put that same file in
> /usr/local/apache-tomcat/webapps/ROOT/helloworld.cfm I can access it from
> http://localhost:8080/helloworld.cfm
>
> That second one will process the code and display properly. Just to be clear
> (and probably redundant), the goal is for that cfm template physically exist
> in my "virtualsite1" web root. Additionally I would like to have
> a "virtualsite2" webroot that had the same behavior.
OK...
#1
You can define a series of virtual hosts in the tomcat/conf/server.xml
file.
http://tomcat.apache.org/tomcat-5.5-doc/config/host.html
for each host you should define a ROOT context.
the context xml file lives in the following location(s)
tomcat/conf/Catalina/vhost1/ROOT.xml
tomcat/conf/Catalina/vhost2/ROOT.xml
#2
Change the docBase of the ROOT application to match your apache htdocs
path. The convention is that the default application literally lives in
a directory called ROOT. You should rename the Apache directory
accordingly if you want to mix the files.
I split the directories as follows, with separate apache and tomcat dirs
/sites/host1/htdocs
/sites/host1/webapps/ROOT
server.xml
<Host name="host1" appBase="/sites/host1/webapps" ... >
<Alias>www.host1.com</Alias>
...
</Host>
For your setup, move your whole app into the ROOT dir and alter the
httpd.conf accordingly.
/usr/local/apache2/htdocs/virtualsite1/ROOT
the Host appBase in tomcat will be:
/usr/local/apache2/htdocs/virtualsite1
Tomcat looks for a ROOT application/directory in this location.
p
> Thanks a lot Pid
>
> ~Dave
>
>
>
> Thanks...
>
> ~
>
>
>
>
>
> On Tuesday 13 February 2007 03:24:10 Pid wrote:
>> Hi Dave (again),
>>
>>
>> So... your Tomcat context config problem.
>>
>> You've got mod_proxy setup to direct some requests to a Tomcat instance,
>> but you are sending those requests to a Tomcat that doesn't have any cfm
>> files in it's webapp.
>>
>> try putting a single test.cfm (hello world type file) into the tomcat
>> docbase of the ROOT webapp, and then requesting it as normal.
>>
>>
>> /httpd/docs/your/static/stuff
>>
>> /tomcat/webapps/ROOT/your/cfms
>>
>>
>>
>> If we can get that to work, then we'll work out how to fix your app up
>> to get a useable result.
>>
>>
>>
>> p
>>
>> Dave Shuck wrote:
>>> I have been trying to nail down how to configure the combination of
>>> Apache 2.2.4 + Tomcat 6.0.9 using mod_proxy to pass ColdFusion templates
>>> to an instance of a ColdFusion server for processing which is loaded as
>>> an application in Tomcat.
>>>
>>> After some very helpful responses from Pid on the apache-users list, I am
>>> furthering my discussion here as it appears that my issue lies with my
>>> misconfiguration (or more aptly un-configuration) of Tomcat to make this
>>> work. Below is the conversation that brought me to this list.
>>>
>>> I am clearly open to the answer of 'rtfm', but I have been thusfar unable
>>> to find the 'm' in which my answer exists. :)
>>>
>>> I would be very grateful for any further advice on this issue.
>>>
>>> Dave Shuck wrote:
>>>> I hate to spam up the list with this issue, but I have another question
>>>> if
>>> you
>>>
>>>> would indulge me. To strip this down a bit, let's just forget about the
>>>> multiple instances and say I have a single instance of Tomcat and have
>>>> installed ColdFusion as an application within it.
>>>>
>>>> So far I have been able to forward .cfm files to ColdFusion via mod_jk
>>>> and ProxyPass, but neither was in the way that I expected. I haven't
>>>> been able to successfully process cfm files with the RewriteRule method.
>>>> Perhaps the problem is in my expectation rather than functionality.
>>>>
>>>> Here is what I would expect to happen. In Tomcat there is a webapp
>>>> named "ROOT" which is where the ColdFusion web admin tools and such
>>>> installed. It's physical path is /usr/local/apache-tomcat/webapps/ROOT
>>>> I
>>> can
>>>
>>>> hit that with http://localhost:8080/......
>>> ok...
>>>
>>>> Then in my httpd-vhosts.conf I
>>>> have a website that is pathed /usr/local/apache2/htdocs/whateversite. I
>>>> Ideally I want all my files to exist in the .../htdocs/whateversite
>>> directory
>>>
>>>> and when I hit a .cfm file in that directory, I want that file to be
>>>> processed by the ColdFusion application.
>>> yes...
>>>
>>>> When I used ProxyPass, any request to 'whateversite' would just forward
>>>> the request to the 'ROOT' site and expect the requested file to exist in
>>>> .../webapps/ROOT. Obviously this wasn't the answer.
>>> that's because you told it to...
>>>
>>> when the request comes in, you forward the request to tomcat, which
>>> looked for it in the default application (ROOT) because you haven't told
>>> Tomcat to look anywhere else.
>>>
>>> Apache doesn't send the whole file over to Tomcat for processing, it
>>> just abdicates responsibility for the requested url and expects Tomcat
>>> to know what to do with it, and where to find it.
>>>
>>>> When I used mod_jk, any non-".cfm" templates would serve properly but
>>>> when
>>> it
>>>
>>>> went to serve the ".cfm" templates it would expect those to exist in
>>>> that "ROOT" directory rather in the "whateversite" directory just as
>>>> ProxyPass had. This was closer but still not the answer.
>>> as above you've not configured your Tomcat to know where those files are.
>>>
>>>> I haven't yet gotten your suggestion working using RewriteRule, but
>>>> would this work as I was expecting where it would not actually re-route
>>>> the
>>> request
>>>
>>>> to look for the template in another directory, but actually process the
>>>> requested template through the application?
>>> it doesn't process the file like a filter, a proxy instruction hands off
>>> the request for processing by another server, then feeds the results
>>> back to the client.
>>>
>>>> For what it's worth, I added this to the bottom of my httpd.conf file:
>>>> ReWriteEngine on
>>>> RewriteRule ^\/(.+)\.cfm(.+)? ajp://localhost:8009/$1.cfm$2 [P,L]
>>>> RewriteRule ^\/(.+)\.cfc(.+)? ajp://localhost:8009/$1.cfc$2 [P,L]
>>>>
>>>> And this does exist in my Tomcat server.xml:
>>>> <!-- Define an AJP 1.3 Connector on port 8009 -->
>>>> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
>>>>
>>>> When I put request a ColdFusion template it just serves the plain text
>>>> back from the template sitting in the "whatever" site. I am not seeing
>>>> any errors, but it just seems to do nothing with that ".cfm" request.
>>>>
>>>> Again, I feel like I am just missing something that is probably
>>>> painfully obvious to others, but after reading and re-reading through
>>>> the docs I am just not finding the exact answer I am looking for.
>>> Your Tomcat configuration isn't quite right yet.
>>>
>>> You need to specify, either a docbase in the ROOT context with all your
>>> cf? files in it, or add another context and direct all requests to that.
>>>
>>> ask about configuring Tomcat webapps on the tomcat-user list & I'll look
>>> out for you there.
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@(protected)
>> To unsubscribe, e-mail: users-unsubscribe@(protected)
>> For additional commands, e-mail: users-help@(protected)
>
>
>
---------------------------------------------------------------------
To start a new topic, e-mail: users@(protected)
To unsubscribe, e-mail: users-unsubscribe@(protected)
For additional commands, e-mail: users-help@(protected)