Windows 版


Windows 版


CData Sync のWindows 版にはスタンドアロンの組み込みWeb サーバーが同梱されていますが、IIS にホストすることもできます。このセクションでは、Windows でアプリケーションをホストするさまざまなオプションについて説明します。

IIS を触った経験がない場合は、組み込みサーバーを使うことを推奨します。組み込みサーバーはインストール時に自動的に配布され、ログの設定、アプリケーションをサービスとして実行、SSL/TLS の有効化などのサーバーレベルの管理タスクのシンプルなインターフェースを提供します。

組み込みサーバーでのホスティング

このセクションでは、スタンドアロンの組み込みWeb サーバーの設定方法について示します。これには、TLS/SSL 接続のホスト の方法およびCloud Gateway の設定、リバースSSH トンネルについてを含みます。

スタンドアロンサーバーにホストされている場合、アプリケーションはWindows サービスとして実行されます。

  1. タスクバーの Sync のアイコンを右クリックし、[サーバーオプション]をクリックします。
  2. [Windows サービスとして実行]を選択します。
  3. 変更を保存します。

TLS/SSL 接続のホスト(組み込みサーバー)

プレーンテキストでのサービスのほかに、TLS を要求することができます。このセクションでは、アプリケーションのWindows 版に同梱されているスタンドアロンサーバーで、TLS/SSL 接続をホストする方法を説明します。Java 版 にTLS/SSL を配布する方法は、アプリケーションをホストするJava Servlet のドキュメントを参照してください。

  1. Windows システムトレイのアプリケーションのアイコンを右クリックして、[サーバーオプション]をクリックします。
  2. [Web サーバー]タブで、[TLS を有効化]を選択し、TLS を扱うポートを選択します。
  3. [TLS サーバー証明書]ボックスの隣のボタンをクリックし、秘密鍵証明書を選択します。秘密鍵付き証明書は、ローカルコンピュータの証明書ストアにインストールする必要があります。もし、条件を満たす証明書がない場合には、[新しい証明書の作成]をクリックして、シンプルな証明書を作成してください。

Server Dialog

変更を保存すると、サーバーが再起動し、TLS リクエストの処理が開始されます。

秘密証明書の管理

証明書選択ダイアログで使用可能な証明書を管理したい場合には、ローカルコンピュータの秘密証明書ストアにあります。Windows ストアに証明書を追加するには:

  1. [実行]メニューから、[mmc]を入力してMicrosoft 管理コンソールを立ち上げます。
  2. [ファイル]->[スナップインの追加と削除]をクリックします。
  3. [利用可能なスナップイン]テーブルから[証明書]を選択し[追加]をクリックします。

    Add Snap-In

  4. [コンピューターアカウント]->[ローカルコンピューター]を選択します。
  5. スナップインを追加したら、[証明書(ローカルコンピューター)]->[個人]->[証明書]をクリックして、利用可能な証明書を表示します。秘密キーが利用可能な証明書には、証明書アイコンの上に鍵のアイコンが表示されます。
  6. ローカルディスクからストアに証明書をインポートするには、[アクション]->[すべてのタスク]->[インポート]をクリックします。インポートウィザードを完了すると、証明書はアプリケーションの証明書選択ダイアログにて利用可能となります。

Cloud Gateway

Sync のCloud Gateway 機能は、ファイアウォールを変更することなしにアプリケーションをインターネットに公開する簡単な方法を提供します。公開アクセス可能なSSH サーバーが利用できる場合に限り、SSH リバーストンネルを利用して、公開アクセス可能なSSH サーバー上のポート経由でSync にアクセスできます。

この機能を活用するには、システムトレイのアプリケーションアイコンを右クリックし、[サーバーオプション]をクリックします。下図で示されるように[Cloud Gateway]タブに進み、次の情報を入力します。

