All pages
Powered by GitBook
1 of 16

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Changelog

Version 1.5.0

Changed

  • Bump BoxLang version to 1.5.0+41

  • Systemd daemon for manage BoxLang MiniServer process is now boxlang-site

Added

  • startBoxLangSite.sh script is now on charge to start|stop BoxLang MiniServer process through boxlang-site Systemd daemon

    • It checks if there is custom site under /web/boxlang-site/wwwroot placed by users and if there is a server.json file, if not start default ColdBox Application under /web/boxlang-site/default

Version 1.4.1

Removed

  • /web/coldbox-site/wwwroot directory was moved to /web/boxlang-site/wwwroot

Version 1.4.0

Added

  • Bump BoxLang version to 1.4.0

Version 1.3.0

Added

  • BoxLang update to 1.3.0

Version 1.1.0

Added

  • BoxLang MiniServer now support URL Rewrites

Removed

  • Nginx Reverse Proxy

Version 0.3.0

  • Initial Release

Boxlang MiniServer

This AMI image will create a running BoxLang server with CFML compatibility module for you. If you do not want a ColdBox site we will show you how to remove it and have your own site. The first step is to have an AWS account. If you do not have one go to this URL to learn how to create an [AWS account.]( https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/)

Choose the BoxLang MiniServer for Ubuntu AWS AMI. Go to this URL and do a search for Ortus at the top of the screen https://aws.amazon.com/marketplace/ and look for "Ortus solutions, corp"

Ortus Solutions AMIs

Click the View purchase options to subscribe button

Purchase options for Ortus Solutions AMI

Configuration options for subscription. In this section you can choose to add options to your contract, if not, You can click on "Continue configuration" button.

AMI subcription options

You can configure your Ortus Soluction software version or region, if not, just click on "Continue to Launch" button.

In "Launch" section you can choose method to launch, for this case, We're going to use EC2 method.

This will take you to the "Choose an Instance Type." The default instance and AWS free tier selected is t2.medium. Unless you need more resources keep it at this. If You desire or You do not have Key pair, You can generate new ones in "Key pair (login)" section. On the "Network settings" section under "Firewall (Security groups)". We need to make a couple of changes. First is to go to the source column and select My IP so that SSH and RDP will only be enabled for your IP address (VERY IMPORTANT). Next allow HTTP and HTTPS. You can edit VPC, Subnet and Public IP configuration. On "Configure Storage" section. If you want to persist your files, then add a volume. If you do not need to persist the files, keep the defaults.

Select your running instance. This will open some tabs at the bottom of the page. Select the "Description" tab. Look to the right on the description tab and look for "Public DNS (IPv4)." To the right of this text is the DNS name. Copy that name and paste it in a browser. It should look something like this ec2-{public_dns}.compute-1.amazonaws.com.

Paste that URL in a browser and you should see the default ColdBox site.

SSH to your instance with following command ssh -i "/path/to/your/private-key" ubuntu@ec2-{public\_dns}.compute-1.amazonaws.com and create a handler.

Elevate to root user, change your current directory to /web/coldbox-site/wwwroot and run box command to launch CommandBox CLI

Now, you can update system dependencies typing update --system. create a new handler for testing using coldbox create handler type=index name=helloFromBoxLangCloudServer command

ENJOY YOUR CLOUD SERVER!

Ortus Solution software configuration
Instance launch method
Instance launch set up
Instance view page
Instance view page
New handler in running
[01:31 PM]-[otisnado@otisnado-ortushp]-[~]-
$ ssh [email protected]
ubuntu@ip-172-31-28-63:~$
ubuntu@ip-172-31-28-63:~$ sudo su
root@ip-172-31-28-63:/home/ubuntu# cd /web/coldbox-site/wwwroot/
root@ip-172-31-28-63:/web/coldbox-site/wwwroot# box
Welcome to CommandBox! 
CommandBox:wwwroot> coldbox create handler type=index name=helloFromBoxlangMiniserverCloudServer
 INFO   Created View [/web/coldbox-site/wwwroot/views/helloFromBoxlangMiniserverCloudServer/index.cfm]

 INFO   Created Handler [/web/coldbox-site/wwwroot/handlers/helloFromBoxlangMiniserverCloudServer.cfc]

 INFO   Created Integration Spec [/web/coldbox-site/wwwroot/tests/specs/integration/helloFromBoxlangMiniserverCloudServerTest.cfc]

