マニュアル キャンセル

Ansible を使用した ColdFusion 2023 のインストール自動化

  1. ColdFusion のインストールと設定ユーザーガイド
  2. ColdFusion のインストール
    1. ColdFusion サーバープロファイル
    2. ColdFusion のインストール
      1. ColdFusion のインストール - Zip インストーラー
      2. ColdFusion のインストール - GUI インストーラー
      3. ColdFusion サーバーロックダウンガイドのインストール
    3. システムの設定
    4. ColdFusion のライセンスとアクティベーション
      1. ColdFusion でのユーザー指定ライセンスと機能制限ライセンスについて
      2. ColdFusion のライセンスとアクティベーションに関する用語集
      3. ColdFusion のユーザー指定ライセンス(NUL)
      4. ColdFusion の機能制限ライセンス(FRL) - 分離
      5. ColdFusion の機能制限ライセンス(FRL) - オンライン
      6. ColdFusion の機能制限ライセンス(FRL) - オフライン
      7. ColdFusion ライセンスエラーのトラブルシューティング
      8. ColdFusion(2023 リリース)以前のバージョンの ColdFusion ライセンスとアクティベーション
    5. ColdFusion 設定のインストール
      1. サーバー設定のインストール
      2. JEE 設定のインストール
      3. Docker での ColdFusion の実行
    6. Ansible への ColdFusion のインストール
      1. Ansible を使用した ColdFusion 2025 のインストール自動化
      2. Ansible を使用した ColdFusion 2023 のインストール自動化
    7. 統合テクノロジのインストール
  3. ColdFusion を設定するには
    1. ColdFusion の 2023 および 2021 アップデートの JVM 引数
    2. ColdFusion(2025 リリース)の JVM 引数
    3. CFSetup 設定ツール
    4. コマンドラインインターフェイス(CLI)
    5. ColdFusion の中央管理型サーバー(CCS)
    6. ColdFusion の管理
    7. ColdFusion Administrator を使用する
    8. ColdFusion のデータソース管理
    9. Webサーバーに接続
    10. ColdFusion アプリケーションのデプロイ
    11. ColdFusion セキュリティの管理
    12. 複数のサーバーインスタンスを使用
    13. ColdFusion Administrator API リファレンス

概要

Adobe ColdFusion(2023 リリース)のデプロイメントと設定を自動化することで、IT 運用を大幅に効率化し、人的ミスを減らし、環境間で一貫性のあるデプロイメントを実現できます。自動化には他のツールも利用可能ですが、この記事では Ansible の使用に焦点を当てています。ただし、同じワークフローは他の自動化ツールでも適用できます。このプレイブックでは、Ubuntu に Ansible をセットアップし、それを使用して ColdFusion(2023 リリース)のインストールを完全に自動化するためのステップバイステップの手順を提供します。

このプレイブックは、Apache を web サーバーとして使用して Ubuntu 上に ColdFusion(2023 リリース)をデプロイする必要があるシステム管理者、DevOps エンジニア、ColdFusion 開発者向けに設計されています。

前提条件

開始する前に、次のものがあることを確認してください。

  • Ubuntu 22 LTS 以降(ターゲットサーバー)
  • ターゲットサーバーでの root アクセス権または sudo アクセス権
  • コントロールノードとターゲットサーバーの間のネットワーク接続
  • Adobe ColdFusion 2023 インストールファイルと有効なライセンス

ColdFusion 2023 サポートマトリックスで詳細をご確認ください。

必要なファイル

続行する前に、以下のファイルを集めます。

  • ColdFusion 2023 インストーラー ZIP ファイル - 自動化に最適な軽量インストーラー。詳しくは、ZIP インストーラーを使用した ColdFusion のインストールを参照してください。
  • サイレントインストールプロパティファイル(silent.properties) - ColdFusion サイレントインストールプロパティファイル。詳しくは、ColdFusion のサイレントインストーラープロパティを参照してください。
  • ホットフィックスプロパティファイル(hotfix.properties) - ColdFusion アップデートインストールプロパティファイル。
  • ColdFusion 設定エクスポートファイル(settings.json) - CFsetup を使用して JSON ファイルで ColdFusion 設定をインポートするため。

Ubuntu に Ansible をインストール

システムパッケージの更新

sudo apt update  
sudo apt upgrade -y

Ansible をインストール

オプション 1:Ubuntu リポジトリからインストール

sudo apt install ansible -y

オプション 2: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

オプション 3:pip を使用したインストール

sudo apt install python3-pip -y 
pip3 install ansible

Ansible のインストールの確認

ansible --version

環境の準備

プロジェクトのディレクトリ構造の作成

