Меню

Instalação e configuração do PIX Master


Instalação e configuração do PIX Master em um servidor Windows

Configuração do servidor necessária antes da instalação do PIX Master
Instalação do IIS
Primeiro, no servidor recém-criado, você deve habilitar a disponibilidade do IIS para configuração. Se o IIS já estiver disponível, esta seção pode ser pulada.
(1) No Gerente do Servidor, clique no botão "Adicionar funções e componentes":
(2) Continuar com a configuração
(3) Habilitando a configuração do IIS
Para trabalhar com AD você também deve ativar "Serviços IIS"-"Serviços de Internet". - Segurança" - "Autenticação Windows".
(4) Concluir a instalação dos componentes.
Instalando o .Net Core
O PIX Master requer o pacote de hospedagem .Net Core.
Faça o download do pacote de distribuição aqui:
- Para versões abaixo de 1.19.4: .NET Core 3.0
- Para a versão 1.19.4 e superior: .NET 6
Instalação do servidor MSSQL
((1) Baixar o instalador do MSSQL Server: Downloads do SQL Server | Microsoft
(2) Instalar a versão correta da aplicação passo a passo.
Ao instalar, certifique-se de especificar a instalação do SQL Server Management Studio.
Instalação do PIX Master usando o pacote de instalação
Você pode solicitar um link para fazer o download do master.
Inicie o pacote de instalação do PIX Master. Uma janela irá aparecer:
Clique no botão [Next], e na janela que aparece, selecione a pasta onde você deseja instalar o programa:
Clique no botão [Próximo] e na janela Opções do IIS, digite os detalhes para implantar a aplicação no IIS.
- nome da aplicação, nome do pool de aplicações e porto de aplicação.
Clique no botão "Próximo" e depois no botão "Instalar". Isto deve instalar o aplicativo na pasta especificada e o site deve ser instalado no IIS com as configurações especificadas na janela Opções do IIS.
Configuração de um projeto implantado
Para que a aplicação funcione, o caminho para seu banco de dados deve ser configurado na configuração, e o ID do pool deve ser configurado para acessar o banco de dados.
Configurando a aplicação
Vá até a pasta onde a aplicação está instalada.
Localize e abra o arquivo "appsettings.json". Ele deve ter aproximadamente o seguinte conteúdo:
{
"Provider": "MSSQL",
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\MSSQLLocalDB;Database=master_test;Trusted_Connection=True;MultipleActiveResultSets=true;Persist Security Info=False;",
"PostgreSqlConnection": "User ID=postgres;Password=1222212123;Host=localhost;Port=5432;Database=master_test;Pooling=true;"
},
"Logging": {
"LogLevel": {
"Default": "Warning",
"Hangfire": "Information"
}
},
"AllowedHosts": "*",
"PasswordValidationOptions": {
"RequiredLength": "8",
"RequireNonAlphanumeric": "true",
"RequireLowercase": "true",
"RequireUppercase": "true",
"RequireDigit": "true"
}
}
Para o parâmetro "Fornecedor", especifique o SGBD a ser utilizado.
Os valores válidos são MSSQL e PostgreSQL;

Na seção ConnectionString você deve especificar um dos parâmetros da cadeia de conexão do banco de dados: DefaultConnection se o parâmetro "Provider" estiver definido para MSSQL, ou PostgreSqlConnection se o parâmetro "Provider" estiver definido para PostgreSQL;

A seção PasswordValidationOptions contém as configurações de complexidade da senha do usuário.
Se esta seção não estiver presente no Assistente, aplicam-se as configurações padrão de complexidade da senha: o comprimento mínimo da senha é de 8 caracteres, caracteres não alfanuméricos, letras minúsculas e maiúsculas, e números são necessários;
O parâmetro ComprimentoRequerido é numérico e é responsável pelo comprimento mínimo exigido para a senha.

