Destina-se ao setor de TI da empresa ou responsável por instalar o sistema.
Este documento tem o objetivo de mostrar o procedimento passo-a-passo de como estruturar e instalar um pacote do sistema.
Com este documento, será possível fazer a instalação do sistema através de um novo pacote, seguindo a nova estrutura e padronização de diretórios, procurando deixar a instalação mais prática independente de onde for instalado. É de extrema importância que seja feito um backup do sistema antes de continuar com o processo.
Para o ambiente SQL Server, será necessário instalar o pacote do .NET e React para a execução das novas aplicações.
Endereço do .NET para download:
Baixar .NET 8.0 (Linux, macOS e Windows) (https://dotnet.microsoft.com/pt-br/download/dotnet/8.0)
Escolher a versão, efetuar o download e executar o instalador;
Após a instalação verificar se a referência do donet encontra-se nas variáveis de ambiente;
Siga os passos padrões de instalação e verifique se foi instalado em 'C:\Program Files\iisnode\', após isso execute o arquivo .\setupsamples.bat para criar as templates node.js
O primeiro passo é definir o diretório onde ficará o(s) pacote(s). Por padrão, o caminho para colocar e extrair o pacote é o seguinte:
C:/inetpub/wwwisocrm/isocrm
*Caso o diretório não exista, criar.
**Caso o cliente tenha definido um nome, utilizar o nome definido.
***Caso exista mais de uma aplicação no servidor(Ex: produção e homologação), identificar no diretório.
****O diretório onde estarão as aplicações não pode estar sendo monitorado pelo antivírus.
Como exemplo, no diretório mostrado acima, está a aplicação de homologação. Como ela está no mesmo servidor de outras aplicações, foi necessário identifica-la, por isso o nome do diretório "isocrmhomol".
O nome do diretório da aplicação deverá ser "app".
Após configuração e apontamento do pacote para o banco de dados, será necessário criar os componentes dentro do IIS e apontá-los para o pacote. Porém algumas aplicações utilizam uma versão de diferente de pool.
Será necessário criar os seguintes pool's:
Application Pool .Net Framework. Utilizar nas seguintes aplicações:
isocrm;
isocrmclassic;
isocrmnucleo;
Application Pool .Net (Net Core) Utilizar nas seguintes aplicações:
isocrmapi;
isocrmbi;
isocrmisobot;
isocrmws;
isocrmintegraws;
isocrmisoapi;
isocrmmodern;
isocrmreact;
Após criar as pools, será necessário criar o website da aplicação, onde serão criados e apontados as "amarrações" das pastas correspondentes do pacote extraído anteriormente.
A configuração do "Binding" pode ser feito depois, caso não consiga ser configurado nesse primeiro momento.
Após a criação do website, será necessário criar as aplicações que vincularão com as pastas do pacote. Ao criar uma aplicação, é necessário informar o nome da aplicação, a pool que ele utilizará e o diretório no pacote(irá mudar conforme a aplicação).
As aplicações a serem criadas são as seguintes:
Conforme o exemplo ao lado, serão criados os seguintes 10 websites:
isocrm -> utilizará a pool principal no diretório ..\app\web;
isocrmapi-> utilizará a pool isocrmnet no diretório ..\app\isoCRM_api;
isocrmbi -> utilizará a pool isocrmnet no diretório ..\app\isoCRM_BI;
isocrmbot -> utilizará a pool isocrmnet no diretório ..\app\isoCRM_isoBot;
isocrmmodern -> utilizará a pool isocrmnet no diretório ..\app\isoCRM_modern;
isocrmnucleo -> utilizará a pool principal no diretório ..\app\isoCRM_Nucleo\web;
isocrmws -> utilizará a pool isocrmnet no diretório ..\app\isoCRM_WS.
isocrmintegraws-> utilizará a pool isocrmnet no diretório ..\app\isoCRM_IntegraWS. (A partir da versão 17.0.0 R45 B2)
isocrmisoapi -> utilizará a pool isocrmnet no diretório ..\app\isoCRM_isoAPI. (A partir da versão 17.0.0 R45 B2)
isocrmclassic -> utilizará a pool principal no diretório..\app\isoCRM_classic. (A partir da versão 17.0.0 R45 b1)
isocrmreact -> utilizará a pool isocrmnet no diretório ..\app\isoCRM_react. (A partir da versão 17.0.0 R48 B1)
O objetivo dessas nomeações é ter o máximo de configurações padronizadas, evitando erros de apontamento e facilitando o processo de instalação e/ou atualização dos pacotes.
O URL Rewrite é um componente do IIS que deve ser instalado como parte da configuração.
Para fazer a instalação deste componente, é necessário ter o Web Plataform do IIS instalado. Para isso, basta acessar no menu lateral direito a seguinte opção conforme a imagem:
Na tela do Web Plataform, buscar "URL rewrite" no campo de pesquisa de componentes no canto superior direito.
Após encontrá-lo, basta selecioná-lo e clicar em "Install" no canto inferior direito para concluir a instalação.
Seguir a documentação para efetuar as atualizações do banco de dados.
Atualização de views/funções
**Depois de rodar os scripts padrões, verificar manualmente se existem scripts específicos do cliente, identificado pelas pastas com o nome dos mesmos.
Entrando no diretório do pacote recém extraído será feito o apontamento do banco de dados:
Acesse a pasta isoCRM_Config
Procure pela aplicação isoCentralConfiguracao.exe e execute.
Documentação completa: (NOVO Configdb)
A seguinte tela será exibida
Caso seja necessário instalar a aplicação de integração, isoCRM_Integracao (via tabelas), em base diferente do padrão. Altere as informações de conexões e selecione somente a aplicação que deseja alterar.
Após configurar a aplicação, será necessário criar os agendamentos dos motores da aplicação. Para isso, abra o Task Scheduler.
Clicando em Nova Tarefa, será aberta a tela de configuração da mesma:
Na aba General é configurado o nome do agendamento e sua prioridade.
Na aba Triggers é criado o gatilho de agendamento automático, fazendo com que seja disparado automáticamente.
Por padrão é criado o agendamento diário para ser ligado às 08:00h da manhã, podendo variar conforme necessidade.
*alguns motores não possuem o agendamento, pois são ligados apenas em situações específicas.
Na aba Actions será definido o arquivo a ser rodado no agendamento.
Será selecionado o arquivo do motor no diretório da aplicação no campo "Program/script".
No campo "Start in" deve se colocar o caminho até o "..\motor" para que o arquivo do motor funcione no agendamento.
Para a execução dos motores em .NET é necessário utilizar o comando "dotnet", seguido da "dll" referente ao motor de execução e os parâmetros necessário, conforme exemplo:
dotnet apisomotorwfnew.dll 1 WF 123 10 23:59 S
Esse é um exemplo de motor sendo executado a partir de um arquivo ".bat" , devido a padronização, esse mesmo motor funcionaria em qualquer aplicação sem precisar mexer no direcionamento manual do mesmo, facilitando ainda mais o processo.
Na configuração dos bindings, quando for necessário adicionar um DNS, o prefixo desse DNS tambem deverá ter o nome da aplicação, conforme o print abaixo:
Outra configuração que pode ser necessária durante a instalação, é a liberação de total acesso (via propriedades) para dois usuários do servidor do diretório wwwisocrm: IUSR e IIS_IUSRS.
É possível configurar um redirecionamento, para que não seja necessário inserir o url inteiro para que seja redirecionado para a tela inicial do isoCRM. Para isso, no IIS, clique no site que deseja adicionar o redirecionamento e clique em "Redirecionamento HTTP" conforme a imagem a seguir:
Na tela que abrir, será necessário marcar a opção de redirecionamento e adicionar exatamente esse caminho(que deve ser padrão para todas as aplicações isoCRM): "/isocrmmodern/#principal"
O objetivo dessa configuração é aliviar o processamento do antivirus e impedir que ele barre algum arquivo erroneamente nos diretórios do isoCRM. Para isso, no "Iniciar", digitar "virus" e clicar na primeira opção "Proteção contra virús e ameaças".
Após acessar as seguintes opções, adicionar todos os diretórios de aplicação ou banco de dados do isoCRM, como por exemplo:
Essa configuração é para ajustar a prioridade e o horário da varredura automática do windows defender, alterando ela pra um momento onde caso exista um atraso, não há a possibilidade de ser feita durante uso do ambiente, evitando lentidões.
Para isso acesse o Agendador de tarefas e vá nos diretórios laterais: Task Scheduler Library -> Microsoft -> Windows -> Windows Defender(clique nessa opção).
Ao abrir os agendamentos do Windows Defender, clique na opção Windows Defender Scheduled Scan, conforme o print e vá em propriedades.
Na aba General, desmarcar a opção para rodar com privilégios altos.
Na aba Trigger, mudar o horário de execução para 22h(10PM).
Na aba Conditions, desmarcar as opções de começar a tarefa quando o computador estiver ocioso, e a opção de começar apenas começar a tarefa quando o computador estiver energizado.
CASO dentro da pasta "bin" do diretório Motor ou isoCRM_Integracao contenha o arquivo location.xml, deverá ser feito alterações dentro dele.
Para isso abra o arquivo para edição e localize a seguinte tag:
<BaseURL>/isocrmhomol/</BaseURL>
Altere o conteúdo central da tag para, por exemplo:
<BaseURL>/ExemploCliente/</BaseURL>
O nome inserido deve ser o nome do diretório virtual da aplicação de PRODUÇÃO do cliente em questão.
Caso utilize os motores de integração, apontar para a aplicação isocrmintegraws conforme exemplo:
<BaseURL>/isocrmintegraws/</BaseURL>
Para o registro de log do sistema é necessário configurar os seguintes arquivos:
log.client - Esse log e usado para registrar o log de execução da aplicação. O arquivo está dentro da raiz do diretório da aplicação. Ex.: app\isoCRM_WS
Definir o nome do arquivo de log que será gerado. Por padrão é gerado o arquivo client.log.
Esse arquivo é gerado dentro da pasta \bin da aplicação para ambiente NetCore. Para ambientes .NET Framework o log será gerado dentro da pasta raiz da aplicação.
Dentro da estrutura <root> alterar o valor de ERROR para ALL
stdoutLogFile - O uso do log stdout só é recomendado para solucionar problemas de inicialização de aplicativo ao hospedar no IIS. A configuração é feita dentro do arquivo web.config.
Para ativar o log é necessário alterar a tag stdoutLogEnabled para true e definir o diretório onde o log será gerado na tag stdoutLogFile.