From fb0705da86f39eeb913dd8f832c8cf748c542704 Mon Sep 17 00:00:00 2001 From: Guilherme Andrade Del Cantoni Date: Wed, 9 Aug 2017 21:19:46 -0300 Subject: [PATCH] Atualização do roteiro de instalação e configuração do módulo --- LEIAME.txt | 190 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------ 1 file changed, 118 insertions(+), 72 deletions(-) diff --git a/LEIAME.txt b/LEIAME.txt index 9607d50..0351886 100644 --- a/LEIAME.txt +++ b/LEIAME.txt @@ -1,7 +1,7 @@ ======================================================================================================================================== Módulo PEN Data de criação: 27/05/2016 -Data de atualizaçao: 20/07/2016 +Data de atualizaçao: 09/08/2017 Desenvolvimento: Join Tecnologia Versão: 0.0.3 ======================================================================================================================================= @@ -11,24 +11,34 @@ PROCEDIMENTOS PARA INSTALAÇÃO: ======================================================================================================================================== REQUISITOS PARA INSTALAÇÂO: - - SEI 2.6.0.A9 instalada (verificar valor da constante de versão do SEI no arquivo sei/SEI.php). - - 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. - - *** 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. *** + - SEI 3.0.6 instalada (verificar valor da constante de versão do SEI no arquivo sei/SEI.php). + - 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. PROCEDIMENTOS PARA INSTALAÇÂO: - 1) Fazer backup dos banco de dados do SEI e SIP e do filesystem. + 1) Fazer backup dos banco de dados do SEI, SIP e repositórios de arquivos. - 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. + 2) Configurar a cadeia de certificados do ICP-BRASIL como confiáveis nos nós de aplicação do SEI. + 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: + 2.1) Copie o certificado da cadeia de CA utilizado pelo ConectaGov para o diretório /usr/local/share/ca-certificates + cp /usr/local/share/ca-certificates + + 2.2) Efetue a atualização da lista de certificados confiáveis do SO + sudo update-ca-certificates + + 3) Instalar o gearmand e o supervisord no servidor responsável por tratar o agendamento de tarefas do sistema. + Importante: É imprescindível que seja no mesmo nó em que está configurado o CRON de agendamento principal do SEI. # Pre-requisito. Caso contrario, os demais pacotes nao sao encontrados no CentOS7 - yum install epel-release + yum install epel-release && yum update - # Instalação do Gearman e supervisord + # Instalação do Gearman e supervisord yum install supervisor gearmand libgearman libgearman-devel php-pecl-gearman - - 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) + + + 4) 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) vi /etc/supervisord.conf @@ -37,27 +47,49 @@ PROCEDIMENTOS PARA INSTALAÇÂO: [program:sei_processar_pendencias] command=/usr/bin/php -c /etc/php.ini /opt/sei/web/modulos/pen/rn/ProcessarPendenciasRN.php numprocs=1 - directory=/var/www/html/sei/ - user=XXXXX + directory=/opt/sei/web + user= autostart=true autorestart=true - stdout_logfile=/tmp/sei.log - stdout_logfile_maxbytes=1MB - stderr_logfile=/tmp/sei_error.log - stderr_logfile_maxbytes=1MB + log_stderr=true + stdout_logfile=/var/log/supervisor/sei-supervisord-stdout.log + stderr_logfile=/var/log/supervisor/sei-supervisord-stderr.log [program:sei_monitorar_pendencias] command=/usr/bin/php -c /etc/php.ini /opt/sei/web/modulos/pen/rn/PendenciasTramiteRN.php numprocs=1 - directory=/var/www/html/sei/ - user=XXXXX + directory=/opt/sei/web + user= autostart=true autorestart=true - stdout_logfile=/tmp/sei.log - stdout_logfile_maxbytes=1MB - stderr_logfile=/tmp/sei_error.log + log_stderr=true + stdout_logfile=/var/log/supervisor/sei-supervisord-stdout.log + stderr_logfile=/var/log/supervisor/sei-supervisord-stderr.log + + 5) Iniciar Gearman e Supervisor + service gearmand start && service supervisord start + + * Executar o comando "ps -ef" e verificar se os dois processos seguintes estão em execução: + - /usr/bin/php -c /etc/php.ini /var/www/html/sei/institucional/pen/rn/PendenciasTramiteRN.php + - /usr/bin/php -c /etc/php.ini /var/www/html/sei/institucional/pen/rn/ProcessarPendenciasRN.php + Caso não esteja houve algum problema de configuração e a expedição de processos não irá funcionar. + + * Importante colocar o serviço para ser iniciado automaticamente juntamente com o servidor. + + + 6) Configurar agendamento de tarefas reinicialização de serviços caso se identifique os serviços estão indisponíveis + 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. + + 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. - 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 + # 1) Copiar script de verificação dos serviços de integração do ConectaGov para a pasta de arquivos binários do SEI + cp /opt/sei/web/modulos/mod-sei-barramento/verificar-servicos.sh /opt/sei/bin/ + + # 2) Configurar agendamento no cron + crontab -e + */10 * * * * /opt/sei/bin/verificar-servicos.sh + + 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 'SEI' => array( 'URL' => 'http://[servidor sei]/sei', @@ -68,85 +100,99 @@ PROCEDIMENTOS PARA INSTALAÇÂO: Adicionar a referência ao módulo PEN na array da chave 'Modulos' indicada acima: - 'Modulos' => array('PEN' => dirname(__FILE__).'/institucional/pen'), - + 'Modulos' => array('PENIntegracao' => 'mod-sei-barramento') - 5) Criar o diretório "sei/institucional" (caso ainda não exista) e mover todo o diretório "pen" para dentro de "sei/institucional". + + + 8) Mover o diretorio "mod-sei-barramento" para o diretorio sei/web/modulos/. - 6) Colocar o arquivo do certificado digital no diretorio "sei/institucional/pen/" - - Na fase de homologação o certificado que deve ser usado é o ORGAOall.pem. + 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. - 7) Copiar o arquivo "sei_atualizar_versao_modulo_pen.php" para a pasta sei + 10) Copiar o arquivo de instalação do módulo no SEI "sei_atualizar_versao_modulo_pen.php" para a pasta sei/scripts - 8) Copiar o arquivo "sip_atualizar_versao_modulo_pen.php" para a pasta sip + 11) Copiar o arquivo de instalação do módulo no SIP "sip_atualizar_versao_modulo_pen.php" para a pasta sip/scripts - 9) Executar o script "sip_atualizar_versao_modulo_pen.php" para atualizar o banco de dados do SIP para o funcionamento do módulo: - - php sip_atualizar_versao_modulo_pen.php + 12) Executar o script "sip_atualizar_versao_modulo_pen.php" para atualizar o banco de dados do SIP para o funcionamento do módulo: + # php -c /etc/php.ini /opt/sip/scripts/sip_atualizar_versao_modulo_pen.php - 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. - - php sei_atualizar_versao_modulo_pen.php - - - 11) CONFIGURAR OS PARÂMETROS DO MÓDULO PEN (Menu: Infra > Parametros) + 13) Executar o script "sei_atualizar_versao_modulo_pen.php" para inserção de dados no banco do SEI referente ao módulo. + # php -c /etc/php.ini /opt/sei/scripts/sei_atualizar_versao_modulo_pen.php + + 14) Configuração de unidade administrativa virtual para gerenciamento de envio e recebimento de processos pelo módulo + 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. + + 14.1) Acessar o SIP e criar uma nova unidade administrativa com as seguintes configurações: + sigla: EXTERNO + nome: Unidade Externa + + 14.2) Configurar a nova unidade na hierarquia do SEI, através da funcionalidade SIP >> Hierarquias >> Montar + 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 + + 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 + + 15) Configuração de tipo de processo a ser aplicado aos processos recebidos de outras instituições + 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. + + 15.1) Criar um novo Tipo de Processo pela funcionalidade SEI >> Administração >> Tipo de Processo + Nome: Processo Externo + Descrição: Processos recebidos de outras instituições + Sugestão de Assuntos: + Restringir aos Órgãos: + Restringir às Unidades: + Níveis de Acesso Permitidos: Público + Nível de Acesso Sugerido: Público + Exclusivo da Ouvidoria: Não + Processo único no órgão por usuário interessado: Não + Interno do Sistema: Sim + + 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 + + 16) Configurar os parâmetros do Módulo de Integração Pen (Menu: SEI >> Infra >> Parâmetros) - => PEN_ENDERECO_WEBSERVICE: Endereço do WebService do barramento + => PEN_ENDERECO_WEBSERVICE: Endereço dos serviços de integração do PEN + - Desenvolvimento: https://pen-api.trafficmanager.net/interoperabilidade/soap/v1_1/ - Homologação: https://homolog.pen.api.trafficmanager.net/interoperabilidade/soap/v1_1/ + - Produção: https://api.conectagov.processoeletronico.gov.br/interoperabilidade/soap/v1_1/ - => PEN_ENDERECO_WEBSERVICE_PENDENCIAS: Endereço da api de pendências do barramento + => PEN_ENDERECO_WEBSERVICE_PENDENCIAS: Endereço dos serviços de notificação de trâmites de processos + - Desenvolvimento: https://pen-pendencias.trafficmanager.net/interoperabilidade/soap/v1_1/ - Homologação: https://homolog.pen.pendencias.trafficmanager.net/ + - Produção: https://pendencias.conectagov.processoeletronico.gov.br/interoperabilidade/soap/v1_1/ - => PEN_ENVIA_EMAIL_NOTIFICACAO_RECEBIMENTO: Padrão N - - - => PEN_ID_REPOSITORIO_ORIGEM: ID do repositório de origem do órgão na estrutura organizacional (ID gerado pelo Barramento) - - Homologação: SIORG = 1 + => PEN_ID_REPOSITORIO_ORIGEM: ID do repositório de origem do órgão na estrutura organizacional + Este identificador é enviado para a instituição junto com o pacote de integração + Exemplo: 1 (Código de identificação da estrutura organizacional do Poder Executivo [SIORG]) => PEN_LOCALIZACAO_CERTIFICADO_DIGITAL: Localização do certificado digital o órgão - Arquivo do passo 6 => PEN_SENHA_CERTIFICADO_DIGITAL: Senha do certificado digital - - Na fase de homologação a senha padrão do certificado é 1234 => PEN_TIPO_PROCESSO_EXTERNO: Id do tipo de documento externo - - 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). + - Configurar com o ID do Tipo de Processo Externo configurado no passo 15 => PEN_UNIDADE_GERADORA_DOCUMENTO_RECEBIDO: Id da unidade de origem que serão atribuídos os documentos recebidos de um outro órgão. + - Configurar com o ID da Unidade criada no passo 14 - - 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. + +############################# REVISAR NECESSIDADE DESTA CONFIGURAÇÃO ############################# + 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. => SEI_HABILITAR_NUMERO_PROCESSO_INFORMADO: 2 - +################################################################################################## - 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. + 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. "Administração" => "Tipos de Documentos" => "Mapeamento de Tipos de Documento" => "Recebimento" => "Cadastrar". "Administração" => "Tipos de Documentos" => "Mapeamento de Tipos de Documento" => "Envio" => "Cadastrar". Obs.: Os tipos de documentos a serem mapeados deverão estar configurados no SEI como Externo ou Interno/Externo - 14) Atualizar a tabela pen_unidade com os seus respectivos valores do campo "id_unidade_rh". - - Esses ID's de unidades são gerenciados pelo próprio orgão no Portal do Barramento: http://homolog.pen.portal.trafficmanager.net/ - - Na fase de homologação esses valores serão passados pela DTI/MP - - - 15) Iniciar Gearman e Supervisor - service gearmand start && service supervisord start - - * Executar o comando "ps -ef" e verificar se os dois processos seguintes estão em execução: - - /usr/bin/php -c /etc/php.ini /var/www/html/sei/institucional/pen/rn/PendenciasTramiteRN.php - - /usr/bin/php -c /etc/php.ini /var/www/html/sei/institucional/pen/rn/ProcessarPendenciasRN.php - Caso não esteja houve algum problema de configuração e a expedição de processos não irá funcionar. - - * Importante colocar o serviço para ser iniciado automaticamente juntamente com o servidor. + 19) Atualizar a tabela [pen_unidade] com os seus respectivos valores do campo "id_unidade_rh". + - Esses ID's de unidades são gerenciados pelo próprio orgão no Portal do ConectaGov: http://conectagov.processoeletronico.gov.br + - Na fase de homologação do sistema, estes valores serão passados pela SETIC/MP junto com o certificado digital de cliente - 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. - Sugerimos que seja cadastrado um agendamento no CRON para rodar esse serviço periodicamente. - - 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. - 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 + 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. + + 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 - 18) É altamente aconselhável deixar o arquivo .pem do certificado digital fora do path do apache (var/www/html) - -- libgit2 0.21.2