マルチテナントサーバー
マルチテナントサーバーの設定
-
デベロッパー版サーバーをインストール
マルチテナントモードを有効にするには、有効なマルチテナントライセンスが必要です。
注記このライセンスをリクエストするには、販売担当者にお問い合わせください。
提供された指示に従って製品を登録してください。
-
local.json設定ファイルを開き、baseDirフィールドをテナント設定を含むフォルダーのパスに設定します。/var/www/onlyoffice/Data/tenantsの値を使用することをお勧めします。 -
local.jsonで、baseDomainフィールドを、すべてのテナントのベースドメインとして機能する第2レベルドメインに設定します。 -
メインライセンスの統計はデフォルトのテナントで収集されます。
-
デフォルトテナントの名前は
defaultTenant内のdefaultTenantフィールドで指定されています。注記この名前で別のテナントを作成することはできません。
-
テナントを指定しない
baseDomainへのリクエストは、自動的にデフォルトテナントにルーティングされます。 -
デフォルトテナントは追加の設定を必要としません。ただし、このテナントへのリクエストは
local.jsonファイルで定義されたシークレットを使用して署名されます。 -
デフォルトテナントの info ページで統計を表示します。
-
新しいテナントの追加
-
新しいテナントを追加するには:
-
サーバーの
baseDirディレクトリ内に新しいフォルダーを作成します。 -
テナントの名前はフォルダー名と
baseDomainを使用して形成されます(例:フォルダーがtenant1という名前でbaseDomainが example.com の場合、テナント名はtenant1.example.comになります)。注記このフォルダーが
default.jsonが存在するファイルシステムに作成されていることを確認してください。
各テナントフォルダー内に次の2つの必須ファイルを含めます:
default.json:"tenants": {"baseDir": "/var/www/onlyoffice/Data/tenants","baseDomain": "mydomain.example","filenameConfig": "config.json","filenameSecret": "secret.key","filenameLicense": "license.lic","defaultTenant": "localhost","cache": {"stdTTL": 300,"checkperiod": 60,"useClones": false}}注記各テナントの分離とセキュリティを確保するために
secret.keyファイルを実装してください。存在しない場合、メインテナントのシークレットが使用されます。JWTシークレットが指定されている場合、config.jsonのものが優先されます。ファイルシステム:
root@3694c287928a:/var/www/onlyoffice/Data/tenants# 1s -a. .. tenant1 tenant2root@3694c287928a:/var/www/onlyoffice/Data/tenants# -
-
root@3694c287928a:~# 1s /var/www/onlyoffice/Data/tenants/tenant1config.json license.licroot@3694c287928a:~#
license.lic– テナントのライセンスを含む必須ファイルconfig.json– メインサーバーの設定を上書きする必須の設定ファイル
注記JWTシークレットを必ず記入してください。
-
license.licファイルは、テナントのためにメインライセンスの特定のフィールドを上書きします。そのルールは以下の通りです:-
署名:ライセンス署名は不要です。
-
フィールド継承:メインライセンスから一部またはすべてのフィールドを含めることができます。指定されていないフィールドはメインライセンスの値にデフォルトされ、適切に検証されます。
-
制限調整:メインライセンスと比較して値を増やすことはできませんが、減らすことはできます。適用可能なフィールドには、connections、connections_view、users_count、users_expire、users_view_count、end_date、timelimited、advanced_api、branding、customizationが含まれます。
例:
brandingとcustomizationを削除したり、試用モードを設定したりすることができます。注記値を増やすことは効果がありません。メインライセンスは毎回再確認されるためです。
-
キャッシング:一度読み取られると、ライセンスの値は5分間キャッシュされます。
例えば、
license.licには以下の内容が含まれることがあります:{"branding":false,"connections":100,"users_count":0} -
-
config.jsonファイルは、特定のサーバー設定を上書きすることができます。そのルールは以下の通りです:- 上書き不可の設定:サーバー起動時に使用される設定(外部サービスのアドレス、ログパス、ライセンス、ファイルキャッシュなど)は上書きできません。
- 上書き可能な設定:実行時の操作に影響を与える設定を上書きできます。これには、WOPI設定、IPフィルタリング、JWTシークレット、匿名アクセスの無効化、ファイルサイズ制限が含まれます。
- キャッシング:一度読み取られると、設定値は5分間キャッシュされます。
例えば、
config.jsonファイルには以下の内容が含まれることがあります:{"wopi": {"enable": true},"services": {"CoAuthoring": {"secret": {"inbox": {"string": "secret", "file": ""},"outbox": {"string": "secret", "file": ""},"session": {"string": "secret", "file": ""}},"token": {"enable": {"browser": true,"request": {"inbox": true,"outbox": true}}}}}}