メインコンテンツへスキップ
このページには、Sync セルフホスト環境にのみ適用されるコンテンツが含まれています。
CData Sync のインストールにはApache Tomcat、Eclipse Jetty、またはIBM WebSphere などのJava サーブレットコンテナにデプロイ可能なWAR ファイルが含まれています。外部Java サーブレットコンテナへのデプロイにはサーブレット3.0(Jetty 8+、Tomcat 7+、WebSphere 8+、など)が必要です。

Apache Tomcat での設定

WAR ファイルの配布

Tomcat にWAR ファイルを配布するには2つのオプションがあります。
  • webapps フォルダにWAR ファイルをコピーする。
  • Tomcat の管理コンソール内でWAR ファイルの配布を行う。Apache Tomcat のドキュメントには、この方法のさらに詳しい説明があります。お使いのTomcat のバージョンのドキュメントを参照してください。
WAR ファイルがTomcat のファイルアップロードに許可されているデフォルトの最大サイズを超える可能性があります。デプロイメント中のエラーを解決するために、Manager アプリケーションのweb.xml ファイルを変更して、より大きなファイルを許可することができます。Tomcat の設定に応じて、このファイルは/usr/share/tomcat7-admin/manager/WEB-INF、または別の類似ディレクトリにある可能性があります。このファイルでは、許容される最大ファイルサイズ(バイト単位)を変更できます。例えば、200-MB のWAR ファイルのデプロイメントを許容するには、次の値を変更して許容される最大ファイルサイズを変更します。

Java 認証・承認サービス(JAAS)の設定

Sync がアプリケーション内で動的にユーザーを管理できるようにするには、次のサブセクションで説明するようにJAAS を設定する必要があります。

ログインモジュールの作成

$CATALINA_BASE/conf/ フォルダに、jaas.config という名前のJAAS コンフィギュレーションファイルを作成します。 標準認証を使用するには、jaas.config に次の内容を含めます。
LDAP またはWindows Active Directory を使用してユーザーを認証する場合は、代わりに以下の内容を追加します。
この例では、userProvider、authIdentity、およびuserFilter 属性の値を環境に合わせて変更する必要があります。

JAASRealm モジュールの作成(または変更)

以下にあるコンフィギュレーションXML ファイルを作成(既存の場合は変更)して、Sync のコンテキストを作成します。 $CATALINA_BASE/conf/Catalina/localhost/sync.xml
Tomcat の構成によっては、このパスが若干異なる場合があります。この例では、Catalina はエンジン名、localhost はserver.xml で定義されたホスト名を示します。
以下で示すように、<Context> ブロックを定義して<Realm> 要素を追加します。
次に、Tomcat サーバーのコンフィギュレーションファイルserver.xml の<Host> 要素を、以下のようにcopyXML 属性をtrue に設定して更新します。

ログインモジュールの表示

コンフィギュレーションを表示するには、Java 仮想マシン(JVM)がログインモジュール(jaas.config)に誘導される必要があります。JVM のjava.security.auth.login.config システムプロパティをjaas.config ファイルのパスに設定します。これを行うには、次の行を$CATALINA_BASE/conf/catalina.properties ファイルに追加します。

データディレクトリ権限の設定

Java サーブレットコンテナを実行するプロセスのユーザーに、以下のように、適切な場所にあるデータディレクトリへの読み / 書きのアクセス権限を許可します。
  • Windows: C:\ProgramData\CData\Sync\
  • Linux: ~/cdata/sync
Tomcat サーバーを再起動して、変更を反映します。これでアプリケーションにログインすることができます。

ログインのロックアウト

Sync は、ブルートフォースアタックを防ぐために、不正なパスワードを何度も入力するユーザーを自動的にロックアウトします。デフォルトでは、5分以内に6回不正なパスワードを入力したユーザーは30分間ロックアウトされます。 Web サーバーの動作を規定するXML 設定ファイルを編集することで、ロックアウトの設定を変更できます。この3つの設定はロックアウトに関係します。
  • LockoutFailedAttempts - ロックアウトのトリガーとなる不正なパスワードの数。ロックアウトを無効にするには、LockoutFailedAttempts を0に設定します。
  • LockoutMinutes - ロックアウトする時間。デフォルトは30分です。
  • LockoutTimeCheckPeriod - 失敗した試行回数を0にリセットするまでの時間。デフォルトは5分です。
Tomcat sync.xml ファイルのロックアウト設定を編集するための構文は以下のとおりです。

