Commit fb0705da86f39eeb913dd8f832c8cf748c542704

Authored by Guilherme Andrade Del Cantoni
1 parent 224153e3

Atualização do roteiro de instalação e configuração do módulo

Showing 1 changed file with 118 additions and 72 deletions   Show diff stats
1 ======================================================================================================================================== 1 ========================================================================================================================================
2 Módulo PEN 2 Módulo PEN
3 Data de criação: 27/05/2016 3 Data de criação: 27/05/2016
4 -Data de atualizaçao: 20/07/2016 4 +Data de atualizaçao: 09/08/2017
5 Desenvolvimento: Join Tecnologia 5 Desenvolvimento: Join Tecnologia
6 Versão: 0.0.3 6 Versão: 0.0.3
7 ======================================================================================================================================= 7 =======================================================================================================================================
@@ -11,24 +11,34 @@ PROCEDIMENTOS PARA INSTALAÇÃO: @@ -11,24 +11,34 @@ PROCEDIMENTOS PARA INSTALAÇÃO:
11 ======================================================================================================================================== 11 ========================================================================================================================================
12 12
13 REQUISITOS PARA INSTALAÇÂO: 13 REQUISITOS PARA INSTALAÇÂO:
14 - - SEI 2.6.0.A9 instalada (verificar valor da constante de versão do SEI no arquivo sei/SEI.php).  
15 - - O usuário de acesso ao banco de dados do SEI e SIP, constante nos arquivos ConfiguracaoSEI.php e ConfiguracaoSip.php, deverá ter permissão de acesso total ao banco de dados, permitindo, por exemplo, criação e exclusão de tabelas.  
16 - - *** Até que as alterações realizadas no CORE do SEI sejam incluídas na versão de referencia (TRF4), os arquivos de codigo-fonte enviados juntamente com este modulo (arquivos_core_sei.tar.gz) deverão sobrescrever os arquivos existentes. Portanto, comece realizando este passo. *** 14 + - SEI 3.0.6 instalada (verificar valor da constante de versão do SEI no arquivo sei/SEI.php).
  15 + - O usuário de acesso ao banco de dados do SEI e SIP, constante nos arquivos ConfiguracaoSEI.php e ConfiguracaoSip.php, deverá ter permissão de acesso total ao banco de dados.
17 16
18 17
19 PROCEDIMENTOS PARA INSTALAÇÂO: 18 PROCEDIMENTOS PARA INSTALAÇÂO:
20 19
21 - 1) Fazer backup dos banco de dados do SEI e SIP e do filesystem. 20 + 1) Fazer backup dos banco de dados do SEI, SIP e repositórios de arquivos.
22 21
23 - 2) Instalar o gearmand e o supervisord no servidor que será responsável por tratar o agendamento de tarefas no sistema. É recomendado que seja no mesmo nó em que está configurado o CRON de agendamento principal do SEI. 22 + 2) Configurar a cadeia de certificados do ICP-BRASIL como confiáveis nos nós de aplicação do SEI.
  23 + Como todas as comunicações realizadas com o ConectaGov utilizarão conexão segura via HTTPS com certificados digitais emitidos pela cadeia do ICP-Brasil, os servidores de aplicação precisam ser configurados para reconhecer esta cadeia como confiável, o que não é padrão nos sistemas operacionais atuais. Com isto, os seguintes comandos precisam ser executados em cada nós de aplicação do SEI, incluindo aquele responsável pelo tratamento das tarefas agendadas:
  24 + 2.1) Copie o certificado da cadeia de CA utilizado pelo ConectaGov para o diretório /usr/local/share/ca-certificates
  25 + cp <CERTIFICADO-CA-ICP-BRASIL> /usr/local/share/ca-certificates
  26 +
  27 + 2.2) Efetue a atualização da lista de certificados confiáveis do SO
  28 + sudo update-ca-certificates
  29 +
  30 + 3) Instalar o gearmand e o supervisord no servidor responsável por tratar o agendamento de tarefas do sistema.
  31 + Importante: É imprescindível que seja no mesmo nó em que está configurado o CRON de agendamento principal do SEI.
