ColdFusion 2018 Webサーバーコネクタの Apache Virtualhostの設定について

ColdFusion 2018 から、Webサーバー設定ツール(wsconfig)を使用して Apache の Virtualhost 単位でのコネクタの登録ができるようになりました。

これにより、例えば特定の Virtualhost のみ ColdFusion と接続を行ったり、ColdFusion 2018 Enterprise の マルチ・インスタンスを作成して、インスタンス単位で Apache の Vitualhost を割り当てることが、ツールから行えるようになりました。

それ以前のバージョンは、手動で設定ファイルの変更や設定の追加が必要でした。
https://helpx.adobe.com/jp/coldfusion/configuring-administering/using-multiple-server-instances.html

ここでは参考手順として、ColdFusion 2018 Enterprise版の Webサーバー設定ツール(wsconfig)を使い、2つのColdFusionインスタンス(cfusion, cf2)をそれぞれ Apache 2.4 の Virtualhost に指定する設定方法ご紹介します。

(注意)
初期のColdFusion 2018のWebサーバー設定ツールには、マルチ・インスタンスに対応できていない制限がありましたので、下記の設定を試す場合は Update 4 以降(最新 Update を推奨)で試してください

  1. Apache の httpd.conf に Virtualhost を設定する

    • 設定例
      <VirtualHost *:80>
        DocumentRoot /var/www/vhost1
        ServerName vhost1.samuraiz.co.jp
        <Directory "/var/www/vhost1">
          Require all granted
        </Directory>
      </VirtualHost>

      <VirtualHost *:80>
        DocumentRoot /var/www/vhost2
        ServerName vhost2.samuraiz.co.jp
        <Directory "/var/www/vhost2">
          Require all granted
        </Directory>
      </VirtualHost>

  2. ColdFusion 2018 Enterprise 版の ColdFusion Administrator [エンタープライズマネージャ] > 「インスタンスマネージャ」で 新しい ColdFusionインスタンスを作成します

    • デフォルトのColdFusionインスタンス(cfusion): [cf_root]/cfusion
      新しいColdFusionインスタンス(cf2):[cf_root]/cf2

  3. Webサーバー設定ツール(wsconfig)を使い、デフォルトのColdFusionインスタンス(cfusion)と、Virtualhostの一つ(vhost1.samuraiz.co.jp)とでコネクタを設定します。
    [cf_root]/cfusion/runtime/bin/ フォルダ内に wsconfig があります

    • GUIモードでコネクタを登録する場合:

      1. ./wsconfig で「Webサーバー設定ツール」を起動して [追加...] ボタンを押します

      2. 「Webサーバー設定の追加」ダイヤログが表示されます。「Webサーバーのプロパティ」の『設定ディレクトリ』で Apache の httpd.conf が置かれているフォルダを指定すると、ファイル内容を読み込み『Apache仮想ホスト』が選択できるようになります

      3. 『Apache仮想ホスト』で 「vhost1.samuraiz.co.jp」を選択し、他の設定を必要に応じて設定したら[OK]ボタンを押します。コネクタが登録され、最初の画面に登録情報が追加されます

         

    • コマンドモードでコネクタを登録する場合:

      1. ./wsconfig に続いて、設定に必要なパラメーターを指定します。新たに追加された Apacheの Virtualhost は『-vhost 仮想ホスト名』と指定します

        • /wsconfig -ws Apache -dir /etc/httpd/conf -bin /usr/sbin/httpd -script /usr/sbin/apachectl -vhost vhost1.samuraiz.co.jp

      2. コマンドを実行します。成功すると、下記のようなメッセージが表示されます

        • Server version: Apache/2.4.XX (Red Hat Enterprise Linux)
          Apache サーバーを再起動しました
          The Apache connector was installed to /etc/httpd/conf

          • コマンドの最後に -v を指定すると、コネクタ設定処理に関する情報がコンソールに表示されます。コネクタの登録が上手くいかず、何度か試しているような場合に有効です

      3. 登録されたコネクタ情報を確認したい場合は、下記のように -list を指定します。

        • ./wsconfig -list
          Apache : /etc/httpd/conf (vhost1.samuraiz.co.jp)

  4. 再びWebサーバー設定ツール(wsconfig)を使い、新しいColdFusionインスタンス(cf2)と、別のVirtualhost(vhost2.samuraiz.co.jp)とをコネクタで設定します。(同じCFバージョンの設定なので、Webサーバー設定ツールはデフォルトインスタンス(cfusion)のものを使用できます)

    • GUIモードでコネクタを登録する場合:

      1. 再び./wsconfig で「Webサーバー設定ツール」を起動して [追加...] ボタンを押します

      2. 「Webサーバー設定の追加」ダイヤログでは。『AppServer インスタンス』で新しいColdFusionインスタンスである「cf2」を忘れずに選択します。また『Apache仮想ホスト』は設定可能な候補が表示されますので「vhost2.samuraiz.co.jp」を選択します

      3. [OK]ボタンを押します。コネクタが登録され、登録情報が追加されます

         

    • コマンドモードでコネクタを登録する場合:

      1. ./wsconfig で先ほどと同様に必要なパラメーターを指定します。新しいColdFusionインスタンスに対してコネクタを追加するために『-instance インスタンス名』を指定します

        • ./wsconfig -ws Apache -instance cf2 -dir /etc/httpd/conf -bin /usr/sbin/httpd -script /usr/sbin/apachectl -vhost vhost2.samuraiz.co.jp

      2. コマンドを実行します。エラーが表示されないことを確認します

      3. 登録されたコネクタ情報を確認します

        • ./wsconfig -list
          Apache : /etc/httpd/conf (vhost1.samuraiz.co.jp)
          Apache : /etc/httpd/conf (vhost2.samuraiz.co.jp)

  5. それぞれの Virtualhost に配置したページをリクエストして動作を確認してください


