Over the course of the past few days, I have spent a total of about 9 solid hours getting Railo installed on a Windows 2008 server running IIS7, configured for multiple domains and aliases. Having been through this process, I wanted to contribute my experiences and the details thereof in the form of this and a second blog post, hopefully to help others who want to traverse this same path either do it with less pain, or decide to avoid the pain altogether.
Now that I am on the back side of this install, I am left with two distinct bodies of knowledge that I want to share. The first is the overall experience: the pain, the joy(minimal), the reasoning behind choosing to run this gauntlet, and whether or not this is the right choice as far as cfml parsers go. This will be the subject of this blog post.
The second body of knowledge I want to share, which will be the subject of a second and third blog post, consists of the details and nuances of the installation, with the steps involved and some screen shots. I did find two or three blog posts that almost matched up to my particular scenario, and/or DID match my scenario but left out what were vital pieces of information and understanding for me. So I dissected these posts, dug in to Tomcat documentation, did a lot of combinatory play, learned things I NEVER wanted to know, experimented until I wanted to cry, tapped into an awesome Railo resource (thanks Todd Rafferty!), and finally...FINALLY achieved success. The first of the last two posts can be found here.
The Scenario
Let me begin with my particular scenario. I am a one man show who inherited a horrendously written PHP app that is currently being hosted with an equally horrendous hosting company on a FreeBSD server. My current mission then is to get our app migrated to a new host. Not being a fan of green screens, blinking cursors, and commands that when spoken aloud sound like you're choking to death (AWK! GREP!), I of course opted for a Windows 2008 Server running IIS7 (my comfort zone). Also not being a fan of PHP and fully intending on doing all future development in CF, I needed something that would allow me to execute CF code. I could ask my company to drop $1,000 on CF Server, but why do that when there are at least two free alternatives floating around? I've been seeing lots and lots of activity in the Railo community and hearing good things about its performance and ability to do nearly everything that Adobe CF Server does, so why not go for it? So, I rolled up my sleeves and leaped headlong into the burning fiery furnace to wrestle this hombre down.
Choices, Choices
I always hate it when I go to a restaurant, order something from the menu, and then get presented with a hundred questions by the waitress about the specifics of my order. "Fries or tots. mmhmm. Salad or soup. what kind of soup? toast or biscuit. White or wheat". AUGH! Choices are good, but TOO many choices can stop you dead in your tracks sometimes. A Railo install is a recipe consisting typically of at least four distinct items: an operating system, a web server, a Java Servlet Engine, and Railo itself. It is at this very beginning point in the process of using Railo when the water becomes incredibly murky, as there are far too many choices out there for each of these items (except Railo itself). Operating system...take your pick! You have people using CentOS, Windows Vista, Windows 2008, Ubuntu, Mac OSX, and the list goes on. Web Server? Seems that the majority of people are using Apache, but in theory, ANY web server theoretically will do. IIS6 and 7 are available, and in minimal use based on my research. Java Servlet Engine? If you're not a Java geek already, then you will probably have almost no good knowledge on which to base your choice here except recommendations from acquaintances. Myself, I like to be able to think "down the road", but not being a Javaphyte, choosing a servlet engine was pretty much a coin toss. Well, except for JRUN...the general concensus is to avoid that one. Besides JRUN though, you can use JBoss, Glassfish, Resin, Tomcat, and probably a dozen other ones I haven't even heard of. I've been told that Resin is the simplest to use, but limits what you can do "down the road", while Tomcat is a good compromise between complexity of use and the doors it opens up for you. So then, HOW does one decide what specific "recipe" they should use? You're probably already set on the OS you're using, so that's a done deal. Web server: I'd choose the one I'm most familiar with, since you will have to get down and dirty with it. Servlet engine? After a long period of Googling, I decided to go with Tomcat, for the sole reason that it is the one for which I found the most instruction and documentation.
Railo: indeed a cheap alternative to CF Server. In terms of cash, anyway. But uber expensive in terms of the intellectual overhead required to wrap your mind even partially around it and just get it installed and configured at a basic level! I know, some would disagree with that assessment; but I say, after having run this guantlet and installed Railo on a windows server running IIS7 with multiple domains and aliases, that unless you have a passion for system administration and/or are as comfortable staring at blinking cursors and command lines as you are in a GUI environment, then setting up Railo (in my environment, anyway) is painful. Why is it so painful? In a nutshell, because we have always been shielded from the nasty, ugly Java that actually makes CF Server work. Railo, on the other hand, is raw and open and REQUIRES that you not only stare into its filthy bowels, but also plunge in both hands to tie some precisely placed knots in its writhing intestines. If you want to use Railo, you can't be squeemish and must be a firm believer in the phrase "no pain, no gain".
The looming question then, after having gone through the process of just getting it installed: Is it worth the pain? Well, you WILL gain a clearer understanding of how CFML parsers work behind the scenes (like we wanted to know!); You WILL save the $1,000 it costs to buy CF Server; You WILL be able to execute CFML, and have it do so faster than CF Server can do it. But, you will also be committing yourself to an additional level of server administration that "the rest of us" may not be comfortable dealing with. Again, unless you're good with having to hand edit multiple, cryptic configuration files (the equivalent of trying to add and remove walls in a house made of playing cards without it falling down), don't mind having to manage web server changes in places other than just your web server, find that system administration brings you joy, or you're just a glutton for punishment (my category), then you will probably want to just sit back and wait until the railo community comes out with version 2 of a windows installer (version 1 doesn't exist yet, but typically version 1 of anything is rough around the edges). I'm definitely not dogging Railo, not at all; Just wanted to let folks know how it went for me so they can make an informed decision going into it.
Post 2 to follow soon...
Doug out :0)
You are not logged in, so your subscription status for this entry is unknown. You can login or register here.
Thanks for taking the plunge in railo for us win/iis folks and giving us your analysis!