Cloud Gateway

  • Host はSync の接続先のSSH サーバーを示します。
  • Port は、SSH ホストが接続をリッスンしているポートを示します。ほとんどのSSH サーバーは、デフォルト値のポート22でリッスンします。
  • Authentication Type は、使用する認証のタイプを示します。PasswordPublic KeyMulti-Factor、および_Keyboard Interactive_ がサポートされています。
  • User は、Sync がSSH サーバーへの認証に使用するユーザー名を示します。
  • Password は、使用されているAuthentication Type で必要な場合、認証に使用するパスワードを示します。
  • Certificate は、Public Key Authentication で、Sync がSSH サーバーへの認証に使用する証明書を示します。
  • Server Fingerprint は、SSH サーバーのSSH ホストキーフィンガープリントを示します。この値はread-only の情報です。
  • Forwarding Port は、公開されているSSH サーバーが、Sync に転送する接続をリッスンするポートを示します。

さらに、SSH サーバーの設定を変更して、ポート開放を許容する必要がある場合があります。デフォルトのSSH サーバー設定では、非ローカルホストアドレスへのポート開放を常に有効にするとは限りません。例えば、OpenSSH サーバーに接続する場合は、SSH サーバーコンフィギュレーションファイルで、GatewayPorts プロパティをyes またはclientspecified に設定する必要があります。

この情報を入力したら、[接続のテスト]をクリックしてSSH サーバーへの接続をテストし、提供された情報の正当性を確認します。成功した場合は、アプリケーションを再起動すると、SSH ホストのForwarding Port 経由でSync にアクセスできるようになります。 例えば、SSH サーバー_my.ssh.host_ が指定されていて、Forwarding Port で8401 を使用している場合、ブラウザにentering https://my.ssh.host:8401 と入力すると、通信はSync が実行されているローカルマシンに転送されます。これは、ローカルマシンに直接アクセスすることはできないが公開アクセスが許可されているためです。

Windows 認証

By default, the embedded web server uses ASP.NET’s forms-based authentication, wherein a username/password combination must be entered into a webform (i.e. a login portal) to grant access to the administration console.Sync also supports Windows/Active Directory authentication to grant application access to specific Windows users or security groups.

To enable Windows authentication, simply open the embedded web server configuration UI (right-click the Sync icon in the system tray and select Server Options) and toggle the Authentication Type field under the ‘Web Server’ tab.

By default, access is granted to the current Windows user managing the web server.To configure the users and groups permitted to access the application, add new users within the Users tab of the Settings page in the application.

Users must be added within the application using DOMAIN\Username syntax.Users must be added individually, as an entire group cannot be granted access to the application at this time.

IIS での設定

これらの説明では、IIS およびWindows の複数のバージョンをカバーします。もし、この手引きを参照中に問題があった場合には、最後のセクションのトラブルシューティング を参照してください。もし、お客様のバージョンが本チュートリアルでカバーされていない場合には、弊社のサポートフォーム よりご連絡ください。

IIS 8、8.5、および10

新しいWeb アプリケーションの作成

Note: この例では、デフォルトWeb サイトを使用します。

Web サイトでアプリケーションをホストするには:

  1. IIS マネージャーで、[接続]パネルのサーバーのノードを展開します。
  2. サイトノードを展開し、ウェブサイトを右クリックして、[アプリケーションの追加]をクリックします。
  3. [アプリケーションの追加]ダイアログが表示されたら、以下の情報を入力します。
エイリアス アプリケーション名、例えば”sync”。
アプリケーションプール アプリケーションに関連するアプリケーションプール。このチュートリアルでは、”DefaultAppPool” を使用します。
物理パス アプリケーションがインストールされているディレクトリのwww ディレクトリパス。このディレクトリのデフォルトの位置は、C:\Program Files\CData\CData Sync\www です。
権限の設定

アプリケーションは、インストールディレクトリに位置する、www フォルダにアクセスできる必要があります。アプリケーションに関連するアプリケーションプールへのアクセスの許容:

  1. フォルダを右クリックして、[プロパティ]をクリックします。[セキュリティ]タブで[編集]->[追加]をクリックします。
  2. [選択するオブジェクト名を入力してください]ボックスに、以下を入力します:IIS AppPool\your-application-pool。例:IIS AppPool\DefaultAppPool
  3. アプリケーションプールアイデンティティが、次の権限を持っていることを確認します:

    • 読み出し
    • 書き込み
    • 変更
    • 読み出し&実行
    • フォルダコンテンツをリスト

