投稿者

Training Sales Engineer at InterSystems Japan
記事 Mihoko Iijima · 1月 25, 2024 7m read

プライベートWebサーバ(PWS)を使用しないバージョンのコンテナ版IRIS利用時のWebサーバ設定例

この記事は、「プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要」の続きの記事で、コンテナ版IRISを利用する場合のWebサーバ設定例をご紹介します。(先に「概要」の記事をお読みいただくことをお勧めします。)

バージョン2023.2以降のコンテナ版IRISを利用する場合、以下いずれかの方法で管理ポータルを含めたWebアクセスを行うための設定が必要です。

  • 任意の場所にWebサーバを用意する
  • Webゲートウェイ用コンテナを利用する

この記事では、【Webゲートウェイ用コンテナを利用する】方法についてご紹介します。

【任意の場所にWebサーバを用意する】場合に必要となる情報については、下記ドキュメントをご参照ください。


Webゲートウェイコンテナを利用したWebアクセス例

説明に使用するサンプルコードはこちら👉https://github.com/Intersystems-jp/NoPWS/tree/master/Container

 

事前準備

InterSystemsコンテナレジストリから、必要なイメージをPull、またはイメージ名:タグを確認します。

  • コンテナ版Webゲートウェイ用イメージ
  • コンテナ版IRISまたはIRIS for Health用イメージ

コンテナレジストリの使い方については、「InterSystemsコンテナレジストリの使い方とコンテナ開始までの流れ(解説ビデオ付き)」(ビデオ ~2:44まで)をご参照ください。

※ コンテナ版Webゲートウェイ用イメージをpullする際、コンテナレジストリへのログインは不要です。

また、使用するIRISまたはIRIS for Healthのライセンスキーを準備します。

この例の中では、ライセンスキーを iris ディレクトリに iris.key の名称で配置してください。

使用するコンテナのイメージは以下の通りです(実際に使用する場合は、利用されるバージョンのイメージ:タグ名に置き換えてご利用ください)。

  • webgateway2026.1のイメージ containers.intersystems.com/intersystems/webgateway:2026.1
  • IRIS 2026.1のイメージ containers.intersystems.com/intersystems/iris:2026.1

 

開始するコンテナ

IRISコンテナとWebゲートウェイコンテナを同一のdockerネットワークに参加させ、開始するようにします。(説明では、docker-compose.ymlを使用してコンテナを開始します)


 

docker-compose.yml のIRISに関する記述は以下の通りです。

2026/3/30 一部記載を修正しています。詳細はリポジトリの変更履歴をご参照ください。

services:
  nopwsiris: # コンテナ間通信時のホスト名
    build:
      context: ./iris
      dockerfile: Dockerfile
    ports: ["8082:1972"] # コンテナ1972をホストの9872にマッピング

    volumes: 
      - ./iris:/ISC
      #↓製品版利用時の設定:./iris/iris.keyの名称で正しいキーを配置してください
      - ./iris/iris.key:/tmp/iris.key
    command: ["--key","/tmp/iris.key"]
    environment: 
      - TZ=JST-9

IRISのコンテナ名を nopwsiris としています。WebゲートウェイのコンテナからIRISにアクセスする際、このコンテナ名を使用してアクセスできます。

以下、IRISとWebゲートウェイのコンテナの中身について説明します。

 

IRISのコンテナ

コンテナ版IRISのデフォルト設定を少し変更したいため、Dockerfileを使用しています。

Dockerfileの中では、コンテナの元となるイメージの指定と、変更内容のメソッド実行を記述したファイル:iris.scriptを使用した処理の実行が記載されています。

コンテナビルド中に実行されるメソッドの内容は以下の通りです。

「次回ログイン時にパスワード変更」のオプションを無効に変更

