Friday, October 19, 2007

How to install and run Adobe LiveCycle Data Services ES 2.5.1 on Mac OS X

This post outlines step-by-step instructions to get the latest Adobe LiveCycle Data Services ES (formerly Flex Data Services) running natively on a Mac. Okay – before you get excited, Adobe does not support this but I did some tinkering around with JBoss 4.2.1 GA and Adobe LiveCycle Data Services ES 2.5.1 and got it running natively on Mac OS X. Below is the screenshot in Safari.



Before you read how to do this, please understand a few things. First, Adobe LiveCycle Data Services ES is not supported on Mac OS X. In fact, we do not even release it (but don’t worry, it is not hard to install). If you do not know what LiveCycle Data Services ES is, it used to be called Flex Data Services. It is now part of the LiveCycle Service platform and has lots of great features. It has a really cool server component that can do wicked messaging stuff to round trip between a J2EE environment and Adobe Flex, AIR, HTML or AJAX applications.

Why? I ported this over and posted this as a result of Adobe MAX 2007 in Barcelona. Macs were everywhere. At JavaOne and MAX, I suspect that about 50-60% of the developers are now using Macs. We used Macs in our hands-on training rooms and they got taken up first.

Here are the full instructions for getting LiveCycle Data Services ES running on a Mac. Please don’t complain if it doesn’t work. We don’t support it (currently -- but if you’re interested tell me and I’ll work on product management to see if we can get it supported) and we’re on our own for now. Here are the steps:

1. Go to JBoss.org and download the JBoss 4.2.1GA release. Unzip it somewhere (I put it on my desktop).

2. Grab a terminal and navigate to the /bin and enter “sh ./run.sh” as shown below. Note – you must run it with sufficient privileges. If you have trouble try entering “sudo sh ./run.sh” and you will be prompted for the SU password.



3. Grab Safari and go to http://localhost:8080 to verify it works. You should see a screen welcoming you to JBoss app server.

4. If it worked, stop the application server by going to the /bin and typing “sh ./shutdown.sh”, then hit enter. Or, you can simply put the cursor in the shell and hit “Control-C”. The latter is not recommended but it works.

5. Go to http://www.adobe.com/products/livecycle/dataservices/ and follow the steps to download LiveCycle Data Services ES version 2.5.1. Make sure you select the AIX version. When you finish downloading it, click the file and install it. (note: it does install even though Adobe does not claim it installs). It will create a directory on the Mac at /Adobe/ as shown below.



6. Now the important part. Expand the LiveCycle Data Services ES 2.5.1/resources/security/tomcat/ directory then copy the <lcds_install_root>/resources/security/tomcat/flex-tomcat-common.jar and <lcds_install_root>/resources/security/tomcat/flex-tomcat-server.jar into the jboss_root/server/default/lib folder of your JBoss install. This will allow custom authentication to work.

7. From the same location, copy <lcds_install_root>/resources/security/tomcat/context.xml to your JBoss under the WEB-INF directory or adjust an existing context.xml to add the <valve>. You’ll have to open the context.xml files to compare them. Copying works best if you have a fresh install of JBoss.

8. Expand your <lcds_install_directory> and copy the following files:
flex-admin.war flex.war samples.war

9. Paste those samples in the <jboss_install_directory>/server/default/deploy directory.

10. Restart JBoss as described above (Step 2). Get your browser and go to http://localhost:8080/samples and you should see this:



Now try the samples. If they work you have succeeded! Congratulations.

Running it on a Mac, I noticed several advantages. First, the start up time is really fast -- it started in 28 seconds. For contrast, at MAX 2007 in Barcelona, the same software on a PC with 2 GB RAM took about 1:35 to start. I have 4 GB of RAM on an Intel Core 2 Duo machine so it gives it a small advantage.

Enjoy! Let me know if you thought this was cool.

11 comments:

  1. Thanks for doing this. Saved me figuring it out for myself.
    All of our application servers are
    Xserves so LCDS has not been an
    option for us so far. It would be great if Adobe had a version for OS X
    ready to go.

    ReplyDelete
  2. you're dealing with LCDS stand-alone, I take it?

    is it any differnt to the LCDS that comes installed with ColdFusion8?

    http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=basiconfig_16.html

    ReplyDelete
  3. [oops! missed a bit] ...

    ... which installs on a Mac

    ReplyDelete
  4. The LCDS 2.5.1 download comes in ZIP format - you must rename it to .JAR.

    ReplyDelete
  5. Nice work! What would I need to do to install into a Tomcat distribution?

    ReplyDelete
  6. I would also like to get this running with Tomcat. But I went ahead and tried JBoss; however it would never launch. When I type the ./run.sh command it gives me the following error:

    ./run.sh: line 211: /System/Library/Frameworks/JavaVM.framework/bin/java: No such file or directory

    ReplyDelete
  7. @Anonymous: aparantly, your JBoss installation is searching for java in the wrong place. Perhaps adding this local variable will help:
    export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Home"
    type this in a console terminal and try again.

    ReplyDelete
  8. Hello -
    Does this process also work using the latest versions _ e.g. jboss 2.4.3.-GA and
    Live Cycle 2.6... There seem to be no flex.war, flex admin.war etc. files ( mentioned in Step 8) in Live Cycle 2.6. Are the lcds files equivalents?

    Thanks for your help...

    ReplyDelete
  9. As of September 2008 this approach still seems to work with the latest versions of LCDS and JBOSS.

    Unfortunately Adobe still doesn't want to support LCDS on Mac OS X which is a real shame.

    ReplyDelete
  10. I agree but I can understand the rationale. LCDS is almost never deployed on Mac OSX for production. Most people who want it to run on OSX want it for testing and development. I'll try to always make sure that this info is updated so we can keep doing this as the alternative (Using win*) does not appeal to me.

    ReplyDelete
  11. For LiveCycle Data Services ES 2.6.1 you follow the same steps as above, except:

    8. Copy lcds-samples.war and ds-console.war to <jboss_install_directory>/server/default/deploy

    10. Start the HSQLDB by running ./startdb.sh in /Adobe/LiveCycle Data Services ES 2.5/sampledb.

    Restart JBoss and go to: http://localhost:8080/lcds-samples/ and http://localhost:8080/ds-console/.

    Hope this is helpful...
    Vegard

    ReplyDelete

Do not spam this blog! Google and Yahoo DO NOT follow comment links for SEO. If you post an unrelated link advertising a company or service, you will be reported immediately for spam and your link deleted within 30 minutes. If you want to sponsor a post, please let us know by reaching out to duane dot nickull at gmail dot com.