24 32
25 # Pre-requisito. Caso contrario, os demais pacotes nao sao encontrados no CentOS7 33 # Pre-requisito. Caso contrario, os demais pacotes nao sao encontrados no CentOS7
26 - yum install epel-release 34 + yum install epel-release && yum update
27 35
28 - # Instalação do Gearman e supervisord 36 + # Instalação do Gearman e supervisord
29 yum install supervisor gearmand libgearman libgearman-devel php-pecl-gearman 37 yum install supervisor gearmand libgearman libgearman-devel php-pecl-gearman
30 -  
31 - 3) Configuração do supervisor. No parametro 'user' abaixo deve ser configurado o usuario que executa o servidor web (verifique no seu servidor qual é o usuario. Ex.: apache) 38 +
  39 +
  40 + 4) Configuração do supervisor.
  41 + No parametro 'user' abaixo deve ser configurado o usuario que executa o servidor web (verifique no seu servidor qual é o usuario. Ex.: apache)
32 42
33 vi /etc/supervisord.conf 43 vi /etc/supervisord.conf
34 44
@@ -37,27 +47,49 @@ PROCEDIMENTOS PARA INSTALAÇÂO: @@ -37,27 +47,49 @@ PROCEDIMENTOS PARA INSTALAÇÂO:
37 [program:sei_processar_pendencias] 47 [program:sei_processar_pendencias]
38 command=/usr/bin/php -c /etc/php.ini /opt/sei/web/modulos/pen/rn/ProcessarPendenciasRN.php 48 command=/usr/bin/php -c /etc/php.ini /opt/sei/web/modulos/pen/rn/ProcessarPendenciasRN.php
39 numprocs=1 49 numprocs=1
40 - directory=/var/www/html/sei/  
41 - user=XXXXX 50 + directory=/opt/sei/web
  51 + user=<USUÁRIO DO APACHE:apache>
42 autostart=true 52 autostart=true
43 autorestart=true 53 autorestart=true
44 - stdout_logfile=/tmp/sei.log  
45 - stdout_logfile_maxbytes=1MB  
46 - stderr_logfile=/tmp/sei_error.log  
47 - stderr_logfile_maxbytes=1MB 54 + log_stderr=true
  55 + stdout_logfile=/var/log/supervisor/sei-supervisord-stdout.log
  56 + stderr_logfile=/var/log/supervisor/sei-supervisord-stderr.log
48 57
49 [program:sei_monitorar_pendencias] 58 [program:sei_monitorar_pendencias]
50 command=/usr/bin/php -c /etc/php.ini /opt/sei/web/modulos/pen/rn/PendenciasTramiteRN.php 59 command=/usr/bin/php -c /etc/php.ini /opt/sei/web/modulos/pen/rn/PendenciasTramiteRN.php
51 numprocs=1 60 numprocs=1
52 - directory=/var/www/html/sei/  
53 - user=XXXXX 61 + directory=/opt/sei/web
  62 + user=<USUÁRIO DO APACHE:apache>
54 autostart=true 63 autostart=true
55 autorestart=true 64 autorestart=true
56 - stdout_logfile=/tmp/sei.log  
57 - stdout_logfile_maxbytes=1MB  
58 - stderr_logfile=/tmp/sei_error.log 65 + log_stderr=true
  66 + stdout_logfile=/var/log/supervisor/sei-supervisord-stdout.log
  67 + stderr_logfile=/var/log/supervisor/sei-supervisord-stderr.log
  68 +
  69 + 5) Iniciar Gearman e Supervisor
  70 + service gearmand start && service supervisord start
  71 +
  72 + * Executar o comando "ps -ef" e verificar se os dois processos seguintes estão em execução:
  73 + - /usr/bin/php -c /etc/php.ini /var/www/html/sei/institucional/pen/rn/PendenciasTramiteRN.php
  74 + - /usr/bin/php -c /etc/php.ini /var/www/html/sei/institucional/pen/rn/ProcessarPendenciasRN.php
  75 + Caso não esteja houve algum problema de configuração e a expedição de processos não irá funcionar.
  76 +
  77 + * Importante colocar o serviço para ser iniciado automaticamente juntamente com o servidor.
  78 +
  79 +
  80 + 6) Configurar agendamento de tarefas reinicialização de serviços caso se identifique os serviços estão indisponíveis
  81 + Esta configuração é recomendada como contingência em conjunto com o Supervisor para garantir que os serviços de integração não serão desativados em caso de indisponíbilidade momentânea da infraestrutura do ConectaGov.
  82 +
  83 + No mesmo servidor em que está instalado/configurado o supervisor e gearman (passo 3), configurar o script verificar-servicos.sh, localizado na raiz do módulo, no serviço de agendamento CRON. Sugerimos que o tempo de monitoramento e tentativa de reativação seja configurado em 10 minutos.