WebSphere での設定

WebSphere クラスローダーの設定

WebSphere がアプリケーションリソースを正しくロードするためには、以下の手順に従ってください。
  1. WebSphere で、アプリケーション -> アプリケーション・タイプ -> WebSphere エンタープライズ・アプリケーションに移動します。
  2. Sync を選択します。
  3. クラス・ロードおよび更新の検出を選択します。
  4. 最初にローカル・クラス・ローダーをロードしたクラス(親が最後) を選択します。
  5. アプリケーションの単一クラス・ローダーを選択します。
  6. OK をクリックします。その後保存をクリックします。

Java 認証・承認サービス(JAAS)の設定

次の手順でJAAS を設定し、Sync がWebSphere Application Server 内で動的にユーザーを管理できるようにします。
  1. Sync をデプロイします。
    1. アプリケーションセキュリティを有効化します(セキュリティー -> グローバル・セキュリティー -> アプリケーション・セキュリティーを使用可能にする)。
    2. 次のように、システムログインにカスタムログインモジュールを追加します。
      1. セキュリティー -> グローバル・セキュリティー -> Java 認証・承認サービス -> システム・ログイン -> WEB_INBOUND に移動します。新規をクリックしてsync.LoginModule という名前の新しいエントリを追加します。sync.LoginModule はcom.ibm.ws.security.server.lm.ltpaLoginModule の前にある必要があることに注意してください。
      2. ログイン・モジュール・プロキシーの使用チェックボックスを選択します。
      3. 認証ストラテジーのOPTIONAL を選択します。
      4. カスタム・プロパティーのisWebSphere を追加してtrue に設定します。
  2. グループを作成します。
    1. ユーザーおよびグループ -> グループの管理 -> 作成に移動します。
    2. cdata_admin、cdata_standard、および cdata_support グループを作成します。
  3. グループをロールにマップします。
    1. アプリケーション -> アプリケーション・タイプ -> WebSphere エンタープライズ・アプリケーション -> sync_war -> ユーザー / グループへのセキュリティー・ロールのマッピングに移動します。
    2. cdata_admin グループを cdata_admin ロールにマップします。
    3. cdata_standard グループを cdata_standard ロールにマップします。
    4. cdata_support グループを cdata_support ロールにマップします。
    5. アプリケーションのレルム内で認証済みすべてを cdata_user ロールにマップします。
  4. com.ibm.ws.webcontainer.AllowQueryParamWithNoEqual プロパティをtrue に設定します。
    1. サーバー -> サーバー・タイプ -> Web Sphere Application Server に移動し、Sync がホストされているサーバーを選択します。
    2. コンテナー設定 -> Web コンテナー設定 -> Web コンテナーを選択します。
    3. 追加プロパティー -> カスタム・プロパティーを選択します。
    4. 新規プロパティ:com.ibm.ws.webcontainer.AllowQueryParamWithNoEqual を追加します。
    5. 値をtrue に設定します。
  5. WebSphere を再起動します。

データディレクトリ権限の設定

Java サーブレットコンテナを実行するプロセスのユーザーに、データディレクトリへの読み / 書きのアクセス権限を許可します。
  • Windows: C:\ProgramData\CData\Sync\
  • Linux: ~/cdata/sync
WebSphere サーバーを再起動して、変更を反映します。これでアプリケーションにログインすることができます。

Jetty での設定

Sync にはJetty Web サーバーが組み込まれていますが、アプリケーションを外部のJetty 設定で使用することもできます。

WAR ファイルの配布

WAR ファイルをJetty のwebapps フォルダにコピーします。

Java 認証・承認サービス(JAAS)の設定

JAAS を設定してSync がアプリケーションのユーザーを管理できるようにするには、次のサブセクションで説明する手順を実行する必要があります。

JAAS モジュールの追加

JAAS モジュールをインストールするには、次のコマンドを送信します。

ログインモジュールの作成

{JETTY_BASE}/etc/login.conf フォルダに、login.config という名前のログインコンフィギュレーションファイルを作成します。 login.config ファイルに以下の内容を記述します。

セキュリティハンドラの更新

セキュリティハンドラの設定は、sync.xml 設定ファイルにあります。securityHandler ブロックを以下のように変更します。

データディレクトリ権限の設定

Java サーブレットコンテナを実行するプロセスのユーザーに、データディレクトリへの読み / 書きのアクセス権限を許可します。
  • Windows: C:\ProgramData\CData\Sync\
  • Linux: ~/cdata/sync