CommandBox:wwwroot>

Other Engines

Create an EC2 instances from an Ortus BoxLang engine (Ubuntu Server 24.04 LTS) AMI (Amazon Machine Image). We have created several based Ubuntu based images.

Images
Status

Lucee + Nginx

✅ (With security updates only)

CommandBox + Nginx

✅ (With security updates only)

Changelog

Version 2.0.1_5.4.6.9

  • Security update for Apache Tomcat Server CVE-2025-24813

Version 1.0.0_5.2.3.9

  • Initial Release

Changelog

Version 1.4.0

Added

  • Bump BoxLang version to 1.4.0

Removed

  • /web/coldbox-site/wwwroot directory was moved to /web/boxlang-site/wwwroot

Version 1.3.0

Added

  • BoxLang MiniServer now support URL Rewrites

Removed

  • Nginx Reverse Proxy for URL Rewrites

Ubuntu Based Images

Create an EC2 instances from an Ortus BoxLang engine (Ubuntu Server 24.04 LTS) AMI (Amazon Machine Image). We have created several based Ubuntu based images.

Images
Status

BoxLang MiniServer

✅

BoxLang with CommandBox

✅

Software and tools installed matrix

On every Ubuntu based Cloud Server you will find software or tools to achieve best experience with our solutions. This software include:

Due these Cloud Servers are Ubuntu 24.04 LTS based, you can follow this to know more about base software running.

Environment variables

Default site

For every Linux based BoxLang Cloud Server a Systemd daemon is used to get up and running a Web Server on well know HTTP port 80/TCP. Depending of the server flavor this can be started using BoxLang MiniServer or CommandBox. If you want to start a custom site or application, you can update this daemon service if need it, or just only place your custom site or application under /web/boxlang-site/wwwroot directory.

Server
Red Hat like
Debian like
Daemon name

If you only place your custom site under /web/boxlang-site/wwwroot remember to delete their content before in order to remove the sample ColdBox Application

Connecting via WinSCP

Connecting to your server with WinSCP or VSCode

This page will walk you through connecting to your new server using the popular free software program WinSCP. I have a script for you to download on step 11 "Managing your web site" page.

WinSCP let's get going

  • Run WinSCP

  • In the Login dialog, click on the “New Session” button

  • Then click the "Advanced..." button

  • From this dialog select the SSH Authentication browse button to the right of the input box.

  • You will be given a file explorer box. Then select your pem file that you downloaded when you created your ec2. The prompt with look like this click ok.

  • Click the ok button

  • You have connected

BoxLang with CommandBox

This AMI image will create a running BoxLang server with CFML compatibility module for you. If you do not want a ColdBox site we will show you how to remove it and have your own site. The first step is to have an AWS account. If you do not have one go to this URL to learn how to create an [AWS account.]( )

Choose the BoxLang with CommandBox for Ubuntu AWS AMI. Go to this URL and do a search for Ortus at the top of the screen and look for "Ortus solutions, corp"

Click the View purchase options to subscribe button

Configuration options for subscription. In this section you can choose to add options to your contract, if not, You can click on "Continue configuration" button.

You can configure your Ortus Soluction software version or region, if not, just click on "Continue to Launch" button.

Managing your web site

This page will show you how to mange your site using CommandBox and how to move files back and forth from your your development environment where ever that may be.

Now that you have a site running in the cloud you will want to customize it. Remember that SSH pem file you downloaded. That is going to allow you to go on the server and edit files. If you are on a windows platform like me. Here are some tools I strongly suggest that you get locally.

  1. CommandBox. This tool will allow you to make files and remove them locally. If you so decide that you want to edit and add files directly on the EC2 instance this can be done using the default instance of CommandBox on the server.

  2. VSCode the editor of choice, and the reason I say that is because it has so many useful extensions.