Note:アプリケーションプールへのアクセスの許容にはコマンドラインを使うこともできます。次に例を示します:

icacls "www" /grant "IIS APPPOOL\\DefaultAppPool":(OI)(M)

アプリケーションプロセスのアンローディングの防止

IIS は、アイドルタイムアウト超過、アプリケーションプールのリソース使用が高すぎる場合など、Web アプリケーションをいくつかの理由でシャットダウンすることがあります。これにより、アプリケーションでバックグラウンドタスクを止めてしまうことがあります。次の設定を変更することで、アプリケーションを常時実行しておくことができます:

  1. オプションのApplication Initialization 機能を有効化します。

    Windows Server 2012 R2 および、Windows Server 2016では、[サーバーマネージャー]を開き、[ダッシュボード]->[クイックスタート]->[役割と機能の追加]をクリックします。[役割と機能の追加]ウィザードが開きます。[サーバーの役割]のステップで、[Web サーバー(IIS)]->[アプリケーション開発]->[Application Initialization]をクリックします。

    Windows 8 およびWindows 10 では、コントロールパネル **を開いて、 **[プログラムと機能]->[Windows の機能の有効化または無効化]をクリックします。[インターネットインフォメーションサービス]->[World Wide Web サービス]->[アプリケーション開発機能]->[Application Initialization]をクリックします。

  2. IIS マネージャーで、[接続]パネルの[アプリケーションプール]をクリックします。
  3. ワークスペースで、アプリケーションプールを右クリックし、[詳細設定]をクリックします。
  4. 全般設定の、[開始モード]AlwaysRunning に設定します。

  5. プロセスモデル設定では、[アイドルタイムアウト]0 に設定します。

    IIS 8 を使用している場合、全般設定の[自動的に開始]True に設定されていることを確認してください。

  6. CPU セクションでは、LimitInterval プロパティを0 に設定します。
  7. Recycling セクションでは、Regular Time Interval プロパティを0 に設定します。
  8. Recycling セクションのGenerate Recycle Event Log Entry ノードでは、Regular Time Interval プロパティをFalse に設定します。
ASP.NET アプリケーションプールのリサイクル設定

IIS は定期的にリサイクルし、ASP.NET アプリケーションプールのプロセスをクリーンアップします。リサイクルをオフピーク時にスケジュールすることもできます。[Recycling]セクションに移動してSpecific TimeTrue に設定し、リサイクルする時間をhh:mm:ss 形式で入力します。

アプリケーションのプリロード

IIS’s preloading feature improves performance by allowing the application to run prior to a user connecting.この機能を有効にするには、[接続]ペインで、Sync に関連しているWeb アプリケーションを右クリックし、[アプリケーションの管理]->[詳細設定]を選択します。[PreloadEnabled ]メニューで、True を選択します。

PreloadEnabled がTrue に設定されている場合、IIS はユーザーリクエストをWeb サイトのデフォルトページ、または仮想ディレクトリにシミュレートして、アプリケーションを初期化します。

設定の確認

アプリケーションを開くには、http://localhost/sync に移動します。エラーが出ている場合には、トラブルシューティング を参照してください。

IIS 7 および7.5

新しいWeb アプリケーションの作成

Web サイトでアプリケーションをホストするには:

Note: この例では、デフォルトWeb サイトを使用します。

  1. IIS マネージャーで、[接続]パネルのサーバーのノードを展開します。
  2. サイトノードを展開し、ウェブサイトを右クリックして、[アプリケーションの追加]をクリックします。
  3. [アプリケーションの追加]ダイアログが表示されたら、以下の情報を入力します。
エイリアス アプリケーション名、例えば”sync”。
アプリケーションプール アプリケーションに関連するアプリケーションプール。このチュートリアルでは、”DefaultAppPool” を使用します。
物理パス アプリケーションがインストールされているディレクトリのwww ディレクトリパス。このディレクトリのデフォルトの位置は、C:\Program Files\CData\CData Sync\www です。
権限の設定