59 84
60 - 4) Editar o arquivo "sei/ConfiguracaoSEI.php", tomando o cuidado de usar editor que não altere o charset do arquivo, para adicionar a referência ao módulo PEN na chave 'Modulos' abaixo da chave 'SEI': Atenção para as virgulas nos finais das linhas 85 + # 1) Copiar script de verificação dos serviços de integração do ConectaGov para a pasta de arquivos binários do SEI
  86 + cp /opt/sei/web/modulos/mod-sei-barramento/verificar-servicos.sh /opt/sei/bin/
  87 +
  88 + # 2) Configurar agendamento no cron
  89 + crontab -e
  90 + */10 * * * * /opt/sei/bin/verificar-servicos.sh
  91 +
  92 + 7) Editar o arquivo "sei/ConfiguracaoSEI.php", tomando o cuidado de usar editor que não altere o charset do arquivo, para adicionar a referência ao módulo PEN na chave 'Modulos' abaixo da chave 'SEI': Atenção para as virgulas nos finais das linhas
61 93
62 'SEI' => array( 94 'SEI' => array(
63 'URL' => 'http://[servidor sei]/sei', 95 'URL' => 'http://[servidor sei]/sei',
@@ -68,85 +100,99 @@ PROCEDIMENTOS PARA INSTALAÇÂO: @@ -68,85 +100,99 @@ PROCEDIMENTOS PARA INSTALAÇÂO:
68 100
69 Adicionar a referência ao módulo PEN na array da chave 'Modulos' indicada acima: 101 Adicionar a referência ao módulo PEN na array da chave 'Modulos' indicada acima:
70 102
71 - 'Modulos' => array('PEN' => dirname(__FILE__).'/institucional/pen'),  
72 - 103 + 'Modulos' => array('PENIntegracao' => 'mod-sei-barramento')
73 104
74 - 5) Criar o diretório "sei/institucional" (caso ainda não exista) e mover todo o diretório "pen" para dentro de "sei/institucional". 105 +
  106 +
  107 + 8) Mover o diretorio "mod-sei-barramento" para o diretorio sei/web/modulos/.
75 108
76 - 6) Colocar o arquivo do certificado digital no diretorio "sei/institucional/pen/"  
77 - - Na fase de homologação o certificado que deve ser usado é o ORGAOall.pem. 109 + 9) Colocar o arquivo do certificado digital utilizado para integração com o ConectaGov no diretorio "sei/config/". Este certificado será entregue junto com o pacote de integração.
78 110
79 - 7) Copiar o arquivo "sei_atualizar_versao_modulo_pen.php" para a pasta sei 111 + 10) Copiar o arquivo de instalação do módulo no SEI "sei_atualizar_versao_modulo_pen.php" para a pasta sei/scripts
80 112
81 - 8) Copiar o arquivo "sip_atualizar_versao_modulo_pen.php" para a pasta sip 113 + 11) Copiar o arquivo de instalação do módulo no SIP "sip_atualizar_versao_modulo_pen.php" para a pasta sip/scripts
82 114
83 - 9) Executar o script "sip_atualizar_versao_modulo_pen.php" para atualizar o banco de dados do SIP para o funcionamento do módulo:  
84 -  
85 - php sip_atualizar_versao_modulo_pen.php 115 + 12) Executar o script "sip_atualizar_versao_modulo_pen.php" para atualizar o banco de dados do SIP para o funcionamento do módulo:
  116 + # php -c /etc/php.ini /opt/sip/scripts/sip_atualizar_versao_modulo_pen.php