mkdir -p ~/coldfusion-ansible/{files,inventory,playbooks} 
cd ~/coldfusion-ansible

インベントリファイルを作成

ターゲットサーバーを定義するインベントリファイルの作成:

nano inventory/hosts

サーバーの詳細の追加:

[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

必要なファイルをコピー

cp /path/to/ColdFusion_2023_WWEJ_linux64.zip ファイル
cp /path/to/silent.properties ファイル
cp /path/to/hotfix.properties ファイル
cp /path/to/settings.json ファイル

Ansible プレイブックについて

このプレイブックは、ColdFusion(2023 リリース)のセットアッププロセス全体を次の 8 つの主要フェーズを通じて自動化します。

  • ファイルの準備:インストールファイルをターゲットサーバーにコピーします。
  • 環境のセットアップ:必要なパッケージと依存関係をインストールします。
  • ファイアウォールの設定(オプション):必要なポートを開きます。
  • ColdFusion のインストール:ColdFusion のサイレント インストールを実行します。
  • ホットフィックスのインストール:最新のアップデートをダウンロードして適用します。
  • パッケージ管理:ColdFusion パッケージをインストールします。
  • 移行:すべての ColdFusion 設定を移行します。
  • コネクタの設定:Apache コネクタをセットアップします。

プレイブックのタスク

メインプレイブックの作成

プレイブック YAML ファイルを作成します。

nano playbooks/install-coldfusion.yml

プレイブックの完全な構造は次のとおりです。

- 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  

設定ファイルの作成

サイレントインストールのプロパティ(silent.properties):

# 旧バージョンの ColdFusion のシリアル番号。 アップグレードする際に使用 

# ColdFusion Administrator のパスワード 

COLDFUSION_ADMIN_PASSWORD=Admin@123 

# 内部 web サーバーポート 

COLDFUSION_ADMIN_PORT=8500 

# ColdFusion ランタイムユーザー。Linux および Ubuntu に適用 

COLDFUSION_RUNTIME_USER= 

# インストールタイプ - 1-シリアル番号付きの Adobe ColdFusion 2021 の新しいバージョンのインストール、2-30 日間の体験版、3-デベロッパー版 

INSTALL_TYPE=1 

# EULA への同意 - true。続行するには、EULA に同意する必要があります 

EULA_ACCEPTED=true 

# 新しいバージョンの ColdFusion のシリアル番号 

SERIAL_NUMBER= 

# Administrator にアクセスできる IP アドレス 

IP_ADDRESSES= 

# デプロイメントタイプを指定 - Production(本番)、Development(開発)、Staging(ステージング)、Testing(テスト)、Disaster recovery(障害回復) 

DEPLOYMENT_TYPE=Development 

# サーバープロファイル - 1-本番 + セキュア、2-本番、3-開発。 

SERVER_PROFILE=3 

# RDS パスワードを指定 

COLDFUSION_RDS_PASSWORD=Admin@123 

# ColdFusion サービスの名前 

COLDFUSION_WIN_SERVICE_NAME=cf2023zipservice 

# ColdFusion のインストール場所 

COLDFUSION_INSTALL_LOCATION=/opt/ColdFusion/ 

ホットフィックスプロパティ(hotfix.properties):

INSTALLER_UI=silent 
USER_INSTALL_DIR=/opt/ColdFusion 
DOC_ROOT=/opt/ColdFusion/cfusion/wwwroot/ 
# 以下はマルチサーバーシナリオにのみ適用。 
INSTANCE_LIST=ALL

プレイブックの実行

構文チェック

プレイブックを実行する前に構文エラーをチェックします。

ansible-playbook -i inventory/hosts playbooks/install-coldfusion.yml --syntax-check

ドライラン

どのような変更が行われるかを確認するためにドライランを実行します。

ansible-playbook -i inventory/hosts playbooks/install-coldfusion.yml --check

プレイブックの実行

プレイブックを実行します。

ansible-playbook -i inventory/hosts playbooks/install-coldfusion.yml -v

より詳細な出力を得るには、-vv または -vvv を使用します。

プレイブックの進行状況の監視

プレイブックは各タスクの進行状況を表示します。サーバーの仕様やネットワークの速度にもよりますが、インストールには通常 15~30 分かかります。

インストール後の確認

ColdFusion サービスの確認

ColdFusion が正常に動作しているか確認します。

ps aux | grep coldfusion 
netstat -tlnp | grep 8500 

ColdFusion Administrator のテスト

ColdFusion Administrator にアクセスします。

http://your-server-ip:8500/CFIDE/administrator/index.cfm

CFM ファイル を作成し、実行します。 

Adobe, Inc.

ヘルプをすばやく簡単に入手

新規ユーザーの場合