Jetty サーバーを再起動して、変更を反映します。これでアプリケーションにログインすることができます。

アプリケーションディレクトリの設定

Sync ApplicationDirectory フォルダには、アプリケーションで使用されるすべてのデータ(設定データ、アプリケーションデータ、ログデータ、証明書など)が格納されます。ApplicationDirectory のデフォルトの場所は、Sync が組み込みWeb サーバー経由でホストされているか、外部のJava サーブレットコンテナ経由でホストされているかによって異なります。 Sync が外部のJava サーブレットコンテナにホストされている場合、ApplicationDirectory はサーバーを実行しているユーザーのホームディレクトリからの相対パスです。 ~/sync このパスでは、’~’ はアプリケーションをホストするサーバーを実行しているユーザーのホームディレクトリに解決します。 ApplicationDirectory フォルダを構成でき、これはさまざまなシナリオで役立ちます。
  • Sync の複数インスタンスのクラスタリング
  • アプリケーションデータ用の共有ネットワークドライブの使用
  • 同じフォルダにアクセスする他のシステム内へのSync の組み込み
ApplicationDirectory を変更すると、アプリケーションのデータファイルが移動します。ただし、EXE ファイルやJAR ファイルなどの他のアプリケーションリソースは移動しません。これらのリソースは InstallationDirectory フォルダに格納されます。このフォルダは ApplicationDirectory と同じ場合がありますが、ApplicationDirectory を変更しても、これらのリソースの場所は変わりません。 Sync を外部のJava サーブレット(アプリケーションに含まれるJetty サーバー以外のサーバー)で使用する場合、アプリケーションのデータディレクトリの設定の詳細は使用する特定のサーブレットに依存します。特定のサーブレットに適した構文を使用するAppDirectory 環境変数を必要なディレクトリのパスに設定する必要があります。 Sync がAppDirectory のパスを見つけることができ、そのパスで読み取りと書き込みができる適切なアクセス許可を持つ場合、指定したディレクトリ内にデータフォルダを作成します。

アプリケーションデータベースの設定

Sync のアプリケーションデータベースは、以下のようなアプリケーションデータの複数のテーブルを保存します。
  • ジョブ
  • タスク
  • 接続
  • 履歴(ジョブとタスク両方)
  • アプリケーションログ(アプリケーションレベルのエラーとイベント)
  • 監査ログ(ユーザーによるSync の設定変更)
バージョン26.2 以降、Sync はデフォルトのアプリケーションデータベースとして組み込みH2 データベースを使用します。既存のインストールでは、引き続きレガシーの組み込みDerby データベースを使用します。Sync は既存のインストールをH2 に自動的に移行しません。 また、Microsoft SQL Server、PostgreSQL、MySQL などのエンタープライズデータベースを使用するようSync を設定することもできます。外部データベースを設定する別の方法もありますが(例えば、AWS-AMI 版で説明されているように)、推奨されるアプローチは移行ドキュメントの手順に従うことです。

データベース接続の設定

Sync を外部のJava サーブレット(アプリケーションに含まれるJetty サーバー以外のサーバー)で使用する場合、アプリケーションのデータベースの設定の詳細は使用する特定のサーブレットに依存します。特定のサーブレットに適した構文を使用する、サーバーを設定する際のアプローチを次のいずれかから選択します。
  • ターゲットデータベースの接続プロパティを含むJNDI データソースを定義。
  • APP_DB 環境変数をJDBC 接続文字列に設定。
Sync がJDNI データソースまたはAPP_DB 接続文字列を使用してデータベースに接続できる場合、そのデータベースをアプリケーションデータベースとして使用します。

暗号化された接続文字列を使用したデータベース資格情報の保護

Sync には、アプリケーションデータベース接続の暗号化された接続文字列を生成する機能があります。この暗号化された接続文字列を使用すると、Sync のプロパティファイルにログイン資格情報を平文で保存することなく、アプリケーションデータベースを指定できます。 暗号化された接続文字列を生成するには、sync.jar が格納されているインストールディレクトリで次のコマンドを実行します。引用符内のサンプル文字列は、お使いの接続情報に置き換えてください。
コマンドを実行すると、以下の例のように、コマンドウィンドウに暗号化された文字列が出力されます。
前述の方法でアプリケーションデータベースを設定する際、cdata.app.db の平文の値の代わりに、この暗号化された文字列を使用できます。