86 117
87 - 10) Executar o script "sei_atualizar_versao_modulo_pen.php" para inserção de dados no banco do SEI referente as funcionalidades desenvolvidas no módulo.  
88 -  
89 - php sei_atualizar_versao_modulo_pen.php  
90 -  
91 -  
92 - 11) CONFIGURAR OS PARÂMETROS DO MÓDULO PEN (Menu: Infra > Parametros) 118 + 13) Executar o script "sei_atualizar_versao_modulo_pen.php" para inserção de dados no banco do SEI referente ao módulo.
  119 + # php -c /etc/php.ini /opt/sei/scripts/sei_atualizar_versao_modulo_pen.php
  120 +
  121 + 14) Configuração de unidade administrativa virtual para gerenciamento de envio e recebimento de processos pelo módulo
  122 + Esta configuração é necessária para o SEI realizar as devidas regras de registro de históricos de trâmites externos e bloqueio de edição de processos/documentos. Tal unidade será utilizada internamente pelo módulo e não deverá ter acesso liberado para nenhum usuário do sistema.
  123 +
  124 + 14.1) Acessar o SIP e criar uma nova unidade administrativa com as seguintes configurações:
  125 + sigla: EXTERNO
  126 + nome: Unidade Externa
  127 +
  128 + 14.2) Configurar a nova unidade na hierarquia do SEI, através da funcionalidade SIP >> Hierarquias >> Montar
  129 + Sugerimos que está unidade seja configurada no mesmo nível hierarquico da unidade de teste padrão existente no SEI. Para saber qual é a unidade de testes, basta verificar o parâmetro do SEI chamado SEI_UNIDADE_TESTE
  130 +
  131 + 14.3) Obter o número de identificação da nova unidade para posterior configuração dos parâmetros do módulo de integração. O código da nova unidade pode ser obtido através da funcionalidade SEI >> Administração >> Unidades >> Listar
  132 +
  133 + 15) Configuração de tipo de processo a ser aplicado aos processos recebidos de outras instituições
  134 + Como o processo de recebimento de novos processos será feito de forma automática pelo módulo de integração, o sistema precisa atribuir um Tipo de Processo padrão para o novo procedimento recebido.
  135 +
  136 + 15.1) Criar um novo Tipo de Processo pela funcionalidade SEI >> Administração >> Tipo de Processo
  137 + Nome: Processo Externo
  138 + Descrição: Processos recebidos de outras instituições
  139 + Sugestão de Assuntos: <A CLASSIFICAÇÃO DE ASSUNTO DEVE SER DEFINIDO JUNTAMENTE COM A ÁREA DE DOCUMENTAÇÃO>
  140 + Restringir aos Órgãos: <vazio>
  141 + Restringir às Unidades: <vazio>
  142 + Níveis de Acesso Permitidos: Público
  143 + Nível de Acesso Sugerido: Público
  144 + Exclusivo da Ouvidoria: Não
  145 + Processo único no órgão por usuário interessado: Não
  146 + Interno do Sistema: Sim
  147 +
  148 + 15.2) Obter o número de ID do novo Tipo de Processo para posterior configuração dos parâmetros do módulo de integração. O ID do novo Tipo de Processo pode ser obtido através da funcionalidade SEI >> Administração >> Tipo de Processo >> Listar
  149 +
  150 + 16) Configurar os parâmetros do Módulo de Integração Pen (Menu: SEI >> Infra >> Parâmetros)
93 151
94 - => PEN_ENDERECO_WEBSERVICE: Endereço do WebService do barramento 152 + => PEN_ENDERECO_WEBSERVICE: Endereço dos serviços de integração do PEN
  153 + - Desenvolvimento: https://pen-api.trafficmanager.net/interoperabilidade/soap/v1_1/