アプリケーションは、インストールディレクトリに位置する、www フォルダおよびデータフォルダにアクセスできる必要があります。アプリケーションに関連するアプリケーションプールへのアクセスの許容:

  1. フォルダを右クリックして、[プロパティ]をクリックします。[セキュリティ]タブで[編集]->[追加]をクリックします。
  2. [選択するオブジェクト名を入力してください]ボックスに、以下を入力します:IIS AppPool\your-application-pool。例:IIS AppPool\DefaultAppPool
  3. アプリケーションプールアイデンティティが、次の権限を持っていることを確認します:

    • 変更
    • 読み出し&実行
    • フォルダコンテンツをリスト
    • 読み出し
    • 書き込み

Note:アプリケーションプールへのアクセスの許容にはコマンドラインを使うこともできます。次に例を示します:

icacls "www" /grant "IIS APPPOOL\\DefaultAppPool":(OI)(M)

アプリケーションプロセスのアンローディングの防止

IIS は、アイドルタイムアウト超過、アプリケーションプールのリソース使用が高すぎる場合など、Web アプリケーションをいくつかの理由でシャットダウンすることがあります。これにより、バックグラウンドタスクを止めてしまうことがあります。

このバージョンのIIS はWeb アプリケーションを常時実行しておく設定をサポートしていません。アプリケーションプールが常時実行していて、バックグラウンドタスクが発生できる状態を保つことを保証するためには、繰り返しアプリケーションにHTTP リクエストを発行するスクリプトを設定しなければなりません。

IIS 7.5 では、次の設定を変更することで、アプリケーションを常時実行しておくことができます:

  1. IIS 7.5 のアプリケーション Initialization Extension をインストール。http://www.iis.net/download/ApplicationInitialization からダウンロードすることができます。
  2. IIS マネージャーで、[接続]パネルの[アプリケーションプール]をクリックします。
  3. ワークスペースで、[アプリケーションプール]を右クリックし、[詳細設定]をクリックします。
  4. 全般設定では、[自動的に開始]True に設定されていることを確認してください。
  5. プロセスモデル設定では、[アイドルタイムアウト]0 に設定します。
  6. CPU セクションでは、LimitInterval プロパティを0 に設定します。
  7. Recycling セクションでは、Regular Time Interval プロパティを0 に設定します。
  8. Recycling セクションのGenerate Recycle Event Log Entry ノードでは、Regular Time Interval プロパティをFalse に設定します。
  9. C:\Windows\System32\inetsrv\config\ に位置するApplicationHost.config ファイルのアプリケーションプールエントリーの設定を変更します。適切な エントリに、_startMode="AlwaysRunning"_ と_autoStart="True"_ を追加します。次に例を示します:
<applicationPools>
<add name="DefaultAppPool" managedRuntimeVersion="v4.0" startMode="AlwaysRunning" autoStart="true"/>
</applicationPools>
ASP.NET アプリケーションプールのリサイクル設定

IIS は定期的にリサイクルし、ASP.NET アプリケーションプールのプロセスをクリーンアップします。リサイクルをオフピーク時にスケジュールすることもできます。[Recycling]セクションに移動してSpecific TimeTrue に設定し、リサイクルする時間をhh:mm:ss 形式で入力します。

アプリケーションのプリロード

IIS’s preloading feature improves performance by allowing the application to run prior to a user connecting.この機能を有効にするには、ApplicationHost.config ファイル(C:\Windows\System32\inetsrv\config\ApplicationHost.config)を編集し、ApplicationHost.config に、アプリケーションと関連する<application> エレメントのpreloadEnabled 属性を追加します。次の例に示すように、アプリケーションノードはサイトノードの子エレメントです。

<sites>
  <site name="Default Web Site" id="1">
  <application path="/sync" applicationPool="DefaultAppPool"  preloadEnabled="true">
  ...