ColdBox Application

latest

✅

✅

Tool name

Version installed

BoxLang MiniServer

BoxLang with CommandBox

CommandBox

latest

✅

✅

BoxLang runtime

latest

✅(As OS binary)

✅(Into CommandBox)

BoxLang MiniServer (As OS binary)

latest

✅

❌

Variable

Default value

Description

BOXLANG_HOME

/root/.boxlang

Directory where BoxLang place configs and modules

COMMANDBOX_HOME

/root/.commandbox

Directory where CommandBox place configs and modules

BOXLANG_TARGET_VERSION

latest

BoxLang version installed and to be used for BoxLang

BVM_HOME

/usr/local/boxlang

BoxLang Version Manager home

BoxLang MiniServer

boxlang-miniserver --host 0.0.0.0 --port 80 --webroot /web/boxlang-site/wwwroot --rewrites index.cfm

boxlang-miniserver --host 0.0.0.0 --port 80 --webroot /web/boxlang-site/wwwroot --rewrites index.cfm

boxlang-miniserver

BoxLang with CommandBox

/bin/box server start serverConfigFile=server.json

/usr/local/bin/box server start serverConfigFile=server.json

coldbox-site

link

Connecting to your server

Connecting to your server with WinSCP or VSCode

This page will walk you through connecting to your new server using the popular free software program WinSCP. I have a script for you to download on step 11 "Managing your web site" page. We will also take a look at an exciting VSCode extension called Remote Development. It allows you to SSH directly to the EC2 instance and map the remote folder in your local VSCode IDE.

Changelog

Version 1.0.0_5.3.7.47

  • Initial Release

WinSCP the default file manager tool for Windows. https://winscp.net/eng/index.php

If you are using the Windows Package Manager Chocolatey you can download all of these from there.

Here is a script to download them in powershell. Save the script as anything.ps1. Remember where you saved it. With PowerShell, you must make sure Get-ExecutionPolicy is not Restricted. We suggest using Bypass to bypass the policy to get things installed or AllSigned for quite a bit more security.

  • Run Get-ExecutionPolicy. If it returns Restricted, then run Set-ExecutionPolicy AllSigned or Set-ExecutionPolicy Bypass -Scope Process.

Go to the right corner of the dialog box below and copy this script and save it naming it whatever you like as long as the extension ends as *.ps1

If your scripts successfully installed you should see a new desktop icon for VSCode. If you open a shell ( cmd, powershell, git bash ) and type box you should see that Commandbox is installed.

https://commandbox.ortusbooks.com/
https://code.visualstudio.com/download
#Install Chocolatey
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

#Assign Packages to Install
$Packages = 'commandbox',`
            'vscode',`
            'winscp'

#Install Packages
ForEach ($PackageName in $Packages)
{choco install $PackageName -y}
PS> .\anything.ps1 (enter)

In "Launch" section you can choose method to launch, for this case, We're going to use EC2 method.

Instance launch method

This will take you to the "Choose an Instance Type." The default instance and AWS free tier selected is t2.medium. Unless you need more resources keep it at this. If You desire or You do not have Key pair, You can generate new ones in "Key pair (login)" section. On the "Network settings" section under "Firewall (Security groups)". We need to make a couple of changes. First is to go to the source column and select My IP so that SSH and RDP will only be enabled for your IP address (VERY IMPORTANT). Next allow HTTP and HTTPS. You can edit VPC, Subnet and Public IP configuration. On "Configure Storage" section. If you want to persist your files, then add a volume. If you do not need to persist the files, keep the defaults.

Instance launch set up

Select your running instance. This will open some tabs at the bottom of the page. Select the "Description" tab. Look to the right on the description tab and look for "Public DNS (IPv4)." To the right of this text is the DNS name. Copy that name and paste it in a browser. It should look something like this ec2-{public_dns}.compute-1.amazonaws.com.

Instance view page

Paste that URL in a browser and you should see the default ColdBox site.

Instance view page

SSH to your instance with following command ssh -i "/path/to/your/private-key" ubuntu@ec2-{public\_dns}.compute-1.amazonaws.com and create a handler.