【(参考)設定の確認】

上記の作業によって、2つの ColdFusion 2018 インスタンスに対して Apacheとの接続ツールが設定されました。それぞれの設定内容は、[cf_root]/config/wsconfig 内に作成されているファイルから確認が行えます 。

ls /opt/coldfusion2018/config/wsconfig/
1  2  backup  shm  wsconfig.log  wsconfig.properties

「1」フォルダが 上記3. 、「2」フォルダが 上記4. のコネクタ設定となります。それぞれのフォルダ内に「mod_jk_vhost.conf」というファイルが配置され、そこに、各Virtualhostに対する設定(「cf_scripts」に対するエイリアスや拡張子登録など)が記載されています。さらに、拡張子に対して紐づけるColdFusionインスタンスが「uriworkermap.properties」ファイルに記載されています。

また、Apacheのhttpd.confファイルのVirtualHostの設定にも上記「1」「2」に関連するコネクタ情報が追加されています

[httpd.confファイルのVirutalHostの設定]
<VirtualHost *:80>
  DocumentRoot /var/www/vhost1
  ServerName vhost1.samuraiz.co.jp
  <Directory "/var/www/vhost1">
    Require all granted
  </Directory>

Include "/opt/coldfusion2018/config/wsconfig/1/mod_jk_vhost.conf"
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot /var/www/vhost2
  ServerName vhost2.samuraiz.co.jp
  <Directory "/var/www/vhost2">
    Require all granted
  </Directory>

Include "/opt/coldfusion2018/config/wsconfig/2/mod_jk_vhost.conf"
</VirtualHost>

Include "/etc/httpd/conf/mod_jk.conf"

さらにApache の httpd.conf が置かれているフォルダ内に、コネクタファイル(mod_jk.so, mod_jk.conf)と、登録したVirtualhostとCFインスタンスとの紐づけを行う設定ファイル(workers.properties)が配置されています。

[workers.properties ファイルの内容]
heartbeat_interval=30
heartbeat_limit=90

#Start of workers.properties associated with 'cfusion'
worker.list=cfusion

worker.cfusion.type=ajp13
worker.cfusion.host=localhost
worker.cfusion.port=8018
worker.cfusion.connection_pool_timeout=60
worker.cfusion.monitoringsecret=c0c16541-7f72-468b-a9a4-1fac7e9ca772
#End of workers.properties associated with 'cfusion'

#Start of workers.properties associated with 'cf2'
worker.list=cf2

worker.cf2.type=ajp13
worker.cf2.host=localhost
worker.cf2.port=8012
worker.cf2.connection_pool_timeout=60
worker.cf2.monitoringsecret=05985ad4-55b9-4ec8-ab30-2f2b0f897a0f
#End of workers.properties associated with 'cf2'

 


 


記事公開日:2019年11月20日
最終更新日:2019年11月25日


x

Sample Modal Window

This is just a sample…

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.

Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.