<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>For the Developer &#187; coldfusion</title>
	<atom:link href="http://forthedeveloper.com/tag/coldfusion/feed/" rel="self" type="application/rss+xml" />
	<link>http://forthedeveloper.com</link>
	<description>By Developers, For Developers</description>
	<lastBuildDate>Tue, 20 Jul 2010 23:54:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>ColdFusion 9 Ternary Operator Fail</title>
		<link>http://forthedeveloper.com/2009/coldfusion-9-ternary-operator-fail/</link>
		<comments>http://forthedeveloper.com/2009/coldfusion-9-ternary-operator-fail/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 23:27:17 +0000</pubDate>
		<dc:creator>Randy Merrill</dc:creator>
				<category><![CDATA[adobe]]></category>
		<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[cfml]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[operator]]></category>
		<category><![CDATA[ternary]]></category>

		<guid isPermaLink="false">http://forthedeveloper.com/?p=140</guid>
		<description><![CDATA[One of the things that I was really excited for in ColdFusion 9 was the support for the ternary operator. As Ben said: To me, the ternary operator is what the IIF() method call always wanted to be. Unfortuately I was testing some CFML code, written and working on Railo, on a ColdFusion 9 server [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things that I was really excited for in ColdFusion 9 was the support for the ternary operator. As <a href="http://www.bennadel.com/blog/1643-Learning-ColdFusion-9-The-Ternary-Operator.htm">Ben said</a>:</p>
<blockquote><p>To me, the ternary operator is what the IIF() method call always wanted to be.</p></blockquote>
<p>Unfortuately I was testing some CFML code, written and working on Railo, on a ColdFusion 9 server and had this error pop up:</p>
<blockquote><p><code>Unable to find an operator implementation for coldfusion.compiler.ASToperator</code></p></blockquote>
<p>Turns out the the ternary operator works great&#8230; unless you are using it in a default value for an argument. Fail.</p>
<p><span id="more-140"></span></p>
<p>Here is an example, that should run fine if the ternary operator was doing what it is supposed to:</p>
<pre style="padding-left: 30px;">&lt;cffunction name="testing" access="public" returntype="void" output="false"&gt;
	&lt;cfargument name="test" type="string" default="#(1 EQ 1 ? 'Hi' : 'Bye')#" /&gt;

	&lt;!--- Anything ---&gt;
&lt;/cffunction&gt;</pre>
<p>I have filed it as a bug if you would like to <a href="http://cfbugs.adobe.com/cfbugreport/flexbugui/cfbugtracker/main.html#bugId=80610">vote on the issue</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://forthedeveloper.com/2009/coldfusion-9-ternary-operator-fail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ColdFusion Development using VirtualBox and Ubuntu 9.10</title>
		<link>http://forthedeveloper.com/2009/coldfusion-virtualbox-and-ubuntu/</link>
		<comments>http://forthedeveloper.com/2009/coldfusion-virtualbox-and-ubuntu/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 19:29:41 +0000</pubDate>
		<dc:creator>Randy Merrill</dc:creator>
				<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://forthedeveloper.com/?p=123</guid>
		<description><![CDATA[Here is how I setup a VirtualBox Virtual Machine (VM) running Ubuntu 9.10 Server edition for ColdFusion development on my MacBook Pro. Step 1: Download Needed Files The first step is to download all the files you will need. Since the downloads usually take some time we&#8217;ll get them out of the way first. For [...]]]></description>
			<content:encoded><![CDATA[<p>Here is how I setup a <a title="VirtualBox" href="http://www.virtualbox.org/">VirtualBox</a> Virtual Machine (VM) running <a title="Ubuntu" href="http://www.ubuntu.com/">Ubuntu 9.10</a> Server edition for <a title="Adobe ColdFusion" href="http://www.adobe.com/products/coldfusion/">ColdFusion</a> development on my MacBook Pro.</p>
<p><span id="more-123"></span></p>
<h3>Step 1: Download Needed Files</h3>
<p>The first step is to download all the files you will need. Since the downloads usually take some time we&#8217;ll get them out of the way first.</p>
<p>For my installation I wanted to get more familiar with the Server edition of Ubuntu and to require fewer resources. You should be able to do a similar installation with the Desktop edition.</p>
<ul>
<li><strong>Download VirtualBox</strong> &#8211; The <a title="VirtualBox Downloads" href="http://www.virtualbox.org/wiki/Downloads">official VirtualBox download page</a>.</li>
<li><strong>Download Ubuntu</strong> &#8211; To download the Server edition you will need to <a title="Ubuntu Download Mirrors" href="http://www.ubuntu.com/getubuntu/downloadmirrors#mirrors">find a mirror</a> that hosts the installer images. Once you find a mirror navigate to the 9.10 directory and find the download link for the <code>ubuntu-9.10-server-i386.iso</code> file.</li>
<li><strong>Download ColdFusion</strong> &#8211; The <a title="ColdFusion Edition Downloads" href="http://www.adobe.com/products/coldfusion/editions/">official Developer Edition Download</a> is available on the <a title="Adobe ColdFusion" href="http://www.adobe.com/products/coldfusion/">Adobe ColdFusion</a> page. Download the Linux 32 bit installer.</li>
</ul>
<h3>Step 2: Install VirtualBox</h3>
<p>Once you have downloaded all the files, run the VirtualBox installer.</p>
<p>If you would like to learn more about VirtualBox the installation comes with a user manual or you can download a pdf copy from their <a title="VirtualBox Downloads" href="http://www.virtualbox.org/wiki/Downloads">download page</a>.</p>
<h3>Step 3: Create an Ubuntu Virtual Machine</h3>
<p>Click the <code>New</code> icon in VirtualBox to start the wizard for adding a new VM.</p>
<ol>
<li>Click <code>Next</code> to start the wizard.</li>
<li>Enter <code>Ubuntu CF</code> for the <code>Name</code> of the VM.</li>
<li>Select <code>Linux</code> and <code>Ubuntu</code> in the <code>OS Type</code> drop downs.</li>
<li>Click <code>Next</code>.</li>
<li>Click <code>Next</code> to accept the default amount of RAM. (You can adjust if you want to&#8230;)</li>
<li>Click <code>Next</code> to create a new hard disk image to use for the VM.
<ol>
<li>Click <code>Next</code> to start the wizard .</li>
<li>Click <code>Next</code> to create a dynamically expanding storage.</li>
<li>Click <code>Next</code> to accept the default name and size.</li>
<li>Click <code>Finish</code> to accept the choices for the disk image.</li>
</ol>
</li>
<li>Click <code>Finish</code> to end the wizard.</li>
</ol>
<h3>Step 4: Install Ubuntu</h3>
<p>Now that there is a VM setup to hold the guest Ubuntu system we need to install Ubuntu on it.</p>
<p>In VirtualBox Double Click on the <code>Ubuntu CF</code> listed in the left column to start up the VM. Since this is the first time you are starting the VM it will bring a up a First Run Wizard to guide you in setting up the new VM.</p>
<ol>
<li>Click <code>Next</code> to start the wizard.</li>
<li>Change the <code>Media Source</code> to <code>Image File</code> and click the <code>Other...</code> icon.
<ol>
<li>Click the <code>Add</code> icon along the top.</li>
<li>Select the <code>ubuntu-9.10-server-i386.iso</code> file we downloaded earlier.</li>
<li>Click <code>Select</code> with the <code>ubuntu-9.10-server-i386.iso</code> item selected.</li>
</ol>
</li>
<li>Click <code>Next</code> to continue.</li>
<li>Click <code>Finish</code> to end the wizard.</li>
</ol>
<p>The VM should now startup and bring up the installation the Ubuntu. I&#8217;m not going to go into the details of installing Ubuntu here, so just continue with the next step once Ubuntu installation is complete. Also, since we are going to be using apache you may wish to have the setup create a LAMP server configuration when choosing features or you can install it manually afterwards.</p>
<h3>Step 5: Setup Guest Additions</h3>
<p>In order to have the Shared Folders work we will need to install the Guest Additions.</p>
<p>Before we install the Guest Additions we will need to install dkms:</p>
<pre style="padding-left: 30px; ">sudo apt-get install dkms</pre>
<p>To mount the Guest Additions disc image to the VM press <code>Command + D</code> or select <code>Devices &gt; Install Guest Additions...</code> from the VM menu. Then install the Guest Additions by running:</p>
<pre style="padding-left: 30px; ">cd /cdrom</pre>
<pre style="padding-left: 30px; ">sudo sh ./VBoxLinuxAdditions-x86.run</pre>
<h3>Step 6: Setup Shared Folders</h3>
<p>One of the goals when creating the virtual machine was to be able to edit the files natively but run them on the guest operating system that reflects the production environment.</p>
<p>With shared folders we are able to use a local directory as a share on the guest VM.</p>
<p>Before we add the shared folder we need to have a folder to share. For this example I&#8217;m using the directory I created at <code>/Users/randy/Documents/cf9/</code>.</p>
<p>With the VM powered off edit the <code>Settings</code> and select the <code>Shared Folder</code> icon.</p>
<ol>
<li>Click the <code>Add a new shared folder definition</code> icon on the right side.</li>
<li>Enter the <code>Folder Path</code> (<code>/Users/randy/Documents/cf9/</code>) or select <code>Other...</code> from the drop down and locate the directory.</li>
<li>Enter the name you would like the share to be referenced as in the <code>Folder Name</code> field. In this case I am going to call it <code>cf9</code>.</li>
</ol>
<p>Now that we have the shared folder available to the VM we want it to mount the share each time the VM starts. To do this we startup the Ubuntu VM and edit the <code>/etc/fstab</code> file and add the following line at the end of the file (note that you will need to change the username to match your user):</p>
<pre style="padding-left: 30px;"><code>cf9	/home/randy/Documents/cf9	vboxsf	uid=randy,gid=users	0	0</code></pre>
<p>You will also need to create a blank directory at <code>/home/randy/Documents/cf9</code> that the share will mount to.</p>
<p>The next time your VM is started it should have access to <code>/Users/randy/Documents/cf9</code> on the host machine at <code>/home/randy/Documents/cf9</code> on the guest machine.</p>
<h3>Step 7: Enable Port Forwarding</h3>
<p>To setup the port forwarding you will need to stop the VM. In the terminal run the following commands to setup the port forwarding. (Note that <code>"Ubuntu CF"</code> needs to match the name of the VM created above.)</p>
<pre style="padding-left: 30px;"><code>VBoxManage setextradata "Ubuntu CF" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/Protocol" TCP
VBoxManage setextradata "Ubuntu CF" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/GuestPort" 80
VBoxManage setextradata "Ubuntu CF" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/HostPort" 8580</code></pre>
<p>This will change the VM settings to have the guest port of <code>80</code> (which is the default apache port) of the guest forwarded to port <code>8580</code> on the host. Without this you would not be able to talk to the guest operating system.</p>
<h3>Step 8: Install ColdFusion</h3>
<p>Since we already downloaded the installer for ColdFusion we just need to get that file to the VM. Luckily we already setup a shared folder so if you move the installer to the <code>/Users/randy/Documents/cf9/</code> directory it will be available in the VM.</p>
<p>To run the ColdFusion installer:</p>
<pre style="padding-left: 30px; "><code>cd /home/randy/Documents/cf9/</code></pre>
<pre style="padding-left: 30px; "><code>chmod +x ColdFusion_9_WWE_linux.bin</code></pre>
<pre style="padding-left: 30px; "><code>sudo ./ColdFusion_9_WWE_linux.bin</code></pre>
<p>This should start the installer. During the installation, apache should be configured to run with ColdFusion.</p>
<h3>Step 9: Test Environment</h3>
<p>To test that the development environment is working correctly you should be able to place an <code>index.cfm</code> file in your <code>/Users/randy/Documents/cf9/</code> directory. Make sure that you place some CFML in the file to test that ColdFusion is doing it&#8217;s thing. Then visit <a href="http://localhost:8580/">http://localhost:8580/</a> in a browser on your host to test out the new development environment!</p>
]]></content:encoded>
			<wfw:commentRss>http://forthedeveloper.com/2009/coldfusion-virtualbox-and-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Impressions of Railo</title>
		<link>http://forthedeveloper.com/2008/impressions-of-railo/</link>
		<comments>http://forthedeveloper.com/2008/impressions-of-railo/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 22:41:45 +0000</pubDate>
		<dc:creator>Randy Merrill</dc:creator>
				<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[railo]]></category>
		<category><![CDATA[cfml]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://forthedeveloper.com/?p=23</guid>
		<description><![CDATA[As part of their tour of North America, Railo stopped by Salt Lake City with their CEO Gert Franz and CTO Michael Streit to present their CFML engine to the combined audiences of SLCFUG and NUCFUG groups. Along with the meeting we were able to have dinner with the Railo duo. The content of this [...]]]></description>
			<content:encoded><![CDATA[<p>As part of their tour of North America, <a href="http://www.railo-technologies.com/" target="_blank">Railo</a> stopped by Salt Lake City with their CEO Gert Franz and CTO Michael Streit to present their CFML engine to the combined audiences of <a href="http://slcfug.org/" target="_blank">SLCFUG</a> and <a href="http://nucfug.org/" target="_blank">NUCFUG</a> groups. Along with the meeting we were able to have dinner with the Railo duo. The content of this post is being pulled from memory and conversations with others so I don&#8217;t vouch for 100% accuracy.</p>
<p><span id="more-23"></span></p>
<h2>General Impressions</h2>
<p>Overall, I was greatly impressed by what the Railo team has done to make their product a viable CFML solution. The presentation was great with a wealth of examples and content to go over. The end effect of the presentation and subsequent discussion left me with a very positive take-away.</p>
<h2>It&#8217;s in the Name</h2>
<p>This is something that was brought up during dinner that I didn&#8217;t know before about the origin of the name Railo. From their <a href="http://www.railo-technologies.com/en/index.cfm?treeID=274" target="_blank">FAQ page</a>:</p>
<p style="padding-left: 30px;">Yes. Railo is the name of an alien dog, first appearing in the first season, episode 25 of the TV-series &#8220;Enterprise&#8221;.</p>
<h2>Standardization</h2>
<p>During the meeting Gert talked a little about his involvement with the advisory committee that was created to help direct the CFML language as it continues to evolve. With multiple companies producting CFML engines it is a temptation to start developing extra tags that make the company stand out. The downside is the harm it causes to the CFML language by confusing developers and/or locking them into one engine since the code becomes specialized.</p>
<p>Railo is not without it&#8217;s features (which I will talk about below) that are not standard, but they have been making an awesome effort to share what they have been working on and the ideas for the future with the advisory committee in an effort to help things become more of a standard. Railo distinguishes themselves by making it out-perform the competitors, which is the right way to do it.</p>
<p>One of the comments made by Gert that I really enjoyed was to this effect:</p>
<p style="padding-left: 30px;">While presenting at Adobe an Adobe engineer commented that they hoped Railo wasn&#8217;t mad that they used some of their ideas for features in ColdFusion 8. Gert replied that Railo stole 95% of Adobe&#8217;s ideas, Adobe stole 5% of Railo&#8217;s features so they were about even.</p>
<h2>Two Administrators</h2>
<p>When dealing with applications running on Adobe&#8217;s ColdFusion you have one Administrator that runs everything on that installation. If you want to break up the server to use a different configuration you have to use the enterprise version which allows you to create separate instances but cost a lot of money to do so. With Railo there are two types of administrators that you can use to run your application: the global administrator and the context administrator.</p>
<p>The global administrator allows you to configure options that will be available on all the web contexts running on the server (or instance of the JVM, I think). Basically anything you define there will take effect across all web contexts, unless overridden by the context administrator.</p>
<p>With the context administrator you are able to define settings that affect only the web context itself. This includes settings such as mappings and datasources. Traditionally you would have to do something in the Application.cfc to get mappings dynamically that were not defined in the administrator.</p>
<h2>Resources</h2>
<p>There are a lot of different ways to access files. You have local filesystem files, files on network shares, files on ftp servers, files on <a href="http://en.wikipedia.org/wiki/Amazon_S3" target="_blank">Amazon&#8217;s S3 services</a>, flicker, google docs, etc. Thanks to the folks at Railo we are able to access the files from different services through an abstracted layer in Railo. I don&#8217;t know if they do flicker and google docs but they showed examples of using ftp and the S3 service.  Essentially, you could reference anything with a file path. Of course, getting files from ftp is considerably slower than the local file system. What this abstraction allows is for the programmer to reference files from varied locations without having to worry about where it is coming from.</p>
<p>Even if they don&#8217;t have a flicker:// path it sounded like it would be up to developers to program additional resources if they chose so you can have a flicker resource. You have to love abstraction, it&#8217;s just cool.</p>
<h2>Portability</h2>
<p>With the ability to change settings the portability of the Railo engine is impressive. All of the information to run your Railo application resides within one directory so if you want to distribute or move your application, datasources, mapping, et al., you just move the directory. It also is nice that it doesn&#8217;t break encapsulation, you just move it and it all comes.</p>
<h2>Clustering</h2>
<p>I&#8217;ll admit right now that I am no server administrator, but I was impressed by the quickness and seeming ease it was for Gert to startup a cluster and show us how it runs. Granted we didn&#8217;t watch him create the cluster he showed that it was done using the underlying Java server and you just need to tell the servers where each other are and give them some private key goodness. That alone looked pretty neat, but when you couple it with the cluster scope it was amazing.</p>
<h2>Cluster Scope</h2>
<p>This is something which just makes sense. You have session scopes and applications scopes when working on a single box, why not expand that out to the next level and have a cluster scope? Well Railo has a cluster scope. How cool is that? You can have variables that are created on one node in the cluster which then get shared to all other nodes in the cluster. Even if a node of the cluster is unavailable it will be updated once it comes back online and automatically synced with the rest of the cluster. I believe that Gert said Railo was using the cfthread task to accomplish the syncing of the cluster scope.</p>
<h2>cfthread Task</h2>
<p>Not many developers are used to using threading in their applications, at least the programmers that I know don&#8217;t. But if you do use cfthread, and even if you don&#8217;t, the type=&#8221;task&#8221; was a very cool addition to the cfthread tag. The task type allows you to define a task that is run as a separate thread. If that thread fails for some reason you are able to define how often and how many times to retry it. I believe that this is how the cluster scope is managed &#8211; by way of a threaded task.</p>
<h2>TDD</h2>
<p>Test Driven Development (TDD) has been something that has interested me for quite some time but never actually implemented it. Railo is a very fine example of why you do implement TDD and the benefits it reaps. As we were talking I asked the Railo duo about their using TDD.  I had read something about them using it and it turns out they have about 60,000 tests currently. Each time they start working on a bug or a feature they create their test for it beforehand. Once they have written the fix or feature the test is run to make sure it is correct. They also noted that it takes about an hour to run the tests each time they do a build for release. Awesome work Railo!</p>
<h2>Debugging</h2>
<p>Not much to say on this one other than the duo report that turning on debugging in Railo doesn&#8217;t really affect the system. They have such a hard time measuring how much it slows it down that they just say 1% to be safe.</p>
<h2>Multimedia Tags</h2>
<p>Prevalent among web sites these days is a lot of rich and streaming videos. With the 3.0 release of Railo they have created cfvideo and cfvideoplayer tags that do video conversion, clipping, screengrabs, and playback. I haven&#8217;t done much with video content but it was quite cool to hear and see the examples of the tag and how simple it is.</p>
<p>To me it was more impressive to see the way they used Amazon&#8217;s EC2 along with Amazon&#8217;s S3 to convert and stream their videos. Along with the EC2 Railo is planning on having some public Railo templates(?) that can be copied and made private for those who want to use Railo on the cloud once it is open source.</p>
<h2>Extensions</h2>
<p>This was one of the things that has some of the greatest potential and would be awesome for developers. The idea of an extension is basically having a packaged version of an application, training module, network thingy, etc., available for people to download and install/upgrade from within their administrator. I kind of picture this like the Apple app store, only for ColdFusion applications and add-ons.</p>
<p>This extension feature is how they are planning to off the video tags and other Railo extensions that they can&#8217;t distribute freely because of licensing. In addition developers would be able to have their applications and extensions sold through the same manner. Or you could define your own server to distribute solely your applications.</p>
<p>This was an idea they had at the beginning of the year and are still exploring the options and functionality. They are also in talks with Adobe to have this be something that is not unique to Railo but used in CF 9 or CF 10 as well.</p>
<h2>Shared Hosting</h2>
<p>One area of the ColdFusion community that is lacking is the ability to have very powerful shared hosting solutions for ColdFusion. You can get dedicated hosting that works awesome, but it costs you a lot to do it. With the current availability for shared hosting I&#8217;ve only heard not-so-good things. Especially with respect to shared hosting and mappings. With the features that Railo brings to the table it clears away a lot of the problems that seem to run rampant among CF shared hosts.</p>
<p>Given the structure of Railo you could set it up so that each account has their own web context(s) that they control while the host controls the global administrator. Or, depending on the hosting solution (such as <a href="http://www.mediatemple.net/go/order/?refdom=zdsystems.com" target="_blank">media temple&#8217;s grid server</a> where this blog is hosted), they could give you a fully working set of the Railo Administrator where you can have your own global administrator along with web context administrators.</p>
<h2>Cascading Scope</h2>
<p>One of my pet peves is code that doesn&#8217;t use explicit scoping. To me it is very inefficient and confusing not to know where the variables are coming from. I was very happy to hear that there is a setting to turn off the cascading scope functionality in Railo. If your code doesn&#8217;t know what to do it dies and tells you it can&#8217;t find the variable. Go encapsulation!</p>
<h2>In Review</h2>
<p>To sum it all up, I am excited to try out and hopefully contribute to the Railo project when it is released into the open source world.  It&#8217;s definately something that has an awesome potential to help expand the ColdFusion community, along with <a href="http://www.openbluedragon.org/">Open Blue Dragon</a>, to those who complain about ColdFusion not being free. I look forward to great things from Railo.</p>
]]></content:encoded>
			<wfw:commentRss>http://forthedeveloper.com/2008/impressions-of-railo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ColdFusion 8.01 on Ubuntu 8.04</title>
		<link>http://forthedeveloper.com/2008/coldfusion-801-on-ubuntu-804/</link>
		<comments>http://forthedeveloper.com/2008/coldfusion-801-on-ubuntu-804/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 01:22:37 +0000</pubDate>
		<dc:creator>Randy Merrill</dc:creator>
				<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[install]]></category>

		<guid isPermaLink="false">http://blog.zdsystems.com/?p=14</guid>
		<description><![CDATA[Wow, i hadn&#8217;t realized how close in version numbers the two things are&#8230; I was thinking today of how many crazy things that I try to do, how many of them don&#8217;t work, and how many of them I don&#8217;t share when they do. So today I attempt to share a successful install of ColdFusion [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://forthedeveloper.com/wp-content/uploads/2008/07/cf8.jpg"><img class="size-medium wp-image-15" title="ColdFusion 8" src="http://forthedeveloper.com/wp-content/uploads/2008/07/cf8.jpg" alt="ColdFusion 8... can\'t you just download it?!? A case?!?" width="280" height="280" align="right" /></a>Wow, i hadn&#8217;t realized how close in version numbers the two things are&#8230;</p>
<p>I was thinking today of how many crazy things that I try to do, how many of them don&#8217;t work, and how many of them I don&#8217;t share when they do. So today I attempt to share a successful install of ColdFusion 8 (developer version) on my Ubuntu 8.04 64-bit box.</p>
<p><span id="more-18"></span></p>
<p>For this installation I am going to connect it to my apache 2 installation. So if you do not have apache or do not want to connect it to apache then just skip that part.</p>
<p>To start off I downloaded the coldfusion-801-lin64.bin file from <a title="Adobe ColdFusion" href="http://www.adobe.com/products/coldfusion/" target="_blank">Adobe</a>.</p>
<p>Once I had the file I made it executable:</p>
<blockquote><p><code>$ sudo chmod +x coldfusion-801-lin64.bin</code></p></blockquote>
<p>Now it is time to run the installer:</p>
<blockquote><p><code>$ sudo ./coldfusion-801-lin64.bin</code></p></blockquote>
<p>At first the installer extracts the files for installation then brings up the menu to select the locale. I speak only english so luckily there was the option for english.</p>
<p>Next they give you a nice introduction telling you that you are installing ColdFusion and you can go back in the installer by typing &#8216;back&#8217; and you can exit the installer by typing &#8216;quit&#8217;. ( I pressed &#8216;enter&#8217;. )</p>
<p>Next we go through the wonderful License Agreement for using ColdFusion. You should probably read it, but since I am only installing the developer version I didn&#8217;t pay much attention and pressed enter a lot until I got to the question of if I accept. Then I pressed &#8216;Y&#8217; and &#8216;enter&#8217;.</p>
<p>Next the installer goes through a pre-installation check to see if your computer has everything that is needed by ColdFusion. My box unfortunately pulled up a warning telling me:</p>
<blockquote><p><code>The installer was unable to determine if libstdc++.so.5 is available. The library is necessary for C++ custom tags, webservices and some cfimage functionality to work properly.</code></p></blockquote>
<p>When I checked my packages I have libstdc++6 installed. I&#8217;m no linux guru, just trying to learn more about it, but I continued the installation in spite of the warning. I&#8217;ll write a new post later if this comes back to bite me. So I pressed &#8216;enter&#8217; and ignored the warning.</p>
<p>For my wonderful installation attempt I chose to select the Developer Edition since I am not rich and this is only for local development anyways. If you are rich, or want to install any of the other options, go ahead, I just may not have the same options that you do.</p>
<p>Next it asks for the installer configuration that I would like to use. At first I thought that I would like to go with the multi-server install, but I have tried playing around with it in the past and it just seemed overkill for what I wanted to do for my development so I chose to do just a regular &#8216;server configuration&#8217;. I also found it interesting they decided to include a second semi-colon on this menu, adds a nice touch.</p>
<p>Ofttimes it doesn&#8217;t do well to have ColdFusion already installed and install it again. So the next step asks to make sure you don&#8217;t already have ColdFusion installed. I do not so i answer no.</p>
<p>The next part is where you get to do whatever set of addons you want. For my install I did not want the documentation since I use livedocs, and I didn&#8217;t want LiveCycle and Search Services since they would be overkill and overhead. I also removed the option to start ColdFusion on system init since I am not always developing on it and plan on having a bash script to start it up and shut it down when needed.</p>
<p>I went with the default for the install directory ( /opt/coldfusion8 ). I have no reason to change it and don&#8217;t know enough about linux to slap myself for doing it.</p>
<p>No previous version of ColdFusion installed so the next option was a no.</p>
<p>Configuring webservers is what I have had the most trouble with while trying to install ColdFusion before so I&#8217;ll see if I can get it right. I selected  the &#8216;Add Web Server Configuration&#8217; option to try and attach it to apache.</p>
<p>I am running apache so I selected the &#8216;Apache&#8217; option.</p>
<p>If you would like a handy reference for where your files are for apache check out this <a href="http://www.thecrumb.com/2007/09/07/coldfusion-8-install-on-ubuntu/" target="_blank">post from the crumb</a>.</p>
<p>Next it asks for the directory that contains the httpd.conf file. On this box that the path is:</p>
<blockquote><p><code>/etc/apache2</code></p></blockquote>
<p>Next is asked for the binary file for apache:</p>
<blockquote><p><code>/usr/sbin/apache2</code></p></blockquote>
<p>And for the control file used to start and stop apache:</p>
<blockquote><p><code>/usr/sbin/apache2ctl</code></p></blockquote>
<p>Next it shows the menu about web server configuration. But since I have done my damage I just tell it to &#8216;Continue with Installation&#8217;.</p>
<p>For the administrator location I chose &#8216;/var/www&#8217; so that it is out there where I can get to it without a lot of changes.</p>
<p>The runtime user is something that I wasn&#8217;t sure of, but one of my sys-admin friends told me to use the www-data user for it so that is what i used.</p>
<p>My password for my home dev server I put as &#8217;1d10t&#8217;. And if you want to buy some nice insurance I know a guy&#8230;.</p>
<p>RDS is one of those things that you hear about&#8230; but just never used. At least it is for me. So this time I am going to try out the RDS option this time and see what it can do for me. For that password I chose &#8216;t01d1&#8242;.</p>
<p>Now it shows the installation summary of what it is about to do.</p>
<blockquote><p><code>Installation Type:<br />
Server configuration</code></p>
<p><code>Licensing:<br />
Developer Edition</code></p>
<p><code>Installation Directories:<br />
Product: /opt/coldfusion8<br />
Web root: /var/www</code></p>
<p><code>Server Information:<br />
Web Server: Apache (/etc/apache2)<br />
Port:<br />
Search Services: not installed<br />
Adobe LiveCycle Data Services ES: not installed<br />
Documentation: not installed<br />
RDS: enabled</code></p>
<p><code>Disk Space Information (for Installation Target):<br />
Required: 432,138,779 bytes<br />
Available: 198,957,346,816 bytes</code></p></blockquote>
<p>Press enter and it whirls away in ASCII to install your ColdFusion 8 server.</p>
<p>Yeah:</p>
<blockquote><p><code>You have successfully completed the first step in installing Adobe ColdFusion 8.</code></p>
<p><code>To continue with your installation, go to /opt/coldfusion8/bin and type "./coldfusion start" to start your server.</code></p>
<p><code>Once the server, is started log in to the Configuration Wizard at http://[machinename]/CFIDE/administrator/index.cfm</code></p></blockquote>
<p>Next to see if the ColdFusion server will startup.</p>
<blockquote><p><code>$ cd /opt/coldfusion8/bin<br />
$ sudo ./coldfusion start</code></p></blockquote>
<p>From past experience if I don&#8217;t start the Coldfusion service as root it gives me some strange errors and things do not work right. So here i just told it to startup as root from the beginning.</p>
<blockquote><p><code>Starting ColdFusion 8...<br />
The ColdFusion 8 server is starting up and will be available shortly.<br />
======================================================================<br />
Running the ColdFusion 8 connector wizard<br />
======================================================================<br />
Configuring the web server connector (Launched on the first run of the ColdFusion 8 start script)<br />
Running apache connector wizard...<br />
Connector installation succeeded for apache<br />
======================================================================<br />
ColdFusion 8 has been started.<br />
ColdFusion 8 will write logs to /opt/coldfusion8/logs/cfserver.log<br />
======================================================================</code></p></blockquote>
<p>Now to test it out. I loaded up my localhost/CFIDE/administrator/ and it pulls up the coldfusion administrator. Looks good to me. Went through the administrator and setup a couple of things, tested out a cfm page in the root. All seems to be working well&#8230; good job Adobe.</p>
]]></content:encoded>
			<wfw:commentRss>http://forthedeveloper.com/2008/coldfusion-801-on-ubuntu-804/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
