- Home
- Servidor multilocatário
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.
Entre 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.Você 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.
-
O nome do locatário padrão é especificado no campo defaultTenant dentro de
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).Certifique-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:
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 }Implemente 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 tenant2 root@3694c287928a:/var/www/onlyoffice/Data/tenants# - Crie uma nova pasta dentro do diretório
root@3694c287928a:~# 1s /var/www/onlyoffice/Data/tenants/tenant1 config.json license.lic root@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
É 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 teste.Aumentar 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, desabilitação de 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 } } } } } }