PreloadEnabledTrue に設定されている場合、IIS はユーザーリクエストをWeb サイトのデフォルトページ、または仮想ディレクトリにシミュレートして、アプリケーションを初期化します。

設定の確認

アプリケーションを開くには、http://localhost/sync に移動します。エラーが出ている場合には、トラブルシューティング を参照してください。

TLS/SSL 接続のホスト(IIS)

SSL/TLS は、取引先とあなたのビジネスクリティカル・ミッションクリティカルな通信の機密を保持するために使われます。次の手順では、すでにお客様のサーバーにSSL/TLS を有効化させるための証明書を持っていることが前提となっています。

  1. IIS マネージャーで、[接続]ペインでWeb サイトのノードをクリックします。
  2. [アクション] ペインで[バインディング] をクリックします。
  3. [Add]をクリックし、[HTTPS]を選択します。
  4. サーバー証明書を選択します。
  5. TLS/SSL を要求したい場合には、Web サイトのノードが選択されている状態で、ワークスペースで[SSL 設定アイコン]をダブルクリックします。[SSL が必要]を選択して、[アクション]ペインで[適用]をクリックします。

トラブルシューティング

次のセクションは、いくつかの共通して発生するエラーの解決方法を説明します。

ログアウトして、しばらく経つとアプリケーションが応答しなくなる。

IIS が、お客様のアプリケーションのタイムアウト後にアンロードしている可能性があります。デフォルトで、IIS は20分間動きがない場合にアプリケーションにアサインされたワーカープロセスを終了します。IIS のバージョンごとの手順中の”アプリケーションプロセスのアンローディングの防止”セクションで、この機能を回避する方法を説明しています。

IIS 7.5、8、8.5 では、IIS マネージャーで次の設定を変更することで、アプリケーションを常時実行しておくことができます。

7.5 より前のバージョンのIIS はWeb アプリケーションを常時実行しておく設定をサポートしていません。アプリケーションプールが常時実行していて、バックグラウンドタスクが発生できる状態を保つことを保証するためには、繰り返しアプリケーションにHTTP リクエストを発行するスクリプトを設定しなければなりません。

http://localhost/application にアクセスすると、”Page Cannot Be Displayed” エラー(HTTP 404 エラー)が返される。

ASP.NET が有効化されていない場合に、本事象が起こります。ASP.NET が有効になっているかどうかを確認するには、http://localhost/sync/favicon.ico にアクセスします。このページが正常にロードされた場合は、ASP.NET は有効化されていません。

IIS 7 以上で実行している場合には、コントロールパネル->[プログラム(もしくはプログラムと機能)]->[Windows 機能の有効化または無効化]->[インターネットインフォメーションサービス]->[World Wide Web サービス]->[アプリケーション開発機能]を選択します。ASP.NET の隣のチェックボックスにチェックを入れます。

Windows Server 2003 を使っている場合には、IIS マネージャーを開き、ローカルコンピューターノードを展開して、[Web Service Extentions]->[ASP.NET]->[Allow]をクリックします。さらに、次の手順を行う必要があります。

IIS 6 かそれ以前で実行している場合、Windows のコマンドプロンプトを開き、C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 のような.NET Framework version installation に移り、aspnet_regiis -i</b> コマンドを発行します。64-bit プロセッサーを使用している場合には、FrameworkFramework64 に変えてください。アウトプットは以下のようになります:

C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727>aspnet\_regiis -i
  Start installing ASP.NET (2.0.50727).
  ...
  Finished installing ASP.NET (2.0.50727).

iisreset コマンドを発行し、IIS を再起動します。アウトプットは以下のようになります:

  C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727>iisreset

  Attempting stop...
  Internet services successfully stopped
  Attempting start...
  Internet services successfully restarted

親レベルでセクションがロックされている。ロックは、デフォルト(overrideModeDefault=”Deny”)、もしくはoverrideMode=”Deny”、やレガシーでallowOverride=”false” ロケーションタグで明示的に設定されているかが原因です。

このエラーはASP.NET がインストールされていない場合に発生します。

IIS 8 および8.5