95 - Homologação: https://homolog.pen.api.trafficmanager.net/interoperabilidade/soap/v1_1/ 154 - Homologação: https://homolog.pen.api.trafficmanager.net/interoperabilidade/soap/v1_1/
  155 + - Produção: https://api.conectagov.processoeletronico.gov.br/interoperabilidade/soap/v1_1/
96 156
97 - => PEN_ENDERECO_WEBSERVICE_PENDENCIAS: Endereço da api de pendências do barramento 157 + => PEN_ENDERECO_WEBSERVICE_PENDENCIAS: Endereço dos serviços de notificação de trâmites de processos
  158 + - Desenvolvimento: https://pen-pendencias.trafficmanager.net/interoperabilidade/soap/v1_1/
98 - Homologação: https://homolog.pen.pendencias.trafficmanager.net/ 159 - Homologação: https://homolog.pen.pendencias.trafficmanager.net/
  160 + - Produção: https://pendencias.conectagov.processoeletronico.gov.br/interoperabilidade/soap/v1_1/
99 161
100 - => PEN_ENVIA_EMAIL_NOTIFICACAO_RECEBIMENTO: Padrão N  
101 -  
102 -  
103 - => PEN_ID_REPOSITORIO_ORIGEM: ID do repositório de origem do órgão na estrutura organizacional (ID gerado pelo Barramento)  
104 - - Homologação: SIORG = 1 162 + => PEN_ID_REPOSITORIO_ORIGEM: ID do repositório de origem do órgão na estrutura organizacional
  163 + Este identificador é enviado para a instituição junto com o pacote de integração
  164 + Exemplo: 1 (Código de identificação da estrutura organizacional do Poder Executivo [SIORG])
105 165
106 => PEN_LOCALIZACAO_CERTIFICADO_DIGITAL: Localização do certificado digital o órgão 166 => PEN_LOCALIZACAO_CERTIFICADO_DIGITAL: Localização do certificado digital o órgão
107 - Arquivo do passo 6 167 - Arquivo do passo 6
108 168
109 => PEN_SENHA_CERTIFICADO_DIGITAL: Senha do certificado digital 169 => PEN_SENHA_CERTIFICADO_DIGITAL: Senha do certificado digital
110 - - Na fase de homologação a senha padrão do certificado é 1234  
111 170
112 => PEN_TIPO_PROCESSO_EXTERNO: Id do tipo de documento externo 171 => PEN_TIPO_PROCESSO_EXTERNO: Id do tipo de documento externo
113 - - Criar um Tipo de Processo (Administraçao > Tipos de Processo > Novo) externo genérico e OBRIGATORIAMENTE incluir uma Sugestão de Assunto (ex.: 900-Assuntos Diversos). 172 + - Configurar com o ID do Tipo de Processo Externo configurado no passo 15
114 173
115 => PEN_UNIDADE_GERADORA_DOCUMENTO_RECEBIDO: Id da unidade de origem que serão atribuídos os documentos recebidos de um outro órgão. 174 => PEN_UNIDADE_GERADORA_DOCUMENTO_RECEBIDO: Id da unidade de origem que serão atribuídos os documentos recebidos de um outro órgão.
  175 + - Configurar com o ID da Unidade criada no passo 14
116 176
117 -  
118 - 12) Certificar se o SEI está habilitado para permitir criação de processo com numeração informada. Esta configuração é obrigatória para o funcionamento do módulo PEN. 177 +
  178 +############################# REVISAR NECESSIDADE DESTA CONFIGURAÇÃO #############################
  179 + 17) Certificar se o SEI está habilitado para permitir criação de processo com numeração informada. Esta configuração é obrigatória para o funcionamento do módulo PEN.
