OpenBD (Open Blue Dragon) is a powerful open-source CFML engine. Here we are going to show you how to deploy it on IIS with the help of Helicon Zoo.
First we need to configure our Windows server to run Java Servlet applications. This is easily doable using following instructions.
- Download and install Web Platform Installer.
- Run Web Platform Installer and click “Options”.
- Add Helicon Zoo feed into “Display additional scenarios” box: http://www.helicontech.com/zoo/feed. New “Zoo” tab will appear.
- Go to the Zoo -> Packages and install Java Hosting Package.
- Accept licenses to start installation process.
Alternatively, instead of installing Java Hosting Package you can install Modules –> Helicon Zoo Module and Engines –> Jetty separately. This is minimal requirement to run Java Servlet applications under Microsoft IIS web server. If you want to run Java Servlets under IIS Express and WebMatrix in your development environment, then you will also need to install Helicon Zoo Module for IIS Express form Engines section.
This is enough configuration to run most of Java Servlet applications directly form IIS.
Download “J2EE Standard WAR” on http://www.openbluedragon.org/download/. Launch IIS Manager and create new web-site or an application. Copy downloaded .war file into your web-site’s or application’s root folder and create the following web.config:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <heliconZoo> <application name="openbd.project" > <environmentVariables> <!-- Uncomment line below if you want to set contexts directory --> <!-- <add name="CONTEXTS_DIR" value="%APPL_VIRTUAL_PATH%" /> --> <!-- Optional variables: --> <!-- <add name="CONTEXT_PATH" value="%APPL_VIRTUAL_PATH%" /> --> <!-- <add name="WAR_EXTRACT_PATH" value="%APPL_PHYSICAL_PATH%" /> --> <!-- A WAR file or start directory to run --> <add name="WAR_FILE" value="openbd.zip" /> </environmentVariables> </application> </heliconZoo> <handlers> <add name="openbd.project#x86" scriptProcessor="java.jetty" path="*" verb="*" modules="HeliconZoo_x86" preCondition="bitness32" resourceType="Unspecified" requireAccess="Script" /> <add name="openbd.project#x64" scriptProcessor="java.jetty" path="*" verb="*" modules="HeliconZoo_x64" preCondition="bitness64" resourceType="Unspecified" requireAccess="Script" /> </handlers> </system.webServer> </configuration>
Please take a look at <environmentVariables> section. Only “WAR_FILE” variable is required and should contain either path to a WAR file or to a folder containing unpacked Java Servlet application.
WAR_EXTRACT_PATH variable can be used to configure location where to unpack WAR file content. By default it is IIS application root folder. CONTEXT_PATH variable needed by Java application and contains IIS application virtual path by default.
WARNING: Since WAR files need to be extracted before execution you will need to have a folder with write permissions. In default IIS installation all application pools are executed with permissions of IIS_IUSRS group which does not have write permissions to the web application folders. You will need to provide write permissions to the user running Application Pool or IIS_IUSRS group to the folder containing OpenBD application or specify other folder using WAR_EXTRACT_PATH variable with write permissions provided.
That’s it. You may now start OpenBD by opening IIS web site in the browser:
You can copy CFML applications into “webapps” folder of OpenBD web site. There are “manual” and “bluedragon” already. The latter one is actually an administration panel for your OpenBD installation:
As you can see we’ve installed OpenBD easily in very few steps. Naturally you may deploy any .war file in the same way.