Source Installation
Deploy ContentBox into any Adobe or Lucee CFML Engine
Last updated
Deploy ContentBox into any Adobe or Lucee CFML Engine
Last updated
In this section, you will deploy ContentBox to run on any Adobe or Lucee CFML engine. The first step is to use CommandBox and our contentbox-cli
package to install and configure ContentBox for usage in any CFML Engine.
We won't use CommandBox as our server, just as a package manager and CLI.
CommandBox is a ColdFusion (CFML) Command Line Interface (CLI), REPL, Package Manager and Embedded Server. We will leverage the CLI in CommandBox to install, deploy and configure ContentBox.
MacOS, Windows or Linux
JDK 11+
A clean, empty directory on your machine
You can download CommandBox from the official site: http://www.ortussolutions.com/products/commandbox#download and install it in your preferred Operating System (Windows, Mac, Unix).
Once you download and expand CommandBox, you will have the box.exe
or box
binary, which you can place in your Windows Path or *Unix /usr/bin
folder to have it available system-wide. Then open the binary, and CommandBox will unpack itself in your user's directory: {User}/.CommandBox
. This happens only once, and the next thing you know, you are in the CommandBox interactive shell!
We can execute a-la-carte commands from our command line or go into the interactive shell for multiple commands. We recommend the interactive shell, which is faster and can remain open in your project root.
We can now install the contentbox-cli
package:
Once installed, you can always run contentbox help
to get the list of available commands and help information. This will generate a .env
file in your webroot. Please make sure you protect it from downloading. As ContentBox uses it for seeding secrets.
Create a database in your RDBMS of choice. Ensure you note the name of the database, the connection details, and its credentials.
If you are using MySQL, make sure you use utf8mb4
for your database collation.
Now go to your CFML engine administrator and register the contentbox
datasource that points to the database you just created.
You can use ANY name for the datasource, but we will use contentbox
for ease of use.
Now that we have our CLI installed and database and datasource created, we will create a new directory to create our site and run the ContentBox installer. This folder will likely be your web root in your CFML engine installation or a sub-folder within that web root. Let's assume it's the web root of your current CFML Engine installation.
The wizard will take you by the hand and ask you all the relevant questions about your installation:
Name of your site
Which CFML Engine you will be running ContentBox on (Lucee5, Adobe 2018+)
Password for the ColdBox HMVC Reinits
Database of choice (MySQL5+, MSSQL, PostgreSQL, Oracle)
Database credentials
Development or production site
Latest ContentBox version, specific or be
bleeding edge
Deploy a CommandBox server or not. This should be false, as we only deploy our code to the CFML engine we have installed.
Confirm your settings, and the installer will configure the entire site, including ORM dialects, environment variables, etc. It will also run the migrations to build the database according to the credentials you pass and create a .env
file in the root.
Tip: You can use the `install --help` command and see how to install ContentBox in an automated fashion without user interaction.
Now that we have installed ContentBox on disk and configured your CLI to connect to your database for delivering database migrations, we can finalize the installation via the web installer. Now open the installer by navigating to the root of the project. Let's assume you are running your CFML engine on port 8500:
Then you can finalize the web portions:
Administrator Account
Site Information
Notification Emails
Email Information
URL Rewriting
Enjoy your ContentBox installation!
Caution: After installing ContentBox, we recommend removing the installer and data source wizard modules from the disk. You can do so manually or via the Dashboard once you log in. {Root}/modules/contentbox-installer and {Root}/modules/contentbox-dsncreator