I am testing the standalone version of CF11 using the internal web server.
Please help me understand some things. Since we are not using an external webserver like IIS, and we have 4 different websites to configure, in order to not change all the webpage code to point to a different level in order to be found, do I have to do this with Virtual Directories [i.e. I have copied all CF9 code (4 different websites) and just added _CF11 to the end of the main website folder names, i.e. website1_CF11 and an aliases have been created for these websites, i.e. aliases=”/alias1=E:\website1_CF11, etc…”]? Can multiple VD be created? How are they defined? One is defined in the server.xml file as
How would I create more than one? Is this what I need to do to accomplish my goal?
Right now aliases are not going to work, because that would be pointless and time consuming changing all the code just so it can find all the web pages so we can test functionality and fix the breaks. For example, I currently need to change the code to the following:
<cf_location url=”#URLSessionFormat(‘/webpage/’)#” addtoken=”false”>
<cf_location url=”#URLSessionFormat(‘/alias1/webpage/’)#” addtoken=”false”>
We are eventually going to run the wsconfig executable to connect to IIS so we can fully migrate from CF9 to CF11. What am I missing? I can’t imagine that Adobe would not have the same functionality with their internal web server as one would have with an external web server.
Thanks in advance!
Adobe is using Tomcat's built-in web server for it's built-in web server. If you go to the Tomcat docs, you can probably find direction on how to do this. However, I submit that it is not worth the effort involved. Since you intent to hook up IIS at some point, you should seriously consider just doing that now instead of "hacking" together a solution that you'll throw away later anyway.
If you are developing on a Windows Vista (shudder) or later OS computer, then the IIS that is built in is almost identical to the one in the comparable Windows Server release and supports multiple websites. Set up your development IIS structure to match production and you'll save yourself a lot of grief.
Carl Von Stetten, Unfortunately I am being forced to use the internal Tomcat web server because we don't have any extra server, virtual or otherwise, to play with, either on our end, or our customer's end. I'm having to do this side-by-side on our development server. So, I have no choice, but to get this working as it does in IIS, but on the internal Tomcat webserver. I am slowly discovering all the hardcoded cgi.server_name check issues that now how localhost vs an actual server, and blank cgi.auth_user that is probably supposed to be provided by IIS. I'll start searching in the Tomcat docs and hope they actually have some content and guidance instead of just vague fluff. Thanks for your help and pointing me in the right direction.
Our development server OS is 2008 r2..
I don't know much about Tomcat, but I am learning. I found help.hardhathosting. com/question.php/150 which references configuring Tomcat with multiple hosts. I see it in my server.xml file where to do that, and assume my host name would be localhost:8500 for one website and localhost:8501 for another. The Alias would be the same localhost:8500 for one and localhost:8501 for the other. The Context part is almost the same as the portion that is normally referenced to change in server.xml for configuring ColdFusion to change the root directories.
<Host name="domain1.com" debug="0" appBase="webapps" unpackWARs="true">
directory="logs" prefix="virtual_log1." suffix=".log" timestamp="true"/>
<Context path="" docBase="/var/tomcat4/webapps/domain1" debug="0" reloadable="true"/>
<Host name="domain2.com" debug="0" appBase="webapps" unpackWARs="true">
directory="logs" prefix="virtual_log2." suffix=".log" timestamp="true"/>
<Context path="" docBase="/var/tomcat4/webapps/domain2" debug="0" reloadable="true"/>
What I don't know is if the second part regarding the Example "/etc/httpd/conf/mod_jk.conf" file can be used with ColdFusion. I have searched and can't find that file, which looks like is what would create the Virtual Hosts. Httpd I get is something for Tomcat, but I'm guessing Tomcat external, vs internal with ColdFusion since I can't find it.
I'm tempted to just create it and put it in my conf folder. Before I go breaking things, any ideas/advice/thoughts?
jkcrosby - if you are using Windows Server 2008R2 than you already have access to IIS 7.5 (or can easily add it to the server - it's free and part of the OS). If you already have IIS in production on that server, than just add additional sites for your project(s).
Carl Von Stetten
So, you're saying that IIS can distinguish between CF9 and CF11 when a page is being requested. My boss was thinking that only one instance of CF could be connected with IIS at a time. That is why we haven't gone that route. If they still won't let me, I just researched into creating Multi Server Instances, which may be what I have been trying to do, but it doesn't solve the blank userID because it can't get that info from IIS. I'm currently trying to see how to get user group/info/password info from IIS so I can perhaps manually put it into the tomcat-users.xml and see if that would help solve it until I can convince the powers that be otherwise. Thanks!
As long as you don't connect either CF9 or CF11 to IIS (using the WSCONFIG or Web Server Configuration Tool) with the "All Sites" method, you can connect different versions of CF to individual web sites. If you did previously connect CF9 using "All Sites", you would need to run WSCONFIG, remove the connector to IIS (backup any customizations you may have made to the JRUN connectors, if any) then rerun WSCONFIG and add connections to each individual web site that needs to run under CF9. Then run the CF11 WSCONFIG and connect only the web sites you need to run under CF11. Make sure you run the WSCONFIG tool using the "Run as Administrator" option.
Is there a sequence when installing/upgrading? For example,
Step 1. Keep CF9 services running
Step 2. Keep CF9 connected to the websites with the wsconfig
Step 3. Install CF11
Step 4. Sign in to CF11 Administrator, migrates configurations, and CF11 connects to websites and IIS with wsconfig
Step 5. Remove CF9 connections
Step 6. Stop CF9 services
Step 7. Uninstall CF9 software
I just haven't seen any documentation as to what to do with the previous version at what part of the upgrade installation.
I thought you were trying to run both CF9 and CF11 simultaneously. Now you are trying to upgrade and remove CF9 instead? If so, I'd remove the "and CF11 connects to websites and IIS with wsconfig" from step 4. Move that to new Step 8. Otherwise, you'll have both CF9 and CF11 connectors simultaneously, and fighting each other.
We were, but it was not working at all,even with IIS, so we're trying a straight upgrade now using IIS, to see if it will be any better. Not so much. It is not even getting to the config/migration stage. I've posted a question regarding it on the forum. I'll see if waiting to use wsconfig until afterwards changes things. Thanks!
To have them run simultaneously, what would you do differently with the installation sequence?
Like I said before, remove the CF9 connectors. Install CF11, but DON'T let the installer build IIS connectors at all - enable the built-in server. Then once you verify CF11 is running, run the CF9 WSCONFIG (using the "Run as Administrator" option) and connect ONLY the sites you want to run on CF9. Do the same with the CF11 WSCONFIG.
I will try that again. I'm pretty sure I did just that, several times, but I will do it again to double-check. Thanks for your advice and patience.