Railo/CF and upgrading to Mountain Lion

I took a plunge yesterday and upgraded my work Macbook Pro to the latest version of Mac OSX 10.8 aka Mountain Lion. My previous setup included Mac OSX 10.7 with Railo 3.3, CF9 and 10 and MySQL. The upgrade itself is not even worth mentioning – I started the process from the App Store and left my notebook running for the night only to be greeted by a familiar login screen in the morning.

I have to say that as far as I see nothing went broken except for a couple of things:

Reinstall Java runtime
The moment you start your CF process from the command line you see the following message:

Last login: Fri Jul 27 08:22:50 on console
Flybook:~ yuri$ sudo /Applications/ColdFusion9/runtime/bin/jrun -start coldfusion
Password:
No Java runtime present, requesting install.

At the same moment you’ll see a popup asking you to confirm Java 6 runtime re-install. Click ‘OK’ and wait till the re-install is ready. In my case it took about 3 minutes to download and install it. Try starting CF again. It just works:

Starting Macromedia JRun 4.0 (Build 108858), coldfusion server
07/27 08:39:59 warning Unable to open /Applications/ColdFusion9/runtime/lib/license.properties
07/27 08:40:10 info JRun Naming Service listening on *:2932
07/27 08:40:17 info No JDBC data sources have been configured for this server (see jrun-resources.xml)
07/27 08:40:17 info JRun Proxy Server listening on *:51800
.....
07/27 08:42:33 user WSRPProducer: init
07/27 08:42:33 user ServerCFCServlet: init
Server coldfusion ready (startup time: 17 seconds)

Apache virtual hosts
Your virtual hosts are gone. Whatever you type in the address field shows an ‘It works’ message but nothing else. Uncomment the line:

Include /private/etc/apache2/extra/httpd-vhosts.conf

Reload Apache configuration or restart Apache.

Flybook:conf yuri$ sudo apachectl restart

Your virtual hosts should be accessible now.

Coldfusion 9 – JRun connector
For the very same reason, you will need to tell Apache to process your *.cfm requests. Copy the mod_jrun22.so configuration lines from the httpd.conf~previous to your httpd.conf and restart Apache:

# JRun Settings
LoadModule jrun_module /Applications/ColdFusion9/runtime/lib/wsconfig/1/mod_jrun22.so
<IfModule mod_jrun22.c>
    JRunConfig Verbose false
    JRunConfig Apialloc false
    JRunConfig Ignoresuffixmap false
    JRunConfig Serverstore /Applications/ColdFusion9/runtime/lib/wsconfig/1/jrunserver.store
    JRunConfig Bootstrap 127.0.0.1:51800
    #JRunConfig Errorurl url <optionally redirect to this URL on errors>
    #JRunConfig ProxyRetryInterval 600 <number of seconds to wait before trying to reconnect to unreachable clustered server>
    #JRunConfig ConnectTimeout 15 <number of seconds to wait on a socket connect to a jrun server>
    #JRunConfig RecvTimeout 300 <number of seconds to wait on a socket receive to a jrun server>
    #JRunConfig SendTimeout 15 <number of seconds to wait on a socket send to a jrun server>
    AddHandler jrun-handler .jsp .jws .cfm .cfml .cfc .cfr .cfswf
</IfModule>

Railo startup script
It looks like the startup script has been changed. So, to start your Railo instance just head for your Tomcat binary directory and run it from the command line:

Flybook:bin yuri$ sudo sh ./startup.sh
Using CATALINA_BASE:   /Developer/Railo/tomcat
Using CATALINA_HOME:   /Developer/Railo/tomcat
Using CATALINA_TMPDIR: /Developer/Railo/tomcat/temp
Using JRE_HOME:        /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
Using CLASSPATH:       /Developer/Railo/tomcat/bin/bootstrap.jar
Flybook:bin yurivorontsov$ sudo sh ./startup.sh

You are set. Everything else works exactly as it used to work under Mac OSX 10.7
Enjoy your day!