119 180
120 => SEI_HABILITAR_NUMERO_PROCESSO_INFORMADO: 2 181 => SEI_HABILITAR_NUMERO_PROCESSO_INFORMADO: 2
121 - 182 +##################################################################################################
122 183
123 - 13) Realizar o mapeamento de tipos de documentos do SEI com as especies documentais do Barramento, tanto de envio quanto de recebimento. Esta configuração deve ser feita antes de começar a utilização do módulo. 184 + 18) Realizar o mapeamento de tipos de documentos do SEI com as especies documentais definidas no PEN, tanto de envio quanto de recebimento. Esta configuração deve ser feita antes de começar a utilização do módulo.
124 "Administração" => "Tipos de Documentos" => "Mapeamento de Tipos de Documento" => "Recebimento" => "Cadastrar". 185 "Administração" => "Tipos de Documentos" => "Mapeamento de Tipos de Documento" => "Recebimento" => "Cadastrar".
125 "Administração" => "Tipos de Documentos" => "Mapeamento de Tipos de Documento" => "Envio" => "Cadastrar". 186 "Administração" => "Tipos de Documentos" => "Mapeamento de Tipos de Documento" => "Envio" => "Cadastrar".
126 187
127 Obs.: Os tipos de documentos a serem mapeados deverão estar configurados no SEI como Externo ou Interno/Externo 188 Obs.: Os tipos de documentos a serem mapeados deverão estar configurados no SEI como Externo ou Interno/Externo
128 189
129 190
130 - 14) Atualizar a tabela pen_unidade com os seus respectivos valores do campo "id_unidade_rh".  
131 - - Esses ID's de unidades são gerenciados pelo próprio orgão no Portal do Barramento: http://homolog.pen.portal.trafficmanager.net/  
132 - - Na fase de homologação esses valores serão passados pela DTI/MP  
133 -  
134 -  
135 - 15) Iniciar Gearman e Supervisor  
136 - service gearmand start && service supervisord start  
137 -  
138 - * Executar o comando "ps -ef" e verificar se os dois processos seguintes estão em execução:  
139 - - /usr/bin/php -c /etc/php.ini /var/www/html/sei/institucional/pen/rn/PendenciasTramiteRN.php  
140 - - /usr/bin/php -c /etc/php.ini /var/www/html/sei/institucional/pen/rn/ProcessarPendenciasRN.php  
141 - Caso não esteja houve algum problema de configuração e a expedição de processos não irá funcionar.  
142 -  
143 - * Importante colocar o serviço para ser iniciado automaticamente juntamente com o servidor. 191 + 19) Atualizar a tabela [pen_unidade] com os seus respectivos valores do campo "id_unidade_rh".
  192 + - Esses ID's de unidades são gerenciados pelo próprio orgão no Portal do ConectaGov: http://conectagov.processoeletronico.gov.br
  193 + - Na fase de homologação do sistema, estes valores serão passados pela SETIC/MP junto com o certificado digital de cliente
144 194
145 - 16) Dentro da pasta sei/institucional/pen existe um arquivo chamado "verificar-servicos.sh" que faz a verificação dos serviços do gearmand e do supervisord.  
146 - Sugerimos que seja cadastrado um agendamento no CRON para rodar esse serviço periodicamente.  
147 -  
148 - 17) O Barramento de PEN ao calcular os hashs para gerar recibos de tramite, leva em consideração a data/horário. Portanto é importante que todos os nós da aplicação esteja sincronizados com o NTP.br.  
149 - Este link pode ajudar a configurar conforme o SO utilizado: https://www.vivaolinux.com.br/artigo/Servidor-NTP-Configuracao-e-ajuste-de-data-e-hora 195 + 20) O protocolo de comunicação implementado pelo ConectaGov realiza a geração e assinatura digital de recibos de entraga e conclusão dos trâmites de processo. Para a correta geração dos recibos pelo módulo, é indispensável que todos os nós da aplicação estejam configurados com o serviço de sincronização de relógios oficial NTP.br.
  196 +
  197 + Este link pode ajudar a configurar conforme o SO utilizado: https://www.vivaolinux.com.br/artigo/Servidor-NTP-Configuracao-e-ajuste-de-data-e-hora
150 198
151 - 18) É altamente aconselhável deixar o arquivo .pem do certificado digital fora do path do apache (var/www/html)  
152 -