- Install and configure ColdFusion User Guide
- Install ColdFusion
- ColdFusion server profiles
- Install ColdFusion
- Configure your system
- ColdFusion licensing and activation
- About Named User Licensing and Feature Restricted Licensing in ColdFusion
- Glossary of terms in ColdFusion licensing and activation
- Named User License (NUL) in ColdFusion
- Feature Restricted Licensing (FRL)- Isolated in ColdFusion
- Feature Restricted Licensing (FRL)- Online in ColdFusion
- Feature Restricted Licensing (FRL)- Offline in ColdFusion
- Troubleshoot ColdFusion licensing errors
- ColdFusion Licensing and Activation in ColdFusion (2023 release) and earlier
- Install ColdFusion configuration
- Install ColdFusion on Ansible
- Install integrated technologies
- Configure ColdFusion
- JVM arguments in 2023 and 2021 updates of ColdFusion
- JVM arguments in ColdFusion (2025 release)
- CFSetup configuration tool
- Command Line Interface (CLI)
- Central Config Server (CCS) in ColdFusion
- Administer ColdFusion
- Use the ColdFusion administrator
- Data Source Management for ColdFusion
- Connect to web servers
- Deploy ColdFusion applications
- Administer ColdFusion security
- Use multiple server instances
- ColdFusion Administrator API Reference
Introduction
Automating the deployment and configuration of Adobe ColdFusion (2023 release) can significantly streamline IT operations, reduce human error, and ensure consistent deployments across environments. While there are other tools available for automation, this article focuses on using Ansible; however, the same workflow can be adapted for use with other automation tools as well. This playbook provides step-by-step instructions for setting up Ansible on Ubuntu and using it to fully automate the installation of ColdFusion (2023 release).
This playbook is designed for system administrators, DevOps engineers, and ColdFusion developers who need to deploy ColdFusion (2023 release) on Ubuntu with Apache as the web server.
Prerequisites
Before starting, ensure you have:
- Ubuntu 22 LTS or later (target server)
- Root or sudo access on the target server
- Network connectivity between the control node and the target server
- Adobe ColdFusion 2023 installation files and a valid license
See ColdFusion 2023 support matrix for more information.
Required files
Gather these files before proceeding:
- ColdFusion 2023 installer ZIP file – a lightweight installer ideal for automation. See Install ColdFusion using Zip installer for more information.
- Silent installation properties file (silent.properties) - ColdFusion Silent Installation properties file. See Silent installer properties in ColdFusion for more information.
- Hotfix properties file (hotfix.properties) – ColdFusion Update Installation properties file.
- ColdFusion settings export file (settings.json) – To import the ColdFusion settings using JSON file using CFsetup.
Install Ansible on Ubuntu
Update system packages
sudo apt update sudo apt upgrade –y
Install Ansible
Option 1: Install from the Ubuntu repository
sudo apt install ansible –y
Option 2: Install from Ansible PPA
sudo apt update sudo apt install software-properties-common -y sudo add-apt-repository --yes --update ppa:ansible/ansible sudo apt install ansible –y
Option 3: Install using pip
sudo apt install python3-pip -y pip3 install ansible
Verify Ansible installation
ansible --version
Prepare the environment
Create project directory structure
mkdir -p ~/coldfusion-ansible/{files,inventory,playbooks} cd ~/coldfusion-ansible
Create an inventory file
Create an inventory file to define your target servers:
nano inventory/hosts
Add server details:
[coldfusion_servers] cf-server ansible_host=192.168.1.100 ansible_user=ubuntu ansible_ssh_private_key_file=~/.ssh/id_rsa [coldfusion_servers:vars] ansible_python_interpreter=/usr/bin/python3
Copy the required files
cp /path/to/ColdFusion_2023_WWEJ_linux64.zip file cp /path/to/silent.properties file cp /path/to/hotfix.properties file cp /path/to/settings.json file
Understand the Ansible playbook
The playbook automates the entire ColdFusion (2023 release) setup process through eight main phases:
- File preparation: Copy installation files to the target server.
- Environment setup: Install required packages and dependencies.
- Firewall configuration (optional): Open necessary ports.
- ColdFusion installation: Silent installation of ColdFusion.
- Hotfix installation: Download and apply the latest updates.
- Package management: Install ColdFusion packages.
- Migration: Migrate all the ColdFusion settings.
- Connector configuration: Set up the Apache connector.
Playbook tasks
Create the main playbook
Create the playbook YAML file.
nano playbooks/install-coldfusion.yml
Here’s the complete playbook structure:
- name: ColdFusion 2023 Installation,Hotfix Installation, Migration and Connector Configuration hosts: coldfusion_servers become: yes tasks: - name: Copy required files to /opt copy: src: "{{ item }}" dest: /opt loop: - ColdFusion_2023_WWEJ_linux64.zip - silent.properties - hotfix.properties - settings.json - name: Install unzip package: name: unzip state: present - name: Ensure firewalld and firewall Python library are up to date package: name: - firewalld - python3-firewall state: latest - name: Install Apache2 apt: name: apache2 state: present update_cache: yes - name: Ensure Apache2 is running and enabled on boot systemd: name: apache2 state: started enabled: yes - name: Open Apache port 80 in firewall firewalld: port: 80/tcp permanent: yes state: enabled immediate: yes - name: Unzip ColdFusion installer ansible.builtin.unarchive: src: /opt/ColdFusion_2023_WWEJ_linux64.zip dest: /opt remote_src: yes - name: Unzip ColdFusion WWEJ installer again ansible.builtin.unarchive: src: /opt/ColdFusion_WWEJ_linux64.zip dest: /opt remote_src: yes - name: Set recursive permissions for /opt/ColdFusion and Configuration files file: path: "{{ item.path }}" mode: "{{ item.mode }}" recurse: "{{ item.recurse | default(omit) }}" loop: - { path: "/opt/ColdFusion", mode: "0755", recurse: yes } - { path: "/opt/silent.properties", mode: "0644" } - { path: "/opt/hotfix.properties", mode: "0644" } - { path: "/opt/settings.json", mode: "0644" } - name: Install ColdFusion silently command: /opt/ColdFusion/cfusion/bin/cfinstall.sh -f /opt/silent.properties -i silent - name: Restart ColdFusion server command: /opt/ColdFusion/cfusion/bin/coldfusion restart - name: Open port 8500 in firewall firewalld: port: 8500/tcp permanent: yes state: enabled - name: Download hotfix package get_url: url: https://cfdownload.adobe.com/pub/adobe/coldfusion/2023/packages/hotfix-packages-cf2023-015-330825.zip dest: /opt/hotfix-packages-cf2023-015-330825.zip - name: Create bundles directory file: path: /opt/bundles state: directory - name: Extract hotfix package ansible.builtin.unarchive: src: /opt/hotfix-packages-cf2023-015-330825.zip dest: /opt/bundles remote_src: yes - name: Stop ColdFusion server command: /opt/ColdFusion/cfusion/bin/coldfusion stop - name: Copy files to ColdFusion bundles directory copy: src: /opt/bundles/ dest: /opt/ColdFusion/bundles/ remote_src: yes - name: Apply hotfix command: /opt/ColdFusion/jre/bin/java -jar -Djdk.util.zip.disableZip64ExtraFieldValidation=true /opt/ColdFusion/bundles/updateinstallers/hotfix-002-331451.jar -i silent -f /opt/hotfix.properties ignore_errors: yes become: yes # Ensures the command runs as sudo - name: Install all ColdFusion packages shell: echo "Y" | ./cfpm.sh update all args: chdir: /opt/ColdFusion/cfusion/bin/ become: yes - name: Import ColdFusion settings command: /opt/ColdFusion/config/cfsetup/cfsetup.sh import NOSQL /opt/settings.json /opt/ColdFusion/cfusion/ -p=admin@123 args: chdir: /opt/ColdFusion/config/cfsetup - name: Configure ColdFusion Apache connector command: ./wsconfig -ws Apache -dir /etc/apache2/ -bin /usr/sbin/apache2ctl -script /usr/sbin/apache2ctl -v #The path changes as per the Apache installation. args: chdir: /opt/ColdFusion/cfusion/runtime/bin become: yes # Ensures the command runs as sudo - name: Restart ColdFusion server command: /opt/ColdFusion/cfusion/bin/coldfusion restart
Create configuration files
Silent installation properties (silent.properties):
# The serial number of the previous version of ColdFusion. Use it when it is for an upgrade # ColdFusion Administrator password COLDFUSION_ADMIN_PASSWORD=Admin@123 # Internal webserver port COLDFUSION_ADMIN_PORT=8500 # ColdFusion runtime user. Applicable for Linux and Ubuntu COLDFUSION_RUNTIME_USER=root # Install type - 1-Install new version of Adobe ColdFusion 2021 with a serial number , 2-30-day trial, 3-Developer Edition INSTALL_TYPE=2 # Accept EULA- true. To proceed, you must accept the EULA EULA_ACCEPTED=true # Serial number of the new version of ColdFusion SERIAL_NUMBER= # IP address from which Administrator can be accessed IP_ADDRESSES= # Specify the deployment type- Production, Development, Staging, Testing, Disaster recovery DEPLOYMENT_TYPE=Development # Server profile - 1-Production+Secure, 2-Production, 3-Development. SERVER_PROFILE=3 # Specify the RDS password COLDFUSION_RDS_PASSWORD=Admin@123 # Name of the ColdFusion service COLDFUSION_WIN_SERVICE_NAME=cf2023zipservice # ColdFusion install location COLDFUSION_INSTALL_LOCATION=/opt/ColdFusion/
Hotfix properties (hotfix.properties):
INSTALLER_UI=silent USER_INSTALL_DIR=/opt/ColdFusion DOC_ROOT=/opt/ColdFusion/cfusion/wwwroot/ # The following applies only to multi-server scenarios. INSTANCE_LIST=ALL
Run the playbook
Check syntax
Check for syntax errors before running the playbook.
ansible-playbook -i inventory/hosts playbooks/install-coldfusion.yml --syntax-check
Dry run
Perform a dry run to see what changes will be made.
ansible-playbook -i inventory/hosts playbooks/install-coldfusion.yml --check
Execute playbook
Run the playbook.
ansible-playbook -i inventory/hosts playbooks/install-coldfusion.yml -v
For more verbose output, use -vv or -vvv.
Monitor playbook progress
The playbook will show progress for each task. Installation typically takes 15-30 minutes, depending on your server specifications and network speed.
Post-installation verification
Verify ColdFusion services
Check if ColdFusion is running as expected.
ps aux | grep coldfusion netstat -tlnp | grep 8500
Test ColdFusion Administrator
Access the ColdFusion Administrator.
http://your-server-ip:8500/CFIDE/administrator/index.cfm
Create a CFM file and run it.