RAD サーバー エンジンの構成の手動編集
RAD サーバー エンジンのセットアップ への移動
EMS サーバーは、最初にEMS 環境を構成した際に、デフォルト パラメータで設定されます。
C:\Users\Public\Documents\Embarcadero\EMS
にある EMSServer.ini ファイルを編集することにより、EMS サーバー構成を変更できます。このファイルを編集した場合は、emsserver.ini ファイルを再読み込みするために EMS サーバーを終了して再起動する必要があります。
目次
EMS データベース構成
EMS サーバーで使用される EMS データベースのデフォルト情報を変更することができます。EMSServer.ini ファイルで、[Data] セクションに移動します。
- InstanceName: EMS データベースをホストする InterBase インスタンスを指定します。
- Database: EMS データベース ファイルのローカル ディレクトリ。
- UserName: EMS データベースにアクセスするためのユーザー名。
- Password: EMS データベースにアクセスするためのパスワード。
- SEPassword: 暗号化された InterBase データベースに接続するためのパスワード。
- Pooled: FireDAC 接続のプールを有効にして、EMS データベースの待ち時間を短縮できるようにします。
- PooledMax: EMS データベースに許可されたプール済み接続の最大数。
[Data] ; Interbase connection parameters InstanceName=EMS Database=C:\Users\Public\Documents\Embarcadero\EMS\emsserver.ib UserName=sysdba Password=masterkey SEPassword= ;# SEPassword connects to an encrypted database Pooled= ;# Set Pooled=0 to disable connection pooled, Pooled=1 to enable. Default value is 1. PooledMax= ;# Set PooledMax=10 to limit maximum pooled connection. Default value is 50.
EMS サーバーの制限
EMS データベースへの同時接続数や EMS ユーザーの最大数のデフォルト情報を変更することができます。EMSServer.ini ファイルで、[Server.Limits] セクションに移動します。
- MaxConnections。EMS サーバーに対する同時 HTTP 要求の最大数です。
- MaxUsers。EMS データベースで許可された EMS ユーザーの最大数です。この値は、使用している EMS ライセンスによって異なります。
[Server.Limits] MaxConnections= ;# Set MaxConnections=10 to limit maximum concurrent HTTP requests. Default is 32. MaxUsers= ;# Set MaxUsers=3 to limit the number of users in the EMS database. This value is only used ;# when less than the maximum users permitted by the EMS runtime license.
RAD サーバー エンジンの権限付与の設定
EMS サーバーデフォルトの権限付与情報は変更することができます。EMSServer.ini ファイルで、[Server.Keys] セクションに移動します。
- MasterSecret。所有権にかかわらずあらゆる操作が可能になるキー(たとえば、EMS Database 内のユーザーを更新します)。
- EMS クライアント プロパティ: TEMSProvider.MasterSecret。
- AppSecret。権限付与されたエンドポイントへの要求を許可するキー。
- EMS クライアント プロパティ: TEMSProvider.AppSecret。
- ApplicationID。EMS サーバーを識別します。この識別子は、EMS サーバーを区別します。EMS クライアントからの要求は、要求内の ApplicationID が EMS サーバー用に定義された ApplicationID と一致しない場合、拒否されます。
- EMS クライアント プロパティ: TCustomEMSConnectionInfo.ApplicationId。
[Server.Keys] MasterSecret=MasterSecretKey AppSecret=AppSecretKey ApplicationID=ApplicationIDKey
また、アクセス ルールを設定して、EMS リソースまたは EMS エンドポイントへのアクセスを許可/拒否することができます。 EMSServer.ini ファイルで、[Server.Authorization] セクションへ移動し、独自のアクセス ルールを追加します。
[Server.Authorization] Users={"public": false} Users.LoginUser={"public": true} Users.SignupUser={"public": true}
EMS サーバー API クロスドメイン
権限を変更して、異なるドメイン(EMS サーバー ドメインの外)から、公開 EMS サーバー API に HTTP リクエストを送ることができます。EMSServer.ini ファイルにて、[Server.APICrossDomain] セクションに移動します:
- CrossDomain。EMS サーバー API へのクロス ドメイン HTTP リクエストを許可するドメインのリスト。ドメインに許可するには、ワイルドカード値
*
を使用してください。
[Server.APICrossDomain] ;# Write here the domains allowed to call the API. Used for Cross-Domains CrossDomain = *
EMS サーバー接続
EMS サーバーに接続するためのデフォルト情報を変更することができます。EMSServer.ini ファイルで、[Server.Connection.Dev] セクションに移動します。
- Port: EMS サーバーへの HTTP 要求の接続ポートを定義します。
- HTTPS:EMS サーバー向け HTTPS サポートを有効にします。 有効にする場合、OpenSSL をインストールし、認証ファイル情報を構成する必要があります。
- CertFile: 自己署名認証ファイルへの絶対パス(
.pem
ファイル)。 - RootCertFile: CA 認証ファイルへの絶対パス(
.pem
ファイル)。自己署名証明書を使用する場合、ここは空白のままにします。 - KeyFile: 自己署名キー ファイルへの絶対パス(
.pem
ファイル)。 - KeyFilePassword: 認証ファイルを使用するために設定するパスワード。
[Server.Connection.Dev] Port=8080 ;# The following options enable HTTPS support. HTTPS=1 ;# Set HTTPS=1 to enable HTTPS, HTTPS=0 to disable. CertFile=C:\Users\Public\Documents\Embarcadero\EMS\cacert.pem ; RootCertFile= ;# When using a self-signed certificate, RootCertFile is left blank. KeyFile=C:\Users\Public\Documents\Embarcadero\EMS\cakey.pem KeyFilePassword=certpassword
EMS Google クラウド メッセージング
お使いの EMS サーバーに対して Google クラウド メッセージング(GCM)の設定をすることができます。 EMSServer.ini ファイルで、[Server.Push.GCM] セクションに移動します:
- APIKey: メッセージ サービスの設定をする際に取得する API キー。
[Server.Push.GCM] ;# This section is for Google Cloud Messaging (GCM) settings. ;# These settings are needed to send push notificatons to an Android device. ApiKey=XXXXXXXXXXXX
EMS サーバー テナント
このセクションでは、RAD Server のテナント構成の修整方法について説明します。次のテナント モードから 1 つ選択することができます:
- シングル テナント モード
- マルチ テナントモード
マルチテナントの詳細については、トピック「RAD サーバーのマルチテナントのサポート」を参照してください。
EMSServer.ini ファイルで、セクション [Server.Tenants] に移動します:
- MultiTenantMode: RAD サーバーのモードを指定します。マルチテナント モードに切り替えるには、この行のコメントを外します。
MultiTenantMode=1
の場合、マルチテナントが有効になります。MultiTenantMode=0
の場合、RAD サーバーは、シングル テナント モードで動作します。 - DefaultTenantId: デフォルトの TenantId をシングル テナント モードのカスタムの ID に変更します。
- TenantIdCookieName: EMS コンソールにおいて TenantId を格納するカスタム Cookie 名を指定します。
[Server.Tenants] ;# This section defines settings for Single or Multi-Tenant modes. ;# ;# The MultiTenantMode option is used to turn on the Multi-Tenant mode. ;# If the Multi-Tenant mode is turned on, then TenantId and TenantSecret is required to access EMS Server. ;MultiTenantMode=1 ;# ;# Default Tenant is used only in the Single Tenant mode. ;DefaultTenantId=00000000-0000-0000-0000-000000000001 ;# ;# Define custom cookie name to store TenantId in EMS Console. ;TenantIDCookieName=TenantID
EMS サーバーのファイル ディスパッチ サポート
EMS を設定して、静的ファイルが配置されるディレクトリや、それらへマッピングされる URL を指定することができます。各エントリは JSON オブジェクトで定義され、そのエントリの数に制限はありません。EMSServer.ini ファイルで、[Server.PublicPaths] セクションに移動します。含まれるオブジェクトのプロパティ:
- path: 相対 URL。
- directory: 静的ファイルの物理的位置。
- default: 仮想ディレクトリのルートを参照した際にディスパッチされるデフォルト ファイルを定義します(任意)。
- mimes: MIME ファイル タイプ マスクの配列(任意)
- extensions: ファイル拡張子の配列(任意)
[Server.PublicPaths] Path1={"path": "images", "directory": "C:\\web\\images\\", "default": "index.html", "mimes": ["image/*"]} Path2={"path": "content", "directory": "C:\\web\\content\\", "default": "index.html", "extensions": ["js", "html", "css"]}