You can specify the CFML engine via the command line arguments:
CommandBox> start cfengine=adobe@9
This will start an Adobe ColdFusion 9 server in your webroot. That's it!
By default, CommandBox uses the
cfengine slug to search for the engine on ForgeBox. The format is
slug@version where the version is optional. Ortus Solutions maintains the versions of the engines available on ForgeBox.
Supported engines are:
Adobe ColdFusion 9 **
Adobe ColdFusion 10
Adobe ColdFusion 11
Adobe ColdFusion 2016
Adobe ColdFusion 2018
Here are some examples:
# Start the default engineCommandBox> start# Start the latest stable Railo engineCommandBox> start cfengine=railo# Start a specific engine and versionCommandBox> start email@example.com# Start the most recent Adobe server that starts with version "11"CommandBox> start cfengine=adobe@11# Start the most recent adobe engine that matches the rangeCommandBox> start cfengine="adobe@>9.0 <=11"
Engines are downloaded and stored in your CommandBox artifacts folder. You can view your engines and clear them using the standard artifacts commands:
CommandBox> artifacts list# Removes all adobe servers currently in the artifacts# These servers will need to be re-downloaded the next time they are startedCommandBox> artifacts remove adobe
** Note: Adobe ColdFusion 9 does not support the latest Java 8. To run ColdFusion 9 you must use an older version of CommandBox 3.x on Java 7 or run CommandBox 4.x on Java 8 update 92 or earlier. Several people are doing this, but beware your mileage may vary.
While Lucee asks for a password the first time running the admin, ColdFusion requires a username and password when CommandBox sets it up. The default username and password for the Adobe ColdFusion servers used are:
Additionally, CommandBox can start any WAR given to it using the
CommandBox> start WARPath=/var/www/myExplodedWARCommandBox> start WARPath=/var/www/myWAR.war
If you run a regular
start command inside of a folder that has a
/WEB-INF/web.xml file, CommandBox will treat that folder as a WAR.
cfengine parameter can accept any valid CommandBox endpoint ID. That means it can be an HTTP URL, a Git repo, a local folder path to your company's network share, or a custom ForgeBox entry you've created. As long as that endpoint resolves to a package that contains these files, you're good:
Engine.[zip|war] (file name doesn't matter)
CommandBox will download the package, unzip it and use the WAR/zip file as the engine for your app.
Normally, the artifacts cache isn't used for non-ForgeBox packages, but CommandBox will only download the engine once per server and then assume the file hasn't changed. You will need to forget the server to trigger a new download.
Here's an example of starting up a web server using a direct download link to a package containing a WAR file:
CommandBox> start cfengine=http://downloads.ortussolutions.com/adobe/coldfusion/9.0.2/cf-engine-9.0.2.zip
You can set the
cfengine and other related configuration options in your
server.json to use them every time you start your app.
CommandBox> server set app.cfengine=adobeCommandBox> server set app.WARPath=/var/www/my-app
These commands would create the following
Just a reminder that starting a server with any command line arguments will save the arguments to your
server.json by default.
CommandBox> start cfengine=adobe@9
This command would add
adobe@9 to your
server.json. If this is not what you want, you can append
saveSettings=false or even
--!saveSettings when you start your server and CommandBox will not save the arguments you specify to your