Elevate to root user, change your current directory to /web/coldbox-site/wwwroot and run box command to launch CommandBox CLI

Now, you can update system dependencies typing update --system. create a new handler for testing using coldbox create handler type=index name=helloFromBoxLangCloudServer command

New handler in running

ENJOY YOUR CLOUD SERVER!

https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/
https://aws.amazon.com/marketplace/
Ortus Solutions AMIs
Purchase options for Ortus Solutions AMI
AMI subcription options
Ortus Solution software configuration
Connect via WinSCP
SSU Authentication
Convert PEM file to a PPK file
Final Connection Step

Lucee + Nginx

This AMI image will create a running Lucee site for you. If you do not want a ColdBox site we will show you how to remove it and have your own site. The first step is to have an AWS account. If you do not have one go to this URL to learn how to create an [AWS account.]( )

  • Choose the Lucee CFML Server (Ubuntu+Nginx+Tomcat) AWS AMI. Go to this URL and do a search for Ortus at the top of the screen and look for "Ortus solutions, corp"

  • Click the View purchase options to subscribe button

[10:39 AM]-[otisnado@otisnado-ortushp]-[~]-
$ ssh [email protected]
ubuntu@ip-172-31-29-194:~$
ubuntu@ip-172-31-29-194:~$ sudo su
root@ip-172-31-29-194:/home/ubuntu# cd /web/coldbox-site/wwwroot/
root@ip-172-31-29-194:/web/coldbox-site/wwwroot# box
Welcome to CommandBox!
CommandBox:wwwroot> coldbox create handler type=index name=helloFromBoxLangCloudServer
 INFO   Created View [/web/coldbox-site/wwwroot/views/helloFromBoxLangCloudServer/index.cfm]

 INFO   Created Handler [/web/coldbox-site/wwwroot/handlers/helloFromBoxLangCloudServer.cfc]

 INFO   Created Integration Spec [/web/coldbox-site/wwwroot/tests/specs/integration/helloFromBoxLangCloudServerTest.cfc]

CommandBox:wwwroot> 
  • Click the accept terms button.

Accept terms for Ortus Solutions AMI
  • Configuration options for subscription. In this section you can choose to add options to your contract, if not, You can click on "Continue configuration" button.

AMI subcription options
  • You can configure your Ortus Soluction software version or region, if not, just click on "Continue to Launch" button.

Ortus Solution software configuration
  • In "Launch" section you can choose method to launch, for this case, We're going to use EC2 method.

Instance launch method
  • On the "Name and tags" page. Let's add a tag. Click the add Tag. They should be Key=Name and Value=Ortus Lucee CFML engine 5.2.9.31 (Ubuntu Server 18.04 LTS) Resource type=Instances.

Instance name and tags
  • This will take you to the "Choose an Instance Type." The default instance and AWS free tier selected is t3.micro. Unless you need more resources keep it at this.

Instance type
  • If You desire or You do not have Key pair, You can generate new ones in "Key pair (login)" section. SAVE IT IN A SECURE PLACE!

Key pair creation for instance
  • On the "Network settings" section under "Firewall (Security groups)". We need to make a couple of changes. First is to go to the source column and select My IP so that SSH and RDP will only be enabled for your IP address (VERY IMPORTANT). Next allow HTTP and HTTPS. You can edit VPC, Subnet and Public IP configuration.

Instance security group
  • On "Configure Storage" section. If you want to persist your files, then add a volume. If you do not need to persist the files, keep the defaults.

Instance storage
  • On "Summary" section you can review general information about your instance, cancel operation, launch instance and also, you can generate AWS CLI commands to deploy EC2 instance with desired configuration.

Instance Summay
  • You are on the "Launch Status" page. Go to the bottom right and click the button labeled "View Instances."

Instance launch status
  • Select your running instance. This will open some tabs at the bottom of the page. Select the "Description" tab. Look to the right on the description tab and look for "Public DNS (IPv4)." To the right of this text is the DNS name. Copy that name and paste it in a browser. It should look something like this ec2-{public_dns}.compute-1.amazonaws.com.

