Instalação do Amplia em Windows Server
Para instalar uma instância on premises do Amplia no Windows Server, siga os passos abaixo. Para outras plataformas, clique aqui.
Tip
Antes de começar, leia a seção Planejamento antes da instalação.
Pré-requisitos
- Windows Server 2016 ou mais recente (qualquer edição)
- SQL Server 2016 ou mais recente (recomendada edição Standard ou superior)
- Licença PKI SDK (no formato Base64)
- Licença Web PKI (formato Base64/binário) -- necessário apenas se os usuários forem emitir certificados em seus computadores (procedimento de emissão na web)
- Entradas de DNS criadas anteriormente para:
- Acesso ao painel de controle (veja Domínio de acesso ao painel de controle)
- Publicação de LCRs (veja Domínios de acesso)
- (recomendado) Certificado SSL válido para o domínio de acesso ao painel de controle
- Connection string para um banco de dados SQL Server ou PostgreSQL criado previamente
Instalação
- Instale IIS
- https://aka.ms/dotnetcore-3-1-windowshosting
- Criar pasta para site
- Criar pasta para logs
Criar site
- Não definir código gerenciado
Definir o perfil do usuário de carregamento para
True
Extrair arquivos.
Configuração
Na pasta de instalação, renomeie o arquivo appsettings.iis-template.json para appsettings.iis.json (remova o sufixo -template
). Então, edite o arquivo para configurar a instância do Amplia.
Connection string do banco de dados
Na seção ConnectionStrings, na configuração DefaultConnection, defina a cadeia de conexão para o banco de dados criado anteriormente. Uma string de conexão típica é assim:
Data Source=SERVER;Initial Catalog=DATABASE;User ID=USERNAME;Password=PASSWORD
Note
Se você criou 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 registro do aplicativo:
...
"Serilog": {
"MinimumLevel": {
"Default": "Warning",
},
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "C:\\Logs\\Amplia.log",
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] [{SourceContext}] {Message:lj}{NewLine}{Exception}",
}
}
],
}
...
Altere a configuração do path para outra pasta de log.
Note
Lembre-se de conceder acesso total ao usuário do aplicativo na pasta de log.
Configurações General
Na seção General:
- SiteUrl: URL publicamente acessível do site (ex.:
https://ca.patorum.com/
). Este endereço é usado para compor emails com links de volta ao site. - EncryptionKey: chave 256 bits usada para criptografar segredos temporiários emitidos pelo site e chaves armazenamento de chaves em banco de dados. Veja abaixo como gerar essa chave.
- AutoUpdateDatabase: Por padrão, o aplicativo tenta realizar alterações de modelo no banco de dados após uma atualização (quando necessário). Defina como
false
se o aplicativo não tiver permissões de proprietário sobre o banco de dados. - SupportEmailAdress: o endereço de e-mail de suporte (usado no rodapé dos e-mails enviados)
Para gerar a EncryptionKey, execute o seguinte em um Powershell:
$k = New-Object byte[] 32;
[System.Security.Cryptography.RandomNumberGenerator]::Create().GetBytes($k);
[Convert]::ToBase64String($k);
Bindings
Na seção Bindings
- HttpsMode: por padrão, o painel e as REST APIs só podem ser acessados por meio de HTTPS, que é o comportamento recomendado se você tiver um certificado SSL válido.
- Se você não tiver um certificado SSL válido, definir esta configuração como
Optional
. Os usuários que acessam o painel não serão redirecionados para HTTPS, e as REST APIs poderão ser acessadas por meio de HTTP. - Se você tiver um certificado SSL válido, mas alguns aplicativos clientes herdados não o
reconhecerem, defina essa configuração como
RedirectPages
. As REST APIs ainda estarão acessíveis por meio do HTTP (como no modoOpcional
), mas os usuários que acessam o painel serão redirecionados para o HTTPS.
- Se você não tiver um certificado SSL válido, definir esta configuração como
- SslPort: por padrão, os usuários que acessam o painel por meio de HTTP são redirecionados para HTTPS na porta TCP padrão 43. Se o site estiver usando HTTPS em uma porta não padrão, defina-o aqui.
Configuração Amplia
Na seção Amplia
- DatabaseKeyStoreEnabled: para habilitar o Armazenamento de chaves em banco de dados, definir como
true
. - DefaultKeyStore: o armazenamento de chaves padrão no qual criar novas chaves (veja Aramzenamento de chaves)
- DefaultAccessDomains: domínios a serem usados ao compor os pontos de distribuição da LCR (veja Domínios de acesso)
File storage
Para manter o banco de dados organizado, o Amplia armazena arquivos fora do banco de dados. Os arquivos podem ser armazenados em provedores diferentes.
Na seção Storage configura o armazenamento de arquivos. A configuração Type define qual provedor deve ser usado e as configurações restantes dependem do provedor escolhido:
- File system
- Type: definir esta configuração como
FileSystem
para armazenar arquivos no sistema de arquivos locais - Path: defina o caminho da pasta na qual armazenar arquivos. Certifique-se de que o aplicativo tenha acesso à pasta
- Type: definir esta configuração como
- Azure Storage
- Type: definir esta configuração como
Azure
para armazenar arquivos em uma conta Azure Storage - ConnectionString: fornecer uma string de conexão para a outra
- ContainerName: o nome do contêiner de blob no qual armazenar arquivos
- Type: definir esta configuração como
- Amazon S3 (em breve, entre em contato conosco se você precisar)
PKI Suite
Na seção PKI Suite:
- SdkLicense: sua licença para PKI SDK, no formato Base64 (obrigatório)
- WebLicense: sua licença para o componente Web PKI no formato binário (Base64). Somente obrigatório se usuário vai emitir certificados em seus computadores (procedimento de emissão web)
Envio de email
Na seção Email:
- Enabled: por padrão, o envio de email está habilitado. Para desabilitar, 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 é executada por SSL. Para desativar o SSL, defina essa configuração como
false
- ServerPort: Por padrão, a conversação SMTP é realizada pela porta 587. Defina esta configuração para usar uma porta diferente
- Username ou Password: se o servidor SMTP exigir autenticação, defina essas configurações
- SenderAddress: endereço de e-mail a ser usado como remetente (do campo)
- SenderName: nome a ser usado como o nome do remetente (opcional)
Configuração Open ID Connect
A seção Oidc configura o servidor de Open ID Connect, necessário para habilitar a gerência de usuários. Por ora, deixe a configuração
Enabled em false
e utilize a senha de root para se autenticar no painel de controle. Após a instalação, caso deseje, veja o artigo
Configuração de OpenID Connect.
Envio de SMS
Se os usuários emitirem certificados (procedimento de emissão pela Web ou móvel), será necessária uma confirmação por SMS para confirmar a identidade do usuário durante o procedimento de emissão do certificado. Mensagens SMS podem ser enviadas usando provedores diferentes
A seção SMS configura o envio de SMS. A configuração Type define qual provedor deve ser usado e as configurações restantes dependem do provedor escolhido:
- Twilio
- Type: definir esta configuração para
Twilio
para enviar mensagens SMS usando o Twilio - MessageFrom: o número de telefone do remetente fornecido por Twilio (ex.:
+55125550000
) - AccountSid: a conta SID, fornecida pelo Twilio
- AuthToken: o token de autenticação, fornecido pelo Twilio
- Type: definir esta configuração para
- TotalVoice
- Type: definir esta configuração para
TotalVoice
para enviar mensagens SMS usando o TotalVoice - AccessToken: o token de acesso, fornecido pelo TotalVoice
- Type: definir esta configuração para
Configuração Key store
Na seção KeyStores, cada chave é o nome de um armazenamento de chaves, tendo como valor uma seção com a configuração do armazenamento de chaves. Por exemplo:
...
"KeyStores": {
"Store1": {
"Type": "...",
"Setting1": "...",
"Setting2": "..."
},
"Store2": {
"Type": "...",
"Setting1": "...",
"Setting2": "...",
"Setting3": "..."
},
}
...
A configuração Type em cada configuração de armazenamento de chaves define o tipo de armazenamento de chaves e as configurações restantes dependem do provedor escolhido. Veja este artigo Configuração de Key Store para detalhes.
Iniciando o aplicativo
- Iniciar o site
- Acesse o site