O parâmetro RequireNonAlphanumeric é booleano (verdadeiro/falso) e é responsável por exigir um caráter não alfanumérico na senha;
O parâmetro RequireLowercase é booleano e é responsável por exigir uma letra minúscula na senha;
O parâmetro RequireUppercase é booleano e é responsável pela exigência de uma letra maiúscula na senha;
O parâmetro RequireDigit é booleano e é responsável por exigir um número na senha.

Após alterar as configurações de complexidade da senha do usuário na configuração, o pool de aplicativos deve ser reiniciado para que as alterações entrem em vigor. Se desejar, o administrador pode solicitar uma mudança de senha para todos os usuários na seção de configuração do painel de administração para que todas as senhas atendam aos novos requisitos.
Dados de acesso do usuário administrador original:
Login: admin
Senha: Admin1Default@
Pool de aplicações e configuração de conexão de banco de dados
Configuração do pool de aplicações
Por padrão, o pool de aplicações é configurado por um período de tempo, após o qual será reiniciado, o que pode causar a desconexão dos agentes conectados. Para evitar isto, defina a opção "Intervalo de tempo constante (minutos)" para "0" no menu de configuração avançada do pool de aplicações.
Para que as chaves criptográficas do Wizard sejam armazenadas corretamente, o parâmetro "Load user profile" do pool de aplicações deve ser definido como "True".
Configuração da Identidade do Pool de Aplicações
Para que uma aplicação funcione corretamente com o MS SQL Server, sua identidade de pool deve ter direitos para trabalhar com o banco de dados.
Opção 1 - uma conta especial para identificação da piscina
Para alterar a identidade do pool de aplicativos, vá para "Configurações avançadas":
Selecione a opção "ID":
Ao clicar no botão no campo "Credenciais", aparecerá uma janela para configurar a conta: selecione "Conta especial":
Depois clique em "Instalar" e preencha os detalhes da conta existente:
Após a configuração e ajustes, selecione o botão de reciclagem:
Se o usuário configurado para autenticar o aplicativo tiver acesso ao SGBD, o banco de dados será criado automaticamente na primeira vez em que o aplicativo for iniciado.
Opção 2 - Conceder acesso ao banco de dados para o pool de aplicações
(Identidade - ApplicationPoolIdentity)
(1) Criar um novo banco de dados no MS SQL Server Managment Studio:
(2) No novo banco de dados, criar um novo usuário com nome
IIS APPPOOL<Nome da piscina a ser instalada em IIS>.
(3) Configurar um esquema [dbo] para o usuário do banco de dados.
Na aba "Membership", conceder ao usuário os direitos mostrados na figura:
(4) O mesmo usuário (com o mesmo nome) deve ser criado para acessar o SQL Server.
(5) Nas funções, somente a função pública deve ter uma caixa de seleção:
Configurando Autenticação com Active Directory
Para que a autenticação do Active Directory funcione corretamente, a autenticação deve ser configurada para o site.
Na seção "Autenticação" da configuração do site você deve ativar a autenticação do Windows, como mostrado na ilustração:
Para associar um usuário Wizard a uma conta do Active Directory, a opção "Use Active Directory authentication" deve ser ativada no menu de edição do usuário e a conta AD a ser atribuída ao usuário Wizard deve ser selecionada no menu.
Configurações de autenticação OpenID
Para que as configurações relacionadas com a integração do provedor OpenID apareçam no Wizard, a seção seguinte com as configurações do OAuth deve ser adicionada ao arquivo de configuração appsettings.json:
"OAuth": {
"AuthorizationEndpoint": "https://domain.com/authorize",
"UserInfoEndpoint": "https://domain.com/userinfo",
"TokenEndpoint": "https://domain.com/oauth/token",
"ClientId": "someId",
"ClientSecret": "someClientSecret"
}

  • AuthorizationEndpoint – endereço de autorização no provedor da OpenID
  • UserInfoEndpoint – Endereço API para recuperação de informações do usuário
  • TokenEndpoint – o endereço API para recuperar o token
  • CliendId – identificador do aplicativo no provedor OpenID
  • ClientSecret – o segredo da aplicação no provedor OpenID
