Pular para o conteúdo principal

Signer - Setup em Windows Server

Para instalar uma instância on-premises do Signer em Windows Server, primeiro baixe os binários da versão desejada. A versão mais recente disponível está no link abaixo:


Pacote de binários do Signer


Pré-requisitos​

  • Windows Server 2012 ou mais recente (qualquer edição)
  • SQL Server 2014 ou mais recente (edição recomendada: Standard ou superior)
  • Licença do PKI SDK (no formato Base64)
  • Licença do Web PKI (formato Base64/binário)

Requisitos do banco de dados​

  • Banco de dados com a collation Latin1_General_100_CI_AI ou Latin1_General_CI_AI.
  • Credenciais de um usuário com o role db_owner.

Se precisar de ajuda para preparar o banco de dados, clique aqui.

Instalação​

  1. Instale o IIS

  2. Instale o NET 8.0 Hosting Bundle

  3. Crie a pasta do site do IIS. Exemplo: C:\inetpub\Signer

  4. Crie a pasta dos logs. Exemplo: C:\Logs

  5. Crie o site no IIS

  6. No pool de aplicativos correspondente:

    • Selecione Configurações Básicas e defina a Versão do .NET CLR como Sem Código Gerenciado

      Sem código gerenciado

    • Selecione Configurações Avançadas e defina Carregar Perfil do Usuário como True

      Carregar perfil do usuário

  7. Extraia os arquivos do pacote de binários para a pasta do site.

aviso

O .NET Core Hosting Runtime deve ser instalado depois do IIS; caso contrário, ao executar o site, você pode receber o erro 500.19 (0x8007000d). Se for o seu caso, execute a opção "Reparar" do instalador do Hosting Runtime.

Configuração​

Na pasta de instalação, mova o arquivo appsettings.iis.json da pasta config-templates para a pasta raiz do site. Em seguida, edite o arquivo para configurar sua instância.

Este arquivo é organizado em seções cujos nós filhos representam os nomes das configurações. Por exemplo: para configurar o SupportEmailAddress da seção General, adicione ou edite uma seção com o nome General e adicione ou edite o filho com o nome SupportEmailAddress:

...
"General": {
"SupportEmailAddress": "support@email.com"
}
...

As configurações obrigatórias são apresentadas abaixo.

Connection string do banco de dados​

Na seção ConnectionStrings:

  • DefaultConnection: defina a connection string do banco de dados. Uma connection string típica é assim:
Data Source=SERVER;Initial Catalog=DATABASE;User ID=USERNAME;Password=PASSWORD
observação

Se você criou o banco de dados usando recursos avançados, como log shipping ou mirroring, sua connection string pode ser diferente

Logging​

Na seção Serilog, configure o logging da aplicação:

...
"Serilog": {
"MinimumLevel": {
"Default": "Warning"
},
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "C:\\Logs\\Signer.log",
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] [{SourceContext}] {Message:lj}{NewLine}{Exception}"
}
}
]
}
...

Altere a configuração path para o caminho do arquivo de log.

observação

Lembre-se de conceder acesso total ao usuário da aplicação na pasta de logs

Configuração do OpenID Connect​

A seção Oidc configura o servidor OpenID Connect, necessário para o gerenciamento de usuários. É necessária uma subscription do GrantID.

Você pode usar uma subscription SaaS em grantid.com ou executar sua própria instância do GrantID.

  • Authority: a authority OIDC (ex.: https://patorum.grantid.com)
  • ApiEndpoint: o endpoint da API do servidor OIDC (ex.: https://api.grantid.com)
  • ApiName: o escopo de API que será exigido nos tokens de acesso
  • ClientAppId: o client id do aplicativo do painel
  • AppId: o client id do aplicativo de backend
  • AppSecret: o client secret do aplicativo de backend
  • RequireHttps (opcional): defina como false se o servidor OIDC não usar HTTPS

Veja a página Configurando uma aplicação SPA para saber como obter esses valores.

PKI Suite​

Na seção PkiSuite:

  • SdkLicense: sua licença do PKI SDK, no formato Base64 (obrigatório)
  • WebLicense: sua licença do componente Web PKI no formato binário (Base64). Necessária apenas se os usuários forem emitir certificados em seus computadores (procedimento de emissão pela web)
  • WebBrand: se você tiver uma setup brand personalizada no Web PKI, defina-a aqui

Configurações gerais​

Em seguida, na seção General:

  • SiteName: o nome desta instância. Ele é usado nos documentos e e-mails gerados
  • SiteUrl: URL publicamente acessível do site (ex.: https://signer.patorum.com/). Este endereço é usado para compor e-mails com links de volta para o site
  • AutoUpdateDatabase: por padrão, a aplicação tenta fazer as alterações de modelo no banco de dados após uma atualização (quando necessário). Defina como false se a aplicação não tiver permissões de proprietário sobre o banco de dados
  • SupportEmailAddress: o endereço de e-mail de suporte (usado no rodapé dos e-mails enviados)

Configuração de bindings​

  • UseReverseProxy: defina como true se a instância for executada atrás de um proxy reverso ou balanceador de carga. Caso contrário, pode ser omitida.

Envio de e-mail​

Na seção Email:

  • Enabled: por padrão, o envio de e-mail está habilitado. Para desabilitá-lo, defina esta configuração como false e ignore o restante desta seção
  • ServerHost: hostname do servidor SMTP
  • EnableSsl: por padrão, a conversação SMTP é feita sobre SSL. Para desabilitar o SSL, defina esta configuração como false
  • ServerPort: por padrão, a conversação SMTP é feita pela porta 587. Defina esta configuração para usar outra porta
  • Username e Password: se o servidor SMTP exigir autenticação, defina estas configurações
  • SenderAddress: endereço de e-mail a ser usado como remetente (campo from)
  • SenderName: nome a ser usado como nome do remetente (opcional)

Configurações adicionais​

Outras configurações podem ser encontradas na página Configurações do Signer.

Iniciando a aplicação​

  1. Inicie o site no IIS
  2. Acesse a URL do site

Atualizando a aplicação​

Antes de atualizar sua instância, recomendamos consultar o Changelog para ver o que mudou da sua versão atual até a mais recente disponível.

Se alguma das versões incluídas na atualização tiver alterações no modelo do banco de dados ("Atualiza modelo de banco de dados: sim"), proceda com cuidado, pois a instância tentará atualizar o banco de dados na inicialização.

Nesse cenário, recomendamos escolher uma das seguintes opções:

  • Reduzir o número de instâncias para 1 (se você tiver vários servidores).
  • Permitir que apenas uma instância atualize o banco de dados. Para isso, adicione ou edite as seguintes configurações em todas as instâncias, exceto uma:
"General": {
"ProcessBackgroundJobs": "false",
"AutoUpdateDatabase": "false"
}

Procedimento de atualização​

  1. Pare o site no Gerenciador do IIS.
  2. Faça um backup do banco de dados e da pasta do site.
  3. Baixe o novo pacote de binários e extraia o conteúdo para a pasta do site, sobrescrevendo todos os arquivos.
  4. Faça as alterações necessárias no arquivo appsettings.iis.json.
  5. Inicie o site no Gerenciador do IIS.
observação

O arquivo appsettings.iis.json com as configurações da sua instância será preservado, porque o pacote não contém nenhum arquivo com esse nome.

Veja também​

Ver em Markdown