まずは、アプリケーションプールで使われているASP.NET CLR のバージョンを確認します。ASP.NET CLR と同じバージョンのASP.NET をインストールしている必要があります。例えば、ASP.NET4.5 はCLR version 4.0 を使用します。CLR バージョンはIIS マネージャーで[接続]パネルのアプリケーションプールをクリックすることで確かめることができます。アプリケーションプールのリストに.NET CLR バージョンが表示されます。

Windows Server 2012では、[サーバーマネージャー]を開き、[ダッシュボード]->[クイックスタート]->[役割と機能の追加]をクリックします。[役割と機能の追加]ウィザードが開きます。[Web サーバー(IIS)]->[Web サーバー]->[アプリケーション開発]をクリックして、ASP.NET の適切なバージョンを選択します。

Windows 8 では、コントロールパネルを開いて、[プログラムと機能]->[Windows の機能の有効化または無効化]をクリックします。[インターネットインフォメーションサービス]->[World Wide Web サービス]->[アプリケーション開発機能]をクリックして、ASP.NET の適切なバージョンを選択します。

IIS 7 および7.5

Windows 7 では、コントロールパネルを開いて、[プログラムと機能]->[Windows の機能の有効化または無効化]をクリックします。[インターネットインフォメーションサービス]->[World Wide Web サービス]->[アプリケーション開発機能]->[ASP.NET]をクリックします。

Windows Server 2008では、[サーバーマネージャー]を開き、[Add Role Serveices]をクリックします。[Web Server]->[Application Development]->[ASP.NET]を選択します。

ユーザー管理

Upon first starting, Sync will prompt for the creation of a user with username/password credentials.After this first user is created, users can be added, deleted, and managed via the Settings page of the application, under the Users tab.

More information about user management and roles can be found in the User Roles section.

Find and Configure the Application Directory

Sync’s Application Directory holds all of the data used by the application:Job and connection data, application data, logging data, etc.Typically, the Application Directory is the same as the Installation Directory, which defaults to the following location:

C:\ProgramData\CData\Sync

The Application Directory can be configured to be a different folder from the Installation Directory.Changing the Application Directory will move the application’s data files but will not move other application resources like .exe’s, .jar’s, etc.

Web.Config

The Application Directory is configured in the Web.Config file within the ‘www’ folder of the Installation Directory.

This file contains a commented-out AppDirectory block that that describes the following appSettings tag.The path to the desired Application Directory should be set as the ‘AppDirectory’ key with appSettings.

The Application Directory can be set to any local or network path for which the application has read and write permissions.

Configure the Application Database

Sync’s Application Database stores several tables of application data, including:

  • Jobs
  • Tasks
  • Connections
  • History (both Jobs and Tasks)
  • Application Settings
  • Application Log (application-level errors and events)
  • Audit Log (user-made changes to Sync’s configuration)

By default, Sync uses a SQLite database in the Application Directory as the Application Database, but this can be configured to use an enterprise database like SQL Server, PostgreSQL, or MySQL.

Web.Config

The Application Database is configured in the Web.Config file within the ‘www’ folder of the Installation Directory.

This file contains a commented-out AppDb block that that describes the following connectionStrings tag.The connection string and provider name for the target database should be set within the ‘AppDb’ key.

Login Lockouts

Sync will automatically lock out users who enter incorrect passwords too many times in order to prevent brute force attacks.By default, a user who enters 6 incorrect passwords within 5 minutes will be locked out for 30 minutes when the 7th try fails.

These settings can be modified by editing the Web.Config file within the ‘www’ folder of the Installation Directory.There are 3 settings relevant to lockouts:

  • LockoutFailedAttempts - the number of incorrect passwords that will trigger a lockout (set this to 0 to disable lockouts)
  • LockoutMinutes - the duration of the lockout (default 30 minutes)
  • LockoutTimeCheckPeriod - the period after which the number of failed attempts is reset to 0 (default 5 minutes)

Each of these settings can be set under the appSettings tag in the Web.Config file like the following:

<appSettings>
     <add key="LockoutFailedAttempts" value="0"/>
</appSettings>"