A while back I figured out how to install Adobe (could have been Macromedia back then) Coldfusion MX on an Ubuntu linux server. This config still runs as it should, but in the mean time several things have changed in the world of software. I've been leaning towards Centos 5.4, and Adobe released Coldfusion 9 somewhere in 2009. These two 'events' made me decide to combine the two.
Before I continue, I must warn you that the Coldfusion installer is still broken..... So there's some manipulation of code involved.
Since the new 'server' is going to run in a virtual environment I started in a VMWare Workstation. This way I could make snapshots of my progress. This made it easier to start from scratch. The problem with Linux and me is that I tend to reinstall the OS when things go haywire. So VMWare is a safe way out in this case.
The following guide is the result of several 'revert to snapshot' actions on my behalf. The things that I discovered which made me go back (or wasn't explained in the original installation procedure) to an earlier snapshot are colored in red.
Anyway, after I installed and updated Centos 5.4, I disabled SELinux. I couldn't get it to work on permissive or enforced mode (more info: http://www.ghidinelli.com/2007/12/06/coldfusion-mx-with-selinux-enforcing).
During the installation of Coldfusion I ran into two packages which were not present on the server, so I installed those.
[root@centos ~]# yum install libstdc++.so.5
[root@centos ~]# yum install httpd-devel
It's also handy to know where the http server binary file is located. This also has a relationship with the config files you need to locate.
[root@centos ~]# which httpd
/usr/sbin/httpd
Now we're ready to start the installation process.
Run the installer:
[root@centos ~]# ./ColdFusion_9_WWE_linux64.bin
I've shortened the installation output, since it contained about 35 pages of license agreement....
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...
[...]
DO YOU ACCEPT THE TERMS OF THIS LICENSE AGREEMENT? (Y/N): Y
====================================================
Install Type
------------
If you do not have a serial number, select either 30-day trial or Developer Edition.
->1- Install new version of Adobe ColdFusion 9 with a serial number
2- 30-day trial
3- Developer Edition
Installation Choice: 1
Serial Number: XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
====================================================
Installer Configuration
-----------------------
What kind of installation do you want?
->1- Server configuration
2- Enterprise Multiserver configuration
3- J2EE configuration (EAR file)
4- J2EE configuration (WAR file)
Choose one of the following options:: 1
====================================================
Is Adobe ColdFusion 9 (Server Configuration) Installed?
-------------------------------------------------------
You cannot install the server configuration of Adobe ColdFusion 9 if it is already installed on this computer.Is there already a server configuration of Adobe ColdFusion 9 installed?
1- Yes
->2- No
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESSTO ACCEPT THE DEFAULT:: 2
====================================================
Subcomponent installation
-------------------------
The following options are available for installation.
An option marked with "[X]" in front will be installed and an option with "[ ]"
will not. Choosing an option will toggle it on or off
[X] 1) ColdFusion 9 Documentation
[X] 2) ColdFusion 9 Solr Services
[X] 3) ColdFusion 9 Search Services
[X] 4) Start ColdFusion on system init
5) Continue with installationSelect an option: 5
====================================================
Choose Install Folder
---------------------
Select the directory where you want to install Adobe ColdFusion 9.
Directory:
Default Install Folder: /opt/coldfusion9
ENTER AN ABSOLUTE PATH, OR PRESSTO ACCEPT THE DEFAULT :
====================================================
Earlier Versions of Adobe ColdFusion installed?
-----------------------------------------------
If you installed an earlier version of ColdFusion on this computer, you can migrate your settings to Adobe ColdFusion 9.
Is there an earlier version of ColdFusion installed on this computer (for example, ColdFusion 6 or ColdFusion MX 7)?
1- Yes
->2- No
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESSTO ACCEPT THE DEFAULT::
====================================================
Configure Web Servers
---------------------
Please configure your web server(s). If you do not configure a web server the built-in web server will be used on port 8500 or the next available port.
1- Add Web Server Configuration
->2- Continue with installation
Choice: 1
****************************************************
->1- Apache
2- Sun ONE Web Server (iPlanet)
3- Cancel
What kind of web server are you configuring: 1
What directory contains your Apache configuration file (httpd.conf)? (For example, on Red Hat Linux it could be located in the /etc/httpd/conf directory if you installed from an rpm, or for SuSe Linux, it could be in /etc/apache2)Directory: /etc/httpd/conf
****************************************************
Where is the Apache program binary file? (For example, on Red Hat Linux it could be /usr/sbin/httpd if you installed from an rpm, or for SuSE Linux itcould be located at /usr/sbin/httpd2) If you have more than one instance of Apache on your computer, enter the binary file location for the Apache web server that will use ColdFusion. (Note: this is not the Apache start and stop script.)
File: /usr/sbin/httpd
****************************************************
Where is the control file that you use to start and stop the Apache web server? (For example, this could be /etc/init.d/httpd on Red Hat Linux if you installed from an rpm, /usr/sbin/apache2ctl on SuSe Linux, or it could be /usr/local/apache /bin/apachectl on hand-compiled versions.)
File: /etc/init.d/httpd
****************************************************
Please configure your web server(s). If you do not configure a web server the built-in web server will be used on port 8500 or the next available port.
1- Add Web Server Configuration
2- Remove Web Server Configuration
3- Edit:Apache : /etc/httpd/conf
->4- Continue with installation
Choice: 4
====================================================
Choose Adobe ColdFusion 9 Administrator Location
------------------------------------------------
Select the location of the web root for Adobe ColdFusion 9. This is where the installer places the Adobe ColdFusion 9 Administrator. This directory must be the web root for one of the websites to be configured for use with Adobe ColdFusion 9.
Directory: (DEFAULT: /var/www/html):
====================================================
Runtime User
------------
Enter the name of the runtime user. This user must already exist on the system.
User Name: (DEFAULT: nobody):
===================================================-
Configure ColdFusion with OpenOffice
------------------------------------
Configuring OpenOffice installation with ColdFusion will enable Office documents to be processing using OpenOffice. If OpenOffice is not configured ColdFusion will not be able to convert some Microsoft Office Documents to PDF. Check the documentation for more details.
1- Configure ColdFusion with local Openoffice installation
->2- Skip
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESSTO ACCEPT THE DEFAULT::
====================================================
Administrator Password
----------------------
Enter the password that you will use to restrict access to the ColdFusion Administrator.
This field is required.
Password: ********
Confirm Password: ********
====================================================
Enable RDS
----------
The ColdFusion Remote Development Service (RDS) lets developers using Adobe
tools remotely connect to this server for development purposes. RDS is required
for Line Debugging, Report Builder, and Dreamweaver Extensions.
If this is a production server, Adobe recommends that you disable RDS.
Note, however, that disabling RDS also disables debugging, the directory
browsing applets in the ColdFusion Administrator and some of the functionality
in the Report Builder.Enable RDS (Y/N): Y
Password: *******
Confirm Password: ********
====================================================
Installation Confirmation
-------------------------
Installation Type:
Server configuration
Licensing:
Enterprise edition
Serial Number: XXXX-XXXX-XXXX-XXXX-XXXX-XXXXInstallation Directories:
Product: /opt/coldfusion9
Web root: /var/www/htmlServer Information:
Web Server: Apache (/etc/httpd/conf)
Port:
Search Services: installed
ColdFusion Solr Search Services: installed
Documentation: installed
RDS: enabledDisk Space Information (for Installation Target):
Required: 992,437,542 bytes
Available: 110,094,069,760 bytesPRESS
TO CONTINUE:
====================================================
Installing...
-------------
[==================]
====================================================
Installation Complete
---------------------
You have successfully completed the first step in installing Adobe ColdFusion 9.To continue with your installation, go to /opt/coldfusion9/bin and type
"./coldfusion start" to start your server.
Once the server, is started log in to the Configuration Wizard at
http://[machinename]/CFIDE/administrator/index.cfm
This is where we need to alter the Apache webserver connector script (source) to make it work on Centos 5.x. Could be that this also works on other flavours of Linux.
Open the following file in an editor (like vi):
/opt/coldfusion9/bin/connectors/apache_connector.sh
and change the following part:
../../runtime/bin/wsconfig \
-server coldfusion \
-ws apache \
-dir /usr/local/apache2/conf \
-bin /usr/local/apache2/bin/httpd \
-script /usr/local/apache2/bin/apachectl \
-coldfusion
to
../../runtime/bin/wsconfig \
-server coldfusion \
-ws apache \
-dir /etc/httpd/conf \
-bin /usr/sbin/httpd \
-script /etc/rc.d/init.d/httpd \
-coldfusion
When you've saved the file you can continue with the installation procedure.
[root@centos ~]# cd /opt/coldfusion9/bin
[root@centos bin]# ./coldfusion start
Starting ColdFusion 9...
The ColdFusion 9 server is starting up and will be available shortly.
====================================================
Running the ColdFusion 9 connector wizard
====================================================
Configuring the web server connector (Launched on the first run of the ColdFusion 9 start script)
Running apache connector wizard...
====================================================
Connector installation was successful
====================================================
====================================================
ColdFusion 9 has been started.
ColdFusion 9 will write logs to /opt/coldfusion9/logs/cfserver.log
====================================================
[root@centos bin]#
Just to be sure: reboot the server (I know, I have a Windows background :D)
After this I was able to start the Coldfusion Administrator page at http://127.0.0.1/CFIDE/administrator/index.cfm
To summarize; Adobe gave us yet another crappy installer. It did detect that the libstdc++.so.5 wasn't installed, but it failed on the httpd-devel package. The latter is needed when the connector wizard is run. If it's not present on the system, the Apache connector won't install and it won't run again. Leaving you with a Coldfusion environment that doesn't work, and in my case would result in a reinstall of the operating system. Thankfully I had a snapshot from before the installation.
Also, the Coldfusion engine won't run if SELinux is enabled.
If you have any suggestions etc. regarding the installation procedure (especially on the SELinux part) please drop them in the comments.