Here is a rough guideline of how I got ColdFusion 7 on 64-bit (amd64) Ubuntu Server 8.04 with an Apache 2.2 Connector. I did not include every single step, but tried to make sure that between this post and the instructions I link to, everything is there. Comment if you need clarification or help. I also tried to remove all the profanity. No promises.
This also isn’t really a tutorial so much as it is a log of what I did. I hope it helps someone.
===============================
I was running into problems installing CF7, like so:
# ./coldfusion-702-lin.bin
Preparing to install…
Extracting the JRE from the installer archive…
Unpacking the JRE…
Extracting the installation resources from the installer archive…
Configuring the installer for this system’s environment…
Launching installer…
exec: 2319: /tmp/install.dir.12805/Linux/resource/jre/bin/java: not found
I found a blog post here that addresses it (albeit for a CF8 updater, but should work for Cf7 too):
http://blog.brianflove.com/articles/2008/04/05/coldfusion-8-0-1-updater-on-linux/
Except it didn’t work.
Next, tried help from comments here:
http://www.jmpj.net/jason/index.cfm/2008/9/6/ColdFusion-801-Installation-Minefield
Which turn on debugging output for the InstallAnywhere script that CF7 uses to install itself. The poster was able to use that debugging info to figure out how to tell the CF7 installer to use the CORRECT JVM. It apparently ignored the JVM that Ubuntu has set by default (I have set this to the Java 1.6 JVM). This WORKED!
# export LAX_DEBUG=true // turns on the debugging
The original poster already solved the problem, so I turned off debugging.
# export LAX_DEBUG= // turns off the debugging
# ./coldfusion-702-lin.bin LAX_VM /usr/lib/jvm/java-6-sun/bin/java // runs the CF7 installer with the correct JVM
It’s unfortunate that the CF7 installer doesn’t obey the default JVM. If it did, this would have worked on the first try.
The installer then warned about the C++ compatibility pack:
Warning: C++ compatibility pack
The installer was unable to determine if the C++ compatibility pack is
installed by running the following command: rpm –query compat-libstdc++
If this machine uses a version of glibc that is 2.2.5.x or higher the
compatibility pack is necessary for C++ custom tags, Verity, and web server
connectors to work properly.
Apparently the compatibility pack comes with the build-essential package, which is already installed. If it is not installed, you can run the following command to install it:
# apt-get install build-essential
While installing the Apache connector, CF7 says:
Macromedia ColdFusion MX 7 does not support this version of Apache. The minimum supported Apache versions are 1.3.12 or higher for Apache 1.x and 2.0.43 or higher for Apache 2.x.
Which is nonsencial because it is apache 2.2.9, which is clearly higher than 2.0.43.
There is a hotfix for the Apache 2.2 problem, but it must be installed after CF7 is installed, so I’m skipping the connector for now.
Server is installed now. But when I try to start it there is an error. cfserver.log shows this error:
nohup: cannot run command `/opt/coldfusionmx7/runtime/bin/cfmx7′: No such file or directory
The file does exist. ./coldfusion status gives a similar error:
# sudo ./coldfusion status
/opt/coldfusionmx7/bin/cfstat: 25: /opt/coldfusionmx7/runtime/jre/bin/java: not found
Turns out that the OS is 64-bit Ubuntu. So the executables that were listed as “not found” were in fact just trying to load a library. The problem is that the library was 64-bit and the executables were expecting a 32-bit lib. So I installed the package “ia32-libs” and it works now.
All I have to do now is install the Apache 2.2 connector hotfix. Instructions here: http://kb.adobe.com/selfservice/viewContent.do?externalId=8001e97&sliceId=1
Brought down apache and cfmx7.
Cannot install connector, because of an error message:
apache webserver is not supported on Linux
I unzipped the wsconfig.jar file (the hotfix file) and found some precompiled intel-linux modules for apache. Copied them to apache’s modules dir /etc/apache2/mods-available/
Didn’t work. ELF header wrong. Needs to be compiled locally.
Used directions here to recompile the connector: http://www.zrinity.com/developers/apache/apache2cfmx.cfm
Please use the commands below instead of the ones they recommend. The key is to include jrun_utils.c in the compilation of the library. It was not included in the instructions I was using, but they were for a much older version.
Here are the final commands used to compile them:
# apxs2 -c -Wc,-w -n jrun22 -S LIBEXECDIR=/opt/coldfusionmx7/runtime/lib/wsconfig/ mod_jrun22.c jrun_maptable_impl.c jrun_property.c jrun_property_ext.c jrun_session.c platform.c jrun_mutex.c jrun_proxy.c jrun_ssl.c jrun_utils.c
# apxs2 -i -n jrun22 -S LIBEXECDIR=${CFMX_CONNECTOR} mod_jrun22.la
# strip /opt/coldfusionmx7/runtime/lib/wsconfig/mod_jrun22.so
# libtool –finish /opt/coldfusionmx7/runtime/lib/wsconfig/
Holy ****, it works.