WebゲートウェイコンテナからIRISコンテナにアクセスする際に使用する、IRISの事前定義ユーザ:CSPSystems のパスワードを初回アクセス時に変更しなくていいように、IRIS内ユーザに対する「次回ログイン時にパスワード変更」のオプションを無効にします。(初期設定としてパスワード「SYS」が設定されています。)

set $namespace="%SYS"
// 事前定義ユーザのパスワードを無期限に設定する(デフォルトパスワードはSYS)
Do ##class(Security.Users).UnExpireUserPasswords("*")

日本語ロケールへの変更

// 日本語ロケールに変更(コンテナがUbuntu英語版のためデフォルトは英語ロケール)を利用
Do ##class(Config.NLS.Locales).Install("jpuw")

 

続いて、Webゲートウェイのコンテナについて説明します。

 

Webゲートウェイのコンテナ

設定に使うファイルは、webgateway以下にあります。

~/NoPWS/Container/webgateway$ tree
.
├── CSP.conf
└── CSP.ini

docker-compose.ymlのWebゲートウェイに関する記述は以下の通りです。

  iris-webgateway:
    image: containers.intersystems.com/intersystems/webgateway:2026.1
    init: true
    ports:
      - 9981:80 # コンテナ80ポートをホストの9981にマッピング
      #- 9443:443 # コンテナ443ポートをホストの9443にマッピング
    environment:
      # Web Gatewayの設定ファイルパス
      - ISC_CSP_CONF_FILE=/webgateway-shared/CSP.conf
      - ISC_CSP_INI_FILE=/webgateway-shared/CSP.ini
    volumes:
      - ./webgateway:/webgateway-shared

    # SSL有効化する場合は command 行のコメントを外します。
    #   SSL有効化する場合は、webgateway ディレクトリ内にSSL用の証明書と秘密鍵を配置してください。
    #   例)./webgateway/server.crt, ./webgateway/server.key
    #command: ["--ssl"]

 

environmentに設定されている環境変数は、Webゲートウェイの構成に使用するファイル名を指定できる予め決められた名称です。

ISC_CSP_CONF_FILE

Apacheのconfファイルに追加したい設定を記述できます。例:CSP.conf

例では、Webサーバに / のパスが渡された場合全てのURLをWebゲートウェイに渡し、IRISに渡す設定を記述しています。 

詳しはドキュメントもご参照ください👉「Web サーバが Web ゲートウェイを介してルーティングする要求の指定」にある表のApacheの行

 

💡ご参考💡 証明書ファイルの準備があればhttpsでの通信に変更することもできます。

コメント化されている行のコメントを外し、証明書ファイル類を server.*の名称で webgateway以下に配置すればコンテナ開始時に設定します。

# SSL SECTION #
#<VirtualHost *:443>
#SSLEngine on
#SSLCertificateFile "/webgateway-shared/server.crt"
#SSLCertificateKeyFile "/webgateway-shared/server.key"
#</VirtualHost>

ISC_CSP_INI_FILE

Webゲートウェイ管理画面で設定するサーバ・アクセスの構成と、アプリケーション・アクセスの構成追加クライアント・アドレスのアクセスの有効化 を指定したiniファイルを指定します。 例:CSP.ini

このファイルを使用せず、コンテナを開始してからWebゲートウェイ管理画面で手動で作成することもできます。

管理画面は以下URLで開きます。 http://localhost:9981/csp/bin/systems/module.cxw

ポート番号はWebゲートウェイコンテナがホストに割り当てている番号を指定してください。)

 

コンテナの開始手順

  1. オリジナルの設定を加えたオリジナルのIRISイメージをビルドします。

    docker-compose build
  2. コンテナを開始します。

    docker-compose up -d

    開始できたら、以下URLにアクセスし、管理ポータルが起動するかご確認ください。 http://localhost:8080/csp/sys/UtilHome.csp    

  3. コンテナを停止・削除する方法 停止

    docker-compose stop

    再開始

    docker-compose start

    削除

    docker-compose down