---
title: "Signer - Setup em Windows Server"
description: "Como instalar uma instância on-premises do Signer em Windows Server com IIS: pacote de binários, pré-requisitos, requisitos do banco de dados e passos de instalação."
canonical: "https://docs.lacunasoftware.com/articles/signer/on-premises/windows"
locale: "pt-BR"
product: "Signer"
last_updated: "2026-10-12"
---

# 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](https://cdn.lacunasoftware.com/signer/signer-2.22.1.zip)**

## 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](https://docs.lacunasoftware.com/articles/signer/on-premises/prepare-database).

## Instalação

1. Instale o IIS
1. Instale o [NET 8.0 Hosting Bundle](https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-aspnetcore-8.0.15-windows-hosting-bundle-installer)
1. Crie a pasta do site do IIS. Exemplo: `C:\inetpub\Signer`
1. Crie a pasta dos logs. Exemplo: `C:\Logs`
1. Crie o site no IIS
1. 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](https://docs.lacunasoftware.com/images/windows/no-managed-code.png)
   * Selecione **Configurações Avançadas** e defina **Carregar Perfil do Usuário** como `True`

     ![Carregar perfil do usuário](https://docs.lacunasoftware.com/images/windows/load-user-profile.png)

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

```json
...
"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:

```text
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:

```json
...
"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](https://docs.lacunasoftware.com/articles/grant-id).

Você pode usar uma *subscription* SaaS em [grantid.com](https://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](https://docs.lacunasoftware.com/articles/grant-id/on-premises/configure-spa-app) 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](https://docs.lacunasoftware.com/articles/signer/on-premises/settings).

## Iniciando a aplicação

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

## Atualizando a aplicação

Antes de atualizar sua instância, recomendamos consultar o [Changelog](https://docs.lacunasoftware.com/articles/signer/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:

```json
"General": {
	"ProcessBackgroundJobs": "false",
	"AutoUpdateDatabase": "false"
}
```

### Procedimento de atualização

1. Pare o site no Gerenciador do IIS.
1. Faça um backup do banco de dados e da pasta do site.
1. Baixe o novo pacote de binários e extraia o conteúdo para a pasta do site, sobrescrevendo todos os arquivos.
1. Faça as alterações necessárias no arquivo `appsettings.iis.json`.
1. 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

* [Configurações](https://docs.lacunasoftware.com/articles/signer/on-premises/settings)
* [Controle de acesso](https://docs.lacunasoftware.com/articles/signer/on-premises/access-control)
* [Personalização](https://docs.lacunasoftware.com/articles/signer/on-premises/customization)