Instance view page
  • Paste that URL in a browser and you should see the default ColdBox site.

  • SSH to your instance with following command ssh -i "/path/to/your/private-key" ubuntu@ec2-{public\_dns}.compute-1.amazonaws.com

  • When you SSH to the instance the web root is /web/coldbox-site/wwwroot RUN cd COMMAND WITH SUDO OR su TO ROOT USER

Enjoy your servers!

https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/
https://aws.amazon.com/marketplace/
Ortus Solutions AMIs
Purchase options for Ortus Solutions AMI

Connecting via VSCode

VSCode is one of the hottest new editors on the market. We will show you how to connect via VSCode using the VSCode Remote Development Extension.

You can install the VSCode Remote Development Extension by visiting the URL or opening VSCode and clicking the extension load button in the IDE and searching for "Remote Development."

Remote Development Extension

Steps to connect to ec2.

  • Click in the green box in the bottom left corner of VSCode. This will open a select box already populated with different Remote Development choices. You want to select Remote-SSH: Open SSH Configuration File...

  • If you have not created a configuration file you will have this option. Remote-SSH: Add New SSH Host... Select that instead.

  • Your configuration file should look something like this after you fill it out.

  • Having done that it is time to connect to your ec2 instance. Let's click the green button in the lower left corner. The same one we used to open the configuration file. Let's select "Remote-SSH: Connect Current Window to Host..."

  • If all works you should have a VSCode screen that looks like the one below. If it does not work you can do what I did, that is to downgrade to VSCode 1.36.1. You can do that with Chocolatey.

How to customize sites

By default you are given 2 web sites. This page will show you how to display and edit those sites.

Default Sites

The sites you are given are http://website1.com and http://website2.com. You can display these in your Windows Host file at C:\Windows\System32\drivers\etc\hosts. To see the site you add the entries like this below.

Open a browser with those URLS and you will see your site with the default ColdBox frameworks. In order to set different site names you will want to edit website1.conf and website2.conf files open a shell and navigate to:

replace all website2.com entries except the directory.
  • Restart Nginx and restart the server. Open your new site.

3.229.122.138		website1.com
3.229.122.138		website2.com
/etc/nginx/sites-enabled# ls
website1.conf  website2.conf
cat website2.conf
###############################################################
# Example
###############################################################
server {
        ################### SERVER NAME AND PORT #####################
        listen 80;
    server_name website2.com;

        ################### LOGS #####################
        access_log /var/log/nginx/website2-access.log;
        error_log /var/log/nginx/website2-error.log warn;
        rewrite_log off;

        ################### LOCATION #####################
        root /var/www/website2;

        ################### CFML #####################
        # Mod_cfml (Lucee) specific: add a unique ID for this server block.
        # For more info, see http://www.modcfml.org/index.cfm/install/web-server-components/nginx-all-os/
        set $lucee_context "website2.com";

        set $application_port "8002";
        include lucee.conf;
}
Host ColdBoxDemo
    User ubuntu
    HostName 34.236.192.135
    IdentityFile ~/.ssh/my-pem-that-i-downloaded-when-creating-ec2.pem
Remote-SSH: Open SSH Configuration File...
Remote-SSH: Connect Current Window to Host...
Notice you are on the ec2 server. You can run CommandBox Commands from here.
choco install vscode --version=1.36.1 -y

CommandBox + Nginx

This AMI will allow you to configure as many Lucee sites as you desire using CommandBox and Nginx as a front end LB.

