Configurando o servidor multilocatário

Configurando o servidor multilocatário

A arquitetura multilocatária permite que uma única instância do ONLYOFFICE Docs atenda a múltiplos clientes (locatários) de forma isolada.

  1. 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.

  2. Abra o arquivo de configuração local.json e 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.
  3. 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.
  4. 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 baseDomain que 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

  1. Para adicionar um novo locatário:
    • Crie uma nova pasta dentro do diretório baseDir no servidor.
    • O nome do locatário será formado usando o nome da pasta e o baseDomain (por exemplo, se a pasta se chamar tenant1 e o baseDomain for 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": "meudominio.exemplo",
                        "filenameConfig": "config.json",
                        "filenameSecret": "secret.key",
                        "filenameLicense": "license.lic",
                        "defaultTenant": "localhost",
                        "cache": {
                                "stdTTL": 300,
                                "checkperiod": 60,
                                "useClones": false
                    }

    Implemente um arquivo secret.key para 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 do config.json terá precedência.

    Estrutura no sistema de arquivos:

    root@3694c287928a:/var/www/onlyoffice/Data/tenants# ls -a
    . .. tenant1 tenant2
    root@3694c287928a:/var/www/onlyoffice/Data/tenants#
  2. root@3694c287928a:~# ls /var/www/onlyoffice/Data/tenants/tenant1
    config.json license.lic
    root@3694c287928a:~#
    • license.lic – arquivo obrigatório com a licença do locatário
    • config.json – arquivo de configuração obrigatório que substitui a configuração principal do servidor

    É obrigatório preencher o segredo JWT.

  3. O arquivo license.lic substitui 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.
    • 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, users_count, end_date, etc.

      Aumentar valores é ineficaz porque a licença principal é validada sistematicamente.

    Exemplo de license.lic:

    {"branding":false,"connections":100,"users_count":0}
  4. O arquivo config.json permite substituir certas configurações do servidor.
    • Configurações Não Substituíveis: Configurações de inicialização (caminhos de log, cache de arquivos) não podem ser alteradas por locatário.
    • Configurações Substituíveis: Configuração WOPI, filtragem de IP, segredo JWT e limites de tamanho de arquivo.
    • Cache: Os valores são armazenados em cache por 5 minutos após a leitura.
Artigo com o tag:
Veja todas as etiquetas