Configurando o servidor multilocatário
Configurando o servidor multilocatário
-
Instale o servidor Developer Edition
Uma licença válida de multi-tenancy é necessária para habilitar o modo multilocatário.
observaçãoEntre em contato com seu assistente de vendas para solicitar esta licença.
Registre o produto seguindo as instruções fornecidas.
-
Abra o arquivo de configuração
local.jsone defina o campo baseDir para o caminho da pasta que contém as configurações do locatário. Recomendamos usar o valor/var/www/onlyoffice/Data/tenants. -
No
local.json, defina o campo baseDomain para o domínio de segundo nível que servirá como domínio base para todos os seus locatários. -
Estatísticas da licença principal são coletadas em um locatário padrão.
-
O nome do locatário padrão é especificado no campo defaultTenant dentro de
defaultTenant.observaçãoVocê não pode criar outro locatário com este nome.
-
Solicitações ao
baseDomainque não especificam um locatário são automaticamente roteadas para o locatário padrão. -
O locatário padrão não requer configuração extra. No entanto, solicitações a este locatário são assinadas usando um segredo definido no arquivo
local.json. -
Visualize as estatísticas na página info do locatário padrão.
-
Adicionando um novo locatário
-
Para adicionar um novo locatário:
-
Crie uma nova pasta dentro do diretório
baseDirno servidor. -
O nome do locatário será formado usando o nome da pasta e o
baseDomain(por exemplo, se a pasta se chamartenant1e obaseDomainfor example.com, o nome do locatário serátenant1.example.com).observaçãoCertifique-se de que esta pasta seja criada no sistema de arquivos onde reside o
default.json.
Dentro de cada pasta de locatário, inclua os dois arquivos obrigatórios a seguir:
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}}observaçãoImplemente um arquivo
secret.keypara cada locatário para garantir isolamento e segurança. Se ausente, o segredo do locatário principal será usado. Se um segredo JWT for especificado, o doconfig.jsonterá precedência.sistema de arquivos:
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– arquivo obrigatório com a licença do locatárioconfig.json– é um arquivo de configuração obrigatório que substitui a configuração principal do servidor
observaçãoÉ obrigatório preencher o segredo JWT.
-
O arquivo
license.licsubstitui campos específicos da licença principal para o locatário. Suas regras são:-
Assinatura: Assinatura da licença não é necessária.
-
Herança de Campos: Você pode incluir alguns ou todos os campos da licença principal. Campos não especificados usarão os valores da licença principal por padrão e serão validados de acordo.
-
Ajustes de Limites: Você não pode aumentar valores em comparação com a licença principal, mas pode diminuí-los. Campos aplicáveis incluem: connections, connections_view, users_count, users_expire, users_view_count, end_date, timelimited, advanced_api, branding, customization.
Exemplo: Você pode remover
brandingecustomizationou definir um modo de avaliação.observaçãoAumentar valores é ineficaz porque a licença principal é verificada novamente a cada vez.
-
Cache: Uma vez lidos, os valores da licença são armazenados em cache por 5 minutos.
Por exemplo, o
license.licpode ter o seguinte conteúdo:{"branding":false,"connections":100,"users_count":0} -
-
O arquivo
config.jsonpermite substituir certas configurações do servidor. As regras são:- Configurações Não Substituíveis: Configurações usadas durante a inicialização do servidor (como endereços de serviços externos, caminhos de log, licenças e cache de arquivos) não podem ser substituídas.
- Configurações Substituíveis: Você pode substituir configurações que afetam as operações em tempo de execução, incluindo configuração WOPI, filtragem de IP, segredo JWT, desativação do acesso anônimo e limites de tamanho de arquivo.
- Cache: Uma vez lidos, os valores de configuração são armazenados em cache por 5 minutos.
Por exemplo, o arquivo
config.jsonpode ter o seguinte conteúdo:{"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}}}}}}