This AMI image will create a running CommandBox Lucee site for you. If you do not want a ColdBox site we will show you how to remove it and have your own site. The first step is to have an AWS account. If you do not have one go to this URL to learn how to create an [AWS account.]( https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/)

  • Choose the AWS AMI. Go to this URL and do a search for Ortus at the top of the screen https://aws.amazon.com/marketplace/

  • Click the continue to subscribe button

  • Click the accept terms button

  • Next go to this page and click launch new instance

  • This will take you to the "Choose an Instance Type." The default instance and AWS free tier selected is t3.micro. Unless you need more resources keep it at this. Go to the bottom of the screen and select Next:Configure Instance Details.

  • You are on the "Configure Instance Details" page and keep the defaults. Go to bottom of the page and click "Next: Add Storage" button.

  • You are now on the "Add Storage" page. Keep the defaults and click the button at the bottom right "Next: Add Tags."

  • You are now on the "Add Tags" page. Let's add a tag. Click the add Tag. They should be Key=Name and Value=Ortus Commandbox CFML engine - multisite (Ubuntu Server 18.04 LTS). Next go to the bottom of the page and click the button that says "Next: Configure Security Group."

  • You are on the "Configure Security Group" page. We need to make a couple of changes before leaving this page. First is to go to the source column and select MyIP so that ssh will only be enabled for your IP address (VERY IMPORTANT).

  • Next click the "Add Rule" button and under the type column select http and leave port 80 selected. Go to the bottom right of the page and select and click the "Review and Launch" button.

  • You are on the "Review Launch Instance" page. Review it and once you are okay click the "Launch" bottom on the bottom right of page.

  • This opens a module window that is prompting you to suggesting an existing key pair or create a new open. If you do not know what this means I suggest you create a new key pair and put it in a folder that you have access to. If all went well you will see a green colored headline that says "Your instances are now launching."

  • You are on the "Launch Status" page. Go to the bottom right and click the button labeled "View Instances."

  • Select your running instance. This will open some tabs at the bottom of the page. Select the "Description" tab. Look to the right on the description tab and look for "Public DNS (IPv4)." To the right of this text is the dns name. Copy that name and paste it in a browser. It should look something like this

  • ec2-{public_dns}.compute-1.amazonaws.com

  • Paste that URL in a browser and you should see the default ColdBox site.

Enjoy your server!

Managing your web site

This page will show you how to mange your site using CommandBox and how to move files back and forth from your your development environment where ever that may be.

Now that you have a site running in the cloud you will want to customize it. Remember that SSH pem file you downloaded. That is going to allow you to go on the server and edit files. If you are on a windows, Mac or Linux platform, here are some tools I strongly suggest that you get locally. The instructions below are for Windows but all of these tools are available for all 3 platforms.

  1. CommandBox. This tool will allow you to make files and remove them locally. If you so decide that you want to edit and add files directly on the EC2 instance this can be done using the default instance of CommandBox on the server. https://commandbox.ortusbooks.com/

  2. VSCode the editor of choice, and the reason I say that is because it has so many useful extensions. https://code.visualstudio.com/download

  3. WinSCP the default file manager tool for Windows.

If you are using the Windows Package Manager you can download all of these from there.

Here is a script to download them in Powershell. Save the script as anything.ps1. Remember where you saved it. With PowerShell, you must make sure is not Restricted. We suggest using Bypass to bypass the policy to get things installed or AllSigned for quite a bit more security.

  • Run Get-ExecutionPolicy. If it returns Restricted, then run Set-ExecutionPolicy AllSigned or Set-ExecutionPolicy Bypass -Scope Process.

Go to the right corner of the dialog box below and copy this script and save it naming it whatever you like as long as the extension ends as *.ps1

If your scripts successfully installed you should see a new desktop icon for VSCode. If you open a shell ( CMD, Powershell, git bash ) and type box you should see that CommandBox is installed.

https://winscp.net/eng/index.php
Chocolatey
Get-ExecutionPolicy
#Install Chocolatey
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

#Assign Packages to Install
$Packages = 'commandbox',`
            'vscode',`
            'winscp'

#Install Packages
ForEach ($PackageName in $Packages)
{choco install $PackageName -y}
PS> .\anything.ps1 (enter)

ssh -i "/local-path-to/myfile.pem" ubuntu@ec2-{public_dns}.compute-1.amazonaws.com

  • When you CD to the instance the 2 web roots are at sudo su cd /var/www/website1 /var/www/website2

  • https://console.aws.amazon.com/marketplace/home?#/subscriptions
    Choose an Instance Type
    Configure Instance Details
    Add Storage
    Add Tags
    Configure Security Group
    Review Launch Instance
    Select Key Pair
    Launch Status
    Running Instance