• Home
  • Servidor multilocatário

Servidor multilocatário

Configurando o servidor multilocatário

  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": "mydomain.example",
                        "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.

    sistema de arquivos:

    root@3694c287928a:/var/www/onlyoffice/Data/tenants# 1s -a
                    . .. tenant1 tenant2
                    root@3694c287928a:/var/www/onlyoffice/Data/tenants#
  2. 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ário
    • config.json – é um 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 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 branding e customization ou 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.lic pode ter o seguinte conteúdo:

    {"branding":false,"connections":100,"users_count":0}
  4. O arquivo config.json permite 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.json pode 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
         }
        }
       }
      }
     }
    }

Hospede o ONLYOFFICE Docs em seu próprio servidor ou utilize-o na nuvem

Artigo com o tag:
Veja todas as etiquetas