No próprio provedor OpenID você pode ter que especificar um endereço de retorno de chamada. O caminho relativo para este endereço é "/openid/callback".
Se tudo estiver configurado corretamente, a configuração de integração OpenID deve aparecer no menu de edição do usuário:
Para que o usuário possa entrar usando OpenID, a opção "Use OpenID authentication" deve ser ativada e o ID do usuário deve ser especificado no sistema externo. O usuário poderá então entrar usando o botão "Use OpenID" na página de login:
A seção de configuração do Wizard.
O menu Administração contém a seção de Configuração, que é responsável pelas configurações da aplicação como um todo.
A configuração "Usar confirmação de e-mail do usuário" permite o envio de e-mails de confirmação de registro, mas os usuários com e-mail não confirmado não poderão fazer o login. Quando esta opção for ativada, todos os usuários já no sistema terão seu registro confirmado, portanto, não precisarão confirmar seu e-mail. Você deve completar as configurações na seção Configurações do Servidor de Correio para que o correio seja entregue para trabalhar.

O botão [Change Secret Key] permite alterar a chave criptográfica usada para criptografar dados do tipo Credential e senhas para outras partes do sistema armazenadas no banco de dados.

O botão [Require all users to change password] exige que todos os usuários alterem sua senha no login.
Configuração do certificado
Emissão de um certificado local
A opção 1 consiste na emissão do certificado por meio de um script.
1) PowerShell em funcionamento
2) Executar o script em sucessão (nota: é imperativo que o DNS coincida com o endereço onde o site é publicado):

# setup certificate properties including the commonName (DNSName) property for Chrome 58+
$certificate = New-SelfSignedCertificate `
-Subject pixrpa `
-DnsName VPS-2002 `
-KeyAlgorithm RSA `
-KeyLength 2048 `
-NotBefore (Get-Date) `
-NotAfter (Get-Date).AddYears(2) `
-CertStoreLocation "cert:CurrentUser\My" `
-FriendlyName "pixrpa" `
-HashAlgorithm SHA256 `
-KeyUsage DigitalSignature, KeyEncipherment, DataEncipherment `
-TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1")
$certificatePath = 'Cert:\CurrentUser\My\' + ($certificate.ThumbPrint)
# create temporary certificate path
$tmpPath = "C:\tmp"
If(!(test-path $tmpPath))
{
New-Item -ItemType Directory -Force -Path $tmpPath
}
# set certificate password here
$pfxPassword = ConvertTo-SecureString -String "11111" -Force -AsPlainText
$pfxFilePath = "c:\tmp\pixpra.pfx"
$cerFilePath = "c:\tmp\pixpra.cer"
# create pfx certificate
Export-PfxCertificate -Cert $certificatePath -FilePath $pfxFilePath -Password $pfxPassword
Export-Certificate -Cert $certificatePath -FilePath $cerFilePath
# import the pfx certificate
Import-PfxCertificate -FilePath $pfxFilePath Cert:\LocalMachine\My -Password $pfxPassword -Exportable
# trust the certificate by importing the pfx certificate into your trusted root
Import-Certificate -FilePath $cerFilePath -CertStoreLocation Cert:\CurrentUser\Root
3) O certificado criado pode agora ser carregado no IIS.
4) O certificado baixado deve ser configurado para acessar o site (ao invés do padrão).
5) Re-publicar o site e verificar a disponibilidade através de seu navegador.
Opção 2 - Emissão de certificados através da interface IIS
(1) Abra o IIS e clique no nó do servidor raiz
(2) Clicar duas vezes no componente Certificados do Servidor
Ventana principal de IIS
(3) Ir para "Emissão de Certificado Auto-assinado". (Criar Certificado Auto-assinado)
Ventana de gestión de certificados de servidor
(4) En la ventana que se abre, especifique el nombre del certificado y seleccione la ubicación de alojamiento del servicio web
Ventana de configuración del certificado que se va a crear
(5) Após clicar em "OK", você verá que o certificado aparece na lista de certificados disponíveis.
Lista de certificados disponibles
(6) Certificado deve ser definido para acessar o site (ao invés do padrão)
7) Re-publicar o site e verificar a disponibilidade através de seu navegador.
Configuração de um certificado do lado do cliente (agente)
Como a conexão é feita através de um canal seguro, antes de conectar o agente ao Wizard, você deve adicionar o certificado do Wizard aos certificados de confiança na máquina onde o agente está instalado.
(1) Verifique se o site está acessível a partir do navegador.
(2) Baixar um certificado que cause um conflito com o Chrome.
(3) Estabelece o certificado como confiável para o usuário atual.
(4) Verificar a conexão com o Mestre a partir de um agente (Agent.exe).

Instalação e configuração do PIX Master em um servidor Linux
*O assistente não funciona nas distribuições Ubuntu 22 e Centos (versões do assistente até 15 trabalhos).

Configuração do servidor necessária antes da instalação do PIX Master
Instalando os módulos .Net Core no Linux
Para instalar os módulos necessários, use um terminal (você pode pesquisar a palavra cmd na caixa de pesquisa).
Para executar os seguintes comandos, você deve ter acesso à raiz. Para isso, execute o comando "su root" na linha de comando e digite a senha root especificada ao instalar o sistema operacional.
Para instalar os módulos .Net Core na linha de comando, as seguintes operações devem ser realizadas:

sudo apt-get update
sudo apt-get install apt-transport-https
sudo apt-get update
wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y dotnet-sdk-6
Se ocorrer um erro durante a instalação dos pacotes, siga as instruções, apresentadas nas subseções de distribuições Linux do site.
Instalação e configuração do servidor Apache

sudo apt-get install apache2
Criar um certificado:

cd /etc/apache2
mkdir ssl
cd ssl
sudo openssl req -new -x509 -days 1461 -nodes -out cert.pem -keyout cert.key -subj "/C=RU/ST=Msk/L=Msk/O=YourCompany/OU=IT Department/CN=master.yourcompany.local/CN=master"
sudo a2enmod proxy_http proxy_html proxy_wstunnel ssl
sudo a2enmod rewrite
sudo systemctl restart apache2
Depois disso, você precisará criar um arquivo de configuração para instalar um proxy no Apache. Para fazer isso, execute o comando

sudo nano /etc/apache2/conf-enabled/netcore.conf
Copie o seguinte texto para o arquivo que aparece:

<VirtualHost *:443>
ServerName www.CurrentDomain.com
DocumentRoot /var/netcore
SSLEngine on
SSLCertificateFile ssl/cert.pem
SSLCertificateKeyFile ssl/cert.key
#SSLCertificateChainFile ssl/cert.ca-bundle
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:5000/
ProxyPassReverse / http://127.0.0.1:5000/
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /(.*) ws://127.0.0.1:5000/$1 [P]
ErrorLog /var/log/apache2/netcore-error.log
CustomLog /var/log/apache2/netcore-access.log common
</VirtualHost>
Em seguida, você deve reiniciar o servidor Apache digitando na linha de comando:

sudo apachectl configtest
Você deve obter o Syntax Ok. Reinicie o serviço:

sudo service apache2 restart
Verificação da condição:

sudo service apache2 status
Se bem-sucedido, o status é Ativo: ativo (em execução).
Se Parado, Falhado - a configuração deve ser verificada novamente.
Você pode verificar se o apache está instalado corretamente acessando http://localhost. Você deve ver a página de boas-vindas do Apache.
Instalando o Docker + Postgres no Linux
Instalação do Docker:

sudo apt update
sudo apt install docker.io
Você pode então trabalhar com Docker de acordo com o manual executando os comandos em modo superusuário (sudo).

Docker em funcionamento:

sudo systemctl start docker
sudo systemctl enable docker
Carga do servidor Postgres:

sudo docker pull postgres
Use o seguinte comando para iniciar automaticamente o contêiner Postgres:

sudo docker run -d --restart unless-stopped --name pix-postgres -e POSTGRES_PASSWORD=123456789 -d -p 5432:5432 -v $HOME/docker/volumes/postgres:/var/lib/postgresql/data postgres
Configuração de uma aplicação implantadaConfiguración de una aplicación desplegada
Para que a aplicação funcione, o caminho para seu banco de dados deve ser configurado na configuração e uma pasta deve ser especificada para armazenar as chaves criptográficas.

Definir a configuração da aplicação
Vá até a pasta onde o aplicativo está instalado e abra o arquivo appsettings.json.
Ele deve ter aproximadamente o seguinte conteúdo:

{
"Provider": "PostgreSQL",
"CryptographyKeysFolder": "Keys",
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\MSSQLLocalDB;Database=master_test;Trusted_Connection=True;MultipleActiveResultSets=true;Persist Security Info=False;",
"PostgreSqlConnection": "User ID=postgres;Password=123456789;Host=localhost;Port=5432;Database=master_test;Pooling=true;"
},
"Logging": {
"LogLevel": {
"Default": "Warning",
"Hangfire": "Information"
}
},
"AllowedHosts": "*",
"PasswordValidationOptions": {
"RequiredLength": "8",
"RequireNonAlphanumeric": "true",
"RequireLowercase": "true",
"RequireUppercase": "true",
"RequireDigit": "true"
},
"UseSwagger": "false"
}
A chave do Provedor especifica o SGBD (sistema de gerenciamento de banco de dados) a ser utilizado: MSSQL ou PostgreSQL.

Em ConnectionStrings para a chave PostgreSqlConnection, você deve especificar a seqüência de conexão do banco de dados.

DEBE! Na chave CryptographyKeysFolder, você deve especificar o caminho para a pasta onde as chaves criptográficas serão armazenadas. Além disso, em algumas distribuições, deve ser dado acesso por escrito. A maneira mais fácil:

sudo chmod 777 ./{nombre de la carpeta de claves}
#Al especificar un nombre de carpeta, no se coloca "{}".
Este artigo é específico apenas para o Linux.
Configurar e executar o serviço
Você pode mover a pasta com o projeto publicado usando o comando:

sudo cp -a <folder> <target folder>
<pasta> é o caminho da pasta para migrar, < pasta de destino> é o caminho onde a aplicação será implantada.
O exemplo seguinte utilizará /var/netcore/ como pasta de trabalho da aplicação.

Por exemplo:

sudo cp -a /home/user/pix-master/ /var/netcore
Um arquivo de serviço pode ser criado usando o seguinte comando:

sudo nano /etc/systemd/system/Master.service
# Master.service – название сервиса для проекта.
Los siguientes datos deben copiarse en este archivo:

[Unit]
Description=ASP .NET Web Application
[Service]
#Especifique la ruta del directorio donde está instalado el Asistente
WorkingDirectory=/var/netcore
ExecStart=/usr/bin/dotnet /var/netcore/Master.dll
Restart=always
RestartSec=10
SyslogIdentifier=netcore-demo
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
Em seguida, você deve iniciar o serviço usando os seguintes comandos:

sudo systemctl enable Master.service
sudo systemctl start Master.service

Agora é possível acessar a aplicação através do porto 5000.
Verifique o status:

sudo service apache2 status
Se bem-sucedido, o status é Ativo: ativo (em execução).
Você pode executar o seguinte comando para recuperar os dados de serviço:

sudo journalctl -fu Master.service
Detalhes de login predefinidos:
Login: admin
Senha:: Admin1Default@