From cda4f9ab5f20a133f52add28bb31fb91f506ebe4 Mon Sep 17 00:00:00 2001 From: Guilherme Andrade Del Cantoni Date: Tue, 12 Sep 2017 19:30:51 -0300 Subject: [PATCH] Ajustes diversos no manual de instalação do módulo --- LEIAME.txt | 361 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------- README.md | 261 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------ 2 files changed, 429 insertions(+), 193 deletions(-) diff --git a/LEIAME.txt b/LEIAME.txt index 87a2679..0e97aef 100644 --- a/LEIAME.txt +++ b/LEIAME.txt @@ -1,220 +1,243 @@ ======================================================================================================================================== -Mdulo PEN -Data de criao: 27/05/2016 -Data de atualizaao: 09/08/2017 -Verso: 0.0.3 +Módulo PEN +Data de criação: 27/05/2016 +Data de atualizaçao: 09/08/2017 +Versão: 0.0.3 ======================================================================================================================================= +Módulo de Integração SEI - PEN +=================== + +Data de criação: 27/05/2016 +Data de atualizaçao: 12/09/2017 +Versão: 1.0.0 + + +### REQUISITOS PARA INSTALAÇÂO: +- SEI 3.0.5 (ou superior) instalada (verificar valor da constante de versão do SEI no arquivo sei/SEI.php) + +- Usuário de acesso ao banco de dados do SEI e SIP com as devidas permissões de acesso para modificar estrutuda do banco de dados. Após a instalação, o usuário de manutenção deverá ser alterado para outro contendo apenas as permissões de escrita no banco de dados. +- Caso o ambiente do ConectaGov utilizado nesta configuração esteja utilizando HTTPS com certificado digital do ICP-Brasil, será necessário 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: + - 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 + + - Efetue a atualização da lista de certificados confiáveis do SO +> sudo update-ca-certificates +> +- Para concluir os procedimentos de configuração do módulo, será necessário registrar no portal do Processo Eletrônico Nacional - PEN as unidades administrativas que poderão realizar trâmites externo ou recebimento de processos/documentos externo no SEI. Este procedimento precisa ser realizado pelo gestor de protocolo previamente habilitado no portal do PEN. Para maiores informações, acesse o endereço eletrônico http://conectagov.processoeletronico.gov.br/ ou entre em contato pelo e-mail processo.eletronico@planejamento.gov.br + + +### PROCEDIMENTOS PARA INSTALAÇÂO: + +1) Fazer backup dos banco de dados do SEI, SIP e repositórios de arquivos. + +2) 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 não são encontrados no CentOS7 + yum install epel-release && yum update + + # Instalação do Gearman e supervisord + yum install supervisor gearmand libgearman libgearman-devel php56*-pecl-gearman + + +3) Configuração do supervisor. +**ATENÇÃO 1:** No parâmetro **'user'** deve ser configurado o usuário que executa o servidor web (verifique no seu servidor qual é o usuario. Ex.: apache) +**ATENÇÂO 2:** Verifique se a localização dos scripts ProcessarPendenciasRN.php e PendenciasTramiteRN.php estão corretas no parâmetro 'command' + + vi /etc/supervisord.conf + ... + # Adicione no final do arquivo + [program:sei_processar_pendencias] + command=/usr/bin/php -c /etc/php.ini /opt/sei/web/modulos/pen/rn/ProcessarPendenciasRN.php + numprocs=1 + directory=/opt/sei/web + user=apache + autostart=true + autorestart=true + 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=/opt/sei/web + user=apache + autostart=true + autorestart=true + log_stderr=true + stdout_logfile=/var/log/supervisor/sei-supervisord-stdout.log + stderr_logfile=/var/log/supervisor/sei-supervisord-stderr.log + +4) Configurar agendamento de tarefas de reinicialização de serviços caso se identifique os estes 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 indisponibilidade 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.1) Copiar script de verificação dos serviços de integração do ConectaGov para a pasta de arquivos binários do SEI +Atenção: Altere a referência para [DIRETORIO_RAIZ_INSTALAÇÃO] descrito abaixo +cp [DIRETORIO_RAIZ_INSTALAÇÃO]/sei/web/modulos/pen/verificar-servicos.sh /opt/sei/bin/ + +4.2) Configurar agendamento no cron +Atenção: Altere a referência para [DIRETORIO_RAIZ_INSTALAÇÃO] descrito abaixo + + # crontab -e + */10 * * * * [DIRETORIO_RAIZ_INSTALAÇÃO]`enter code here`/sei/bin/verificar-servicos.sh + +6) 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', + 'Producao' => true, + 'RepositorioArquivos' => '/var/sei/arquivos', + 'Modulos' => array(), + ), + +Adicionar a referência ao módulo PEN na array da chave 'Modulos' indicada acima: + + 'Modulos' => array('PENIntegracao' => 'pen') + +7) Mover o diretório de arquivos do módulo "pen" para o diretório sei/web/modulos/. -======================================================================================================================================== -PROCEDIMENTOS PARA INSTALAO: -======================================================================================================================================== - -REQUISITOS PARA INSTALAO: - - SEI 3.0.5 (ou superior) instalada (verificar valor da constante de verso do SEI no arquivo sei/SEI.php) - - Usurio de acesso ao banco de dados do SEI e SIP com as devidas permisses de acesso para modificar estrutuda do banco de dados. Aps a instalao, o usurio de manuteno dever ser alterado para outro contendo apenas as permisses de escrita no banco de dados. - -PROCEDIMENTOS PARA INSTALAO: - - 1) Fazer backup dos banco de dados do SEI, SIP e repositrios de arquivos. - - 2) Caso o ambiente do ConectaGov utilizado nesta configurao esteja utilizando HTTPS com certificado digital do ICP-Brasil, ser necessrio configurar a cadeia de certificados do ICP-BRASIL como confiveis nos ns de aplicao do SEI. - Como todas as comunicaes realizadas com o ConectaGov utilizaro conexo segura via HTTPS com certificados digitais emitidos pela cadeia do ICP-Brasil, os servidores de aplicao precisam ser configurados para reconhecer esta cadeia como confivel, o que no padro nos sistemas operacionais atuais. Com isto, os seguintes comandos precisam ser executados em cada ns de aplicao do SEI, incluindo aquele responsvel pelo tratamento das tarefas agendadas: - 2.1) Copie o certificado da cadeia de CA utilizado pelo ConectaGov para o diretrio /usr/local/share/ca-certificates - cp /usr/local/share/ca-certificates - - 2.2) Efetue a atualizao da lista de certificados confiveis do SO - sudo update-ca-certificates - - 3) Instalar o gearmand e o supervisord no servidor responsvel por tratar o agendamento de tarefas do sistema. - Importante: imprescindvel que seja no mesmo n em que est configurado o CRON de agendamento principal do SEI. - - # Pre-requisito. Caso contrario, os demais pacotes nao so encontrados no CentOS7 - yum install epel-release && yum update - - # Instalao do Gearman e supervisord - yum install supervisor gearmand libgearman libgearman-devel php56*-pecl-gearman - +8) Colocar o arquivo do certificado digital utilizado para integração com o ConectaGov no diretório "sei/config/". - 4) Configurao do supervisor. - ATENO: No parametro 'user' abaixo deve ser configurado o usurio que executa o servidor web (verifique no seu servidor qual o usuario. Ex.: apache) - ATENO: Verifique se a localizao dos scripts ProcessarPendenciasRN.php e PendenciasTramiteRN.php esto corretas no parmetro 'command' +Os certificados digitais necessários para conectar aos ambientes de desenvolvimento e homologação do PEN estão localizados no paco​te de instalação. Para o ambiente de produção, deverá ser utilizado um certificado digital válido gerado por uma Autoridade de Registro - AR confiável (Exemplo: ICP-Brasil, Certisign, Verisign, etc.). - vi /etc/supervisord.conf +9) Copiar o arquivo de instalação do módulo no SEI **sei_atualizar_versao_modulo_pen.php** para a pasta sei/scripts - # Adicione no final do arquivo +10) Copiar o arquivo de instalação do módulo no SIP **sip_atualizar_versao_modulo_pen.php** para a pasta sip/scripts + +11) Executar o script "sip_atualizar_versao_modulo_pen.php" para atualizar o banco de dados do SIP para o funcionamento do módulo: +Atenção: Altere a referência para [DIRETORIO_RAIZ_INSTALAÇÃO] descrito abaixo - [program:sei_processar_pendencias] - command=/usr/bin/php -c /etc/php.ini /opt/sei/web/modulos/pen/rn/ProcessarPendenciasRN.php - numprocs=1 - directory=/opt/sei/web - user=apache - autostart=true - autorestart=true - log_stderr=true - stdout_logfile=/var/log/supervisor/sei-supervisord-stdout.log - stderr_logfile=/var/log/supervisor/sei-supervisord-stderr.log + # php -c /etc/php.ini [DIRETORIO_RAIZ_INSTALAÇÃO]/sip/scripts/sip_atualizar_versao_modulo_pen.php + +12) Executar o script **sei_atualizar_versao_modulo_pen.php** para inserção de dados no banco do SEI referente ao módulo. +Atenção: Altere a referência para [DIRETORIO_RAIZ_INSTALAÇÃO] descrito abaixo - [program:sei_monitorar_pendencias] - command=/usr/bin/php -c /etc/php.ini /opt/sei/web/modulos/pen/rn/PendenciasTramiteRN.php - numprocs=1 - directory=/opt/sei/web - user=apache - autostart=true - autorestart=true - log_stderr=true - stdout_logfile=/var/log/supervisor/sei-supervisord-stdout.log - stderr_logfile=/var/log/supervisor/sei-supervisord-stderr.log + # php -c /etc/php.ini [DIRETORIO_RAIZ_INSTALAÇÃO]/sei/scripts/sei_atualizar_versao_modulo_pen.php +13) Atualizar a tabela [md_pen_unidade] com os seus respectivos valores do campo "id_unidade_rh". - 5) Configurar agendamento de tarefas de reinicializao de servios caso se identifique os estes esto indisponveis - Esta configurao recomendada como contingncia em conjunto com o Supervisor para garantir que os servios de integrao no sero desativados em caso de indisponbilidade momentnea da infraestrutura do ConectaGov. +Atenção: Esta configuração será realizada diretamente no banco de dados somente nesta primeira versão do módulo. Os ID's de unidades são gerenciados pela própria instituiçao no portal do Processo Eletrônico Nacional: http://conectagov.processoeletronico.gov.br. +Na fase de homologação do sistema, estes valores serão passados pela SETIC/MP. - No mesmo servidor em que est instalado/configurado o supervisor e gearman (passo 3), configurar o script verificar-servicos.sh, localizado na raiz do mdulo, no servio de agendamento CRON. Sugerimos que o tempo de monitoramento e tentativa de reativao seja configurado em 10 minutos. + update md_pen_unidade set id_unidade_rh = [ID_UNIDADE_PEN] where id_unidade = [ID_UNIDADE_SEI]; - # 1) Copiar script de verificao dos servios de integrao do ConectaGov para a pasta de arquivos binrios do SEI - ps: Altere a referncia para descrito abaixo - cp /sei/web/modulos/pen/verificar-servicos.sh /opt/sei/bin/ +14) Configuração de unidade administrativa virtual para gerenciamento de envio e recebimento de processos pelo módulo. - # 2) Configurar agendamento no cron - PS: Altere a referncia para descrito abaixo - crontab -e - */10 * * * * /sei/bin/verificar-servicos.sh +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 metadados de processos/documentos. Tal unidade será utilizada internamente pelo módulo e não deverá ter acesso liberado para nenhum usuário do sistema. - 6) Editar o arquivo "sei/ConfiguracaoSEI.php", tomando o cuidado de usar editor que no altere o charset do arquivo, para adicionar a referncia ao mdulo PEN na chave 'Modulos' abaixo da chave 'SEI': Ateno para as virgulas nos finais das linhas +14.1) Acessar o SIP e criar uma nova unidade administrativa com as seguintes configurações: - 'SEI' => array( - 'URL' => 'http://[servidor sei]/sei', - 'Producao' => true, - 'RepositorioArquivos' => '/var/sei/arquivos', - 'Modulos' => array(), - ), - - Adicionar a referncia ao mdulo PEN na array da chave 'Modulos' indicada acima: - - 'Modulos' => array('PENIntegracao' => 'pen') + sigla: EXTERNO + nome: Unidade Externa - +14.2) Configurar a nova unidade na hierarquia do SEI, através da funcionalidade SIP >> Hierarquias >> Montar - 7) Mover o diretorio de arquivos do mdulo "pen" para o diretorio sei/web/modulos/. +Sugerimos que está unidade seja configurada no mesmo nível hierárquico 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** - 8) Colocar o arquivo do certificado digital utilizado para integrao com o ConectaGov no diretorio "sei/config/". Este certificado ser entregue junto com o pacote de integrao. +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* - 9) Copiar o arquivo de instalao do mdulo no SEI "sei_atualizar_versao_modulo_pen.php" para a pasta sei/scripts +15) Configuração de tipo de processo a ser aplicado aos processos recebidos de outras instituições. - 10) Copiar o arquivo de instalao do mdulo no SIP "sip_atualizar_versao_modulo_pen.php" para a pasta sip/scripts - - 11) Executar o script "sip_atualizar_versao_modulo_pen.php" para atualizar o banco de dados do SIP para o funcionamento do mdulo: - PS: Altere a referncia para descrito abaixo - # php -c /etc/php.ini /sip/scripts/sip_atualizar_versao_modulo_pen.php - - 12) Executar o script "sei_atualizar_versao_modulo_pen.php" para insero de dados no banco do SEI referente ao mdulo. - PS: Altere a referncia para descrito abaixo - # php -c /etc/php.ini /sei/scripts/sei_atualizar_versao_modulo_pen.php +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. Importante lembrar que a criação de um novo tipo de processo não é obrigatório, sendo possível utilizar outro pré-existente. - 13) Atualizar a tabela [md_pen_unidade] com os seus respectivos valores do campo "id_unidade_rh". - PS: Esta configurao ser realizada manualmente pela equipe de operaes somente nesta primeira verso do mdulo - - Esses ID's de unidades so gerenciados pelo prprio orgo no Portal do ConectaGov: http://conectagov.processoeletronico.gov.br - - Na fase de homologao do sistema, estes valores sero passados pela SETIC/MP junto com o certificado digital de cliente +Caso a opção for pela criação de um novo tipo de processo específico, segue abaixo sugestão para configuração: - Exemplo: - update md_pen_unidade set id_unidade_rh = where id_unidade = ; +15.1) Criar um novo Tipo de Processo pela funcionalidade *SEI >> Administração >> Tipo de Processo* +> Nome: Demanda Externa: Outros Órgãos Públicos Descrição: +> Processos recebidos de outras instituições Sugestão de Assuntos: [A +> CLASSIFICAÇÃO DE ASSUNTO DEVE SER DEFINIDO JUNTAMENTE COM A ÁREA DE DOCUMENTAÇÃO] +> Ex: 019.01 - INFORMAÇÕES SOBRE O ÓRGÃO +> Restringir aos Órgãos: [vazio] +> Restringir às Unidades: [vazio] +> Níveis de Acesso Permitidos: Público +> Nível de Acesso Sugerido: Público +> Processo único no órgão por usuário: Não +> 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* - 14) Configurao de unidade administrativa virtual para gerenciamento de envio e recebimento de processos pelo mdulo - Esta configurao necessria para o SEI realizar as devidas regras de registro de histricos de trmites externos e bloqueio de edio metadados de processos/documentos. Tal unidade ser utilizada internamente pelo mdulo e no dever ter acesso liberado para nenhum usurio do sistema. +16) Configurar os parâmetros do Módulo de Integração Pen (Menu: *SEI >> Infra >> Parâmetros*) + +**PEN_ENDERECO_WEBSERVICE:** [Endereço dos serviços de integração do PEN] - 14.1) Acessar o SIP e criar uma nova unidade administrativa com as seguintes configuraes: - sigla: EXTERNO - nome: Unidade Externa +- 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/ - 14.2) Configurar a nova unidade na hierarquia do SEI, atravs da funcionalidade SIP >> Hierarquias >> Montar - Sugerimos que est unidade seja configurada no mesmo nvel hierarquico da unidade de teste padro existente no SEI. Para saber qual a unidade de testes, basta verificar o parmetro do SEI chamado SEI_UNIDADE_TESTE +**=> PEN_ENDERECO_WEBSERVICE_PENDENCIAS**: [Endereço dos serviços de notificação de trâmites de processos] - 14.3) Obter o nmero de identificao da nova unidade para posterior configurao dos parmetros do mdulo de integrao. O cdigo da nova unidade pode ser obtido atravs da funcionalidade SEI >> Administrao >> Unidades >> Listar +- Desenvolvimento: + https://pen-pendencias.trafficmanager.net/ +- Homologação: + https://homolog.pen.pendencias.trafficmanager.net/ +- Produção: + https://pendencias.conectagov.processoeletronico.gov.br/ - 15) Configurao de tipo de processo a ser aplicado aos processos recebidos de outras instituies - Como o processo de recebimento de novos processos ser feito de forma automtica pelo mdulo de integrao, o sistema precisa atribuir um Tipo de Processo padro para o novo procedimento recebido. Importante lembrar que a criao de um novo tipo de processo no obrigatrio, sendo possvel utilizar outro pr-existente. - Caso a opo for pela criao de um novo tipo de processo especfico, segue abaixo sugesto para configurao: +**=> 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]) - 15.1) Criar um novo Tipo de Processo pela funcionalidade SEI >> Administrao >> Tipo de Processo - Nome: Demanda Externa: Outros rgos Pblicos - Descrio: Processos recebidos de outras instituies - Sugesto de Assuntos: - Ex: 019.01 - INFORMAES SOBRE O RGO - Restringir aos rgos: - Restringir s Unidades: - Nveis de Acesso Permitidos: Pblico - Nvel de Acesso Sugerido: Pblico - Exclusivo da Ouvidoria: No - Processo nico no rgo por usurio interessado: No - Interno do Sistema: Sim +**=> PEN_LOCALIZACAO_CERTIFICADO_DIGITAL:** +Localização do certificado digital o órgão (arquivo do passo 8) - 15.2) Obter o nmero de ID do novo Tipo de Processo para posterior configurao dos parmetros do mdulo de integrao. O ID do novo Tipo de Processo pode ser obtido atravs da funcionalidade SEI >> Administrao >> Tipo de Processo >> Listar +**=> PEN_NUMERO_TENTATIVAS_TRAMITE_RECEBIMENTO:** +Valor padrão: 3 + +**=> PEN_TAMANHO_MAXIMO_DOCUMENTO_EXPEDIDO:** +Valor padrão: 50 - 15) Configurar os parmetros do Mdulo de Integrao Pen (Menu: SEI >> Infra >> Parmetros) - - => PEN_ENDERECO_WEBSERVICE: Endereo dos servios de integrao do PEN - - Desenvolvimento: https://pen-api.trafficmanager.net/interoperabilidade/soap/v1_1/ - - Homologao: https://homolog.pen.api.trafficmanager.net/interoperabilidade/soap/v1_1/ - - Produo: https://api.conectagov.processoeletronico.gov.br/interoperabilidade/soap/v1_1/ +**=> PEN_SENHA_CERTIFICADO_DIGITAL:** +Senha do certificado digital +Atenção: Configuração de senha será modificada na próxima versão para utilização de criptografia - => PEN_ENDERECO_WEBSERVICE_PENDENCIAS: Endereo dos servios de notificao de trmites de processos - - Desenvolvimento: https://pen-pendencias.trafficmanager.net/ - - Homologao: https://homolog.pen.pendencias.trafficmanager.net/ - - Produo: https://pendencias.conectagov.processoeletronico.gov.br/ +**=> PEN_TIPO_PROCESSO_EXTERNO:** +Id do tipo de documento externo. Configurar com o ID do Tipo de Processo Externo configurado no passo 15 - => PEN_ID_REPOSITORIO_ORIGEM: ID do repositrio de origem do rgo na estrutura organizacional - Este identificador enviado para a instituio junto com o pacote de integrao - Exemplo: 1 (Cdigo de identificao da estrutura organizacional do Poder Executivo [SIORG]) +**=> 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 - => PEN_LOCALIZACAO_CERTIFICADO_DIGITAL: Localizao do certificado digital o rgo - - Arquivo do passo 6 - => PEN_NUMERO_TENTATIVAS_TRAMITE_RECEBIMENTO: - - Valor padro: 3 - - => PEN_TAMANHO_MAXIMO_DOCUMENTO_EXPEDIDO: - - Valor padro: 50 +17) Iniciar Gearman e Supervisor +Atenção: Altere a referência para [DIRETORIO_RAIZ_INSTALAÇÃO] descrito abaixo: - => PEN_SENHA_CERTIFICADO_DIGITAL: Senha do certificado digital - PS: Configurao de senha ser modificada na prxima verso para utilizao de criptografia + service gearmand start && service supervisord start - => PEN_TIPO_PROCESSO_EXTERNO: Id do tipo de documento externo - - Configurar com o ID do Tipo de Processo Externo configurado no passo 15 +Executar o comando "ps -ef" e verificar se os dois processos seguintes estão em execução: - => PEN_UNIDADE_GERADORA_DOCUMENTO_RECEBIDO: Id da unidade de origem que sero atribudos os documentos recebidos de um outro rgo. - - Configurar com o ID da Unidade criada no passo 14 + /usr/bin/php -c /etc/php.ini [DIRETORIO_RAIZ_INSTALAÇÃO]/sei/modulos/pen/rn/PendenciasTramiteRN.php + + /usr/bin/php -c /etc/php.ini [DIRETORIO_RAIZ_INSTALAÇÃO]/sei/modulos/pen/rn/ProcessarPendenciasRN.php +Caso não esteja houve algum problema de configuração e a expedição de processos não irá funcionar. +Atenção: Importante colocar o serviço para ser iniciado automaticamente juntamente com o servidor. +18) Realizar o mapeamento de tipos de documentos do SEI com as especies documentais definidas no PEN, tanto de envio quanto de recebimento. - 16) Iniciar Gearman e Supervisor - PS: Altere a referncia para descrito abaixo - service gearmand start && service supervisord start +Esta configuração deve ser feita antes de começar a utilização do módulo. - * Executar o comando "ps -ef" e verificar se os dois processos seguintes esto em execuo: - - /usr/bin/php -c /etc/php.ini /sei/modulos/pen/rn/PendenciasTramiteRN.php - - /usr/bin/php -c /etc/php.ini /sei/modulos/pen/rn/ProcessarPendenciasRN.php - Caso no esteja houve algum problema de configurao e a expedio de processos no ir funcionar. - - * Importante colocar o servio para ser iniciado automaticamente juntamente com o servidor. +- "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 - 17) Certificar se o SEI est habilitado para permitir criao de processo com numerao informada. Esta configurao obrigatria para o funcionamento do mdulo PEN. - => SEI_HABILITAR_NUMERO_PROCESSO_INFORMADO: 2 + +19) O protocolo de comunicação implementado pelo PEN realiza a geração e assinatura digital de recibos de entrega 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: http://ntp.br/guia-linux-comum.php - 18) Realizar o mapeamento de tipos de documentos do SEI com as especies documentais definidas no PEN, tanto de envio quanto de recebimento. Esta configurao deve ser feita antes de comear a utilizao do mdulo. - "Administrao" => "Tipos de Documentos" => "Mapeamento de Tipos de Documento" => "Recebimento" => "Cadastrar". - "Administrao" => "Tipos de Documentos" => "Mapeamento de Tipos de Documento" => "Envio" => "Cadastrar". - Obs.: Os tipos de documentos a serem mapeados devero estar configurados no SEI como Externo ou Interno/Externo +20) Configurar as permissões de segurança para os perfis e unidades que poderão realizar o trâmite externo de processos no sistema. - - 19) O protocolo de comunicao implementado pelo ConectaGov realiza a gerao e assinatura digital de recibos de entraga e concluso dos trmites de processo. Para a correta gerao dos recibos pelo mdulo, indispensvel que todos os ns da aplicao estejam configurados com o servio de sincronizao de relgios oficial NTP.br. - Este link pode ajudar a configurar conforme o SO utilizado: http://ntp.br/guia-linux-comum.php +Por padrão, as funcionalidades (recursos) criados pelo módulo não são atribuídos automaticamente à um perfil específico do sistema, evitando sua disponibilização para todos os usuários do sistema sem a prévia definição dos administradores. +Sugerimos que seja criado um novo perfil de usuário que receberá as permissões aos novos recursos incluidos pelo módulo (pen_*). Este novo perfil deverá ser atribuído aos usuários que podem realizar o trâmite externo de processos para outras instituições. - 20) Configurar as permisses de segurana para os perfis e unidades que podero realizar o trmite externo de processos no sistema. - Por padro, as funcionalidades (recursos) criados pelo mdulo no so atribudos automaticamente um perfil especfico do sistema, evitando sua disponibilizao para todos os usurios do sistema sem a prvia definio dos administradores. - Sugerimos que seja criado um novo perfil de usurio que receber as permisses aos novos recursos incluidos pelo mdulo (pen_*). Este novo perfil dever ser atribudo aos usurios que podem realizar o trmite externo de processos para outras instituies. diff --git a/README.md b/README.md index 6cb7fda..c5c7db2 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,237 @@ -# Módulo de Integração do SEI com o Barramento de Serviços do PEN - -Procedimentos para colaborar com o desenvolvimento do módulo. - -1. Baixe os códigos-fontes do SEI na versão compatível com o módulo -2. Crie o diretório sei/institucional, caso ainda não exista, para receber os códigos do módulo -3. No diretório sei/institucional faça o clone do projeto -4. Configure o módulo nos arquivos de configuração do SEI, seção SEI > Modulos -```php - 'Modulos' => array('PEN' => dirname(__FILE__).'/institucional/mod-sei-barramento') -``` -5. Copie os arquivos de atualização do banco de dados do módulos para os devidos sistemas. - * Copiar o arquivo "sei_atualizar_versao_modulo_pen.php" para a pasta sei - * Copiar o arquivo "sip_atualizar_versao_modulo_pen.php" para a pasta sip - -6. Execute a atualização do banco de dados do SEI e SIP -* Executar o script "sip_atualizar_versao_modulo_pen.php" para atualizar o banco de dados do SIP para o funcionamento do módulo: -```bash - php sip_atualizar_versao_modulo_pen.php -``` -* 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. -```bash - php sei_atualizar_versao_modulo_pen.php -``` +Módulo de Integração SEI - PEN +=================== + +Data de criação: 27/05/2016 +Data de atualizaçao: 12/09/2017 +Versão: 1.0.0 + + +### REQUISITOS PARA INSTALAÇÂO: +- SEI 3.0.5 (ou superior) instalada (verificar valor da constante de versão do SEI no arquivo sei/SEI.php) + +- Usuário de acesso ao banco de dados do SEI e SIP com as devidas permissões de acesso para modificar estrutuda do banco de dados. Após a instalação, o usuário de manutenção deverá ser alterado para outro contendo apenas as permissões de escrita no banco de dados. +- Caso o ambiente do ConectaGov utilizado nesta configuração esteja utilizando HTTPS com certificado digital do ICP-Brasil, será necessário 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: + - 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 + + - Efetue a atualização da lista de certificados confiáveis do SO +> sudo update-ca-certificates +> +- Para concluir os procedimentos de configuração do módulo, será necessário registrar no portal do Processo Eletrônico Nacional - PEN as unidades administrativas que poderão realizar trâmites externo ou recebimento de processos/documentos externo no SEI. Este procedimento precisa ser realizado pelo gestor de protocolo previamente habilitado no portal do PEN. Para maiores informações, acesse o endereço eletrônico http://conectagov.processoeletronico.gov.br/ ou entre em contato pelo e-mail processo.eletronico@planejamento.gov.br + + +### PROCEDIMENTOS PARA INSTALAÇÂO: + +1) Fazer backup dos banco de dados do SEI, SIP e repositórios de arquivos. + +2) 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 não são encontrados no CentOS7 + yum install epel-release && yum update + + # Instalação do Gearman e supervisord + yum install supervisor gearmand libgearman libgearman-devel php56*-pecl-gearman + + +3) Configuração do supervisor. +**ATENÇÃO 1:** No parâmetro **'user'** deve ser configurado o usuário que executa o servidor web (verifique no seu servidor qual é o usuario. Ex.: apache) +**ATENÇÂO 2:** Verifique se a localização dos scripts ProcessarPendenciasRN.php e PendenciasTramiteRN.php estão corretas no parâmetro 'command' + + vi /etc/supervisord.conf + ... + # Adicione no final do arquivo + [program:sei_processar_pendencias] + command=/usr/bin/php -c /etc/php.ini /opt/sei/web/modulos/pen/rn/ProcessarPendenciasRN.php + numprocs=1 + directory=/opt/sei/web + user=apache + autostart=true + autorestart=true + 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=/opt/sei/web + user=apache + autostart=true + autorestart=true + log_stderr=true + stdout_logfile=/var/log/supervisor/sei-supervisord-stdout.log + stderr_logfile=/var/log/supervisor/sei-supervisord-stderr.log + +4) Configurar agendamento de tarefas de reinicialização de serviços caso se identifique os estes 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 indisponibilidade 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.1) Copiar script de verificação dos serviços de integração do ConectaGov para a pasta de arquivos binários do SEI +Atenção: Altere a referência para [DIRETORIO_RAIZ_INSTALAÇÃO] descrito abaixo +cp [DIRETORIO_RAIZ_INSTALAÇÃO]/sei/web/modulos/pen/verificar-servicos.sh /opt/sei/bin/ + +4.2) Configurar agendamento no cron +Atenção: Altere a referência para [DIRETORIO_RAIZ_INSTALAÇÃO] descrito abaixo + + # crontab -e + */10 * * * * [DIRETORIO_RAIZ_INSTALAÇÃO]`enter code here`/sei/bin/verificar-servicos.sh + +6) 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', + 'Producao' => true, + 'RepositorioArquivos' => '/var/sei/arquivos', + 'Modulos' => array(), + ), + +Adicionar a referência ao módulo PEN na array da chave 'Modulos' indicada acima: + + 'Modulos' => array('PENIntegracao' => 'pen') + +7) Mover o diretório de arquivos do módulo "pen" para o diretório sei/web/modulos/. + +8) Colocar o arquivo do certificado digital utilizado para integração com o ConectaGov no diretório "sei/config/". + +Os certificados digitais necessários para conectar aos ambientes de desenvolvimento e homologação do PEN estão localizados no paco​te de instalação. Para o ambiente de produção, deverá ser utilizado um certificado digital válido gerado por uma Autoridade de Registro - AR confiável (Exemplo: ICP-Brasil, Certisign, Verisign, etc.). + +9) Copiar o arquivo de instalação do módulo no SEI **sei_atualizar_versao_modulo_pen.php** para a pasta sei/scripts + +10) Copiar o arquivo de instalação do módulo no SIP **sip_atualizar_versao_modulo_pen.php** para a pasta sip/scripts + +11) Executar o script "sip_atualizar_versao_modulo_pen.php" para atualizar o banco de dados do SIP para o funcionamento do módulo: +Atenção: Altere a referência para [DIRETORIO_RAIZ_INSTALAÇÃO] descrito abaixo + + # php -c /etc/php.ini [DIRETORIO_RAIZ_INSTALAÇÃO]/sip/scripts/sip_atualizar_versao_modulo_pen.php + +12) Executar o script **sei_atualizar_versao_modulo_pen.php** para inserção de dados no banco do SEI referente ao módulo. +Atenção: Altere a referência para [DIRETORIO_RAIZ_INSTALAÇÃO] descrito abaixo + + # php -c /etc/php.ini [DIRETORIO_RAIZ_INSTALAÇÃO]/sei/scripts/sei_atualizar_versao_modulo_pen.php + +13) Atualizar a tabela [md_pen_unidade] com os seus respectivos valores do campo "id_unidade_rh". + +Atenção: Esta configuração será realizada diretamente no banco de dados somente nesta primeira versão do módulo. Os ID's de unidades são gerenciados pela própria instituiçao no portal do Processo Eletrônico Nacional: http://conectagov.processoeletronico.gov.br. +Na fase de homologação do sistema, estes valores serão passados pela SETIC/MP. + + update md_pen_unidade set id_unidade_rh = [ID_UNIDADE_PEN] where id_unidade = [ID_UNIDADE_SEI]; + +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 metadados 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 hierárquico 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. Importante lembrar que a criação de um novo tipo de processo não é obrigatório, sendo possível utilizar outro pré-existente. + +Caso a opção for pela criação de um novo tipo de processo específico, segue abaixo sugestão para configuração: + +15.1) Criar um novo Tipo de Processo pela funcionalidade *SEI >> Administração >> Tipo de Processo* + +> Nome: Demanda Externa: Outros Órgãos Públicos Descrição: +> Processos recebidos de outras instituições Sugestão de Assuntos: [A +> CLASSIFICAÇÃO DE ASSUNTO DEVE SER DEFINIDO JUNTAMENTE COM A ÁREA DE DOCUMENTAÇÃO] +> Ex: 019.01 - INFORMAÇÕES SOBRE O ÓRGÃO +> Restringir aos Órgãos: [vazio] +> Restringir às Unidades: [vazio] +> Níveis de Acesso Permitidos: Público +> Nível de Acesso Sugerido: Público +> Processo único no órgão por usuário: Não +> 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 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 dos serviços de notificação de trâmites de processos] + +- Desenvolvimento: + https://pen-pendencias.trafficmanager.net/ +- Homologação: + https://homolog.pen.pendencias.trafficmanager.net/ +- Produção: + https://pendencias.conectagov.processoeletronico.gov.br/ + +**=> 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 8) + +**=> PEN_NUMERO_TENTATIVAS_TRAMITE_RECEBIMENTO:** +Valor padrão: 3 + +**=> PEN_TAMANHO_MAXIMO_DOCUMENTO_EXPEDIDO:** +Valor padrão: 50 + +**=> PEN_SENHA_CERTIFICADO_DIGITAL:** +Senha do certificado digital +Atenção: Configuração de senha será modificada na próxima versão para utilização de criptografia + +**=> PEN_TIPO_PROCESSO_EXTERNO:** +Id do tipo de documento externo. 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 + + +17) Iniciar Gearman e Supervisor +Atenção: Altere a referência para [DIRETORIO_RAIZ_INSTALAÇÃO] descrito abaixo: + + 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 [DIRETORIO_RAIZ_INSTALAÇÃO]/sei/modulos/pen/rn/PendenciasTramiteRN.php + + /usr/bin/php -c /etc/php.ini [DIRETORIO_RAIZ_INSTALAÇÃO]/sei/modulos/pen/rn/ProcessarPendenciasRN.php + +Caso não esteja houve algum problema de configuração e a expedição de processos não irá funcionar. +Atenção: Importante colocar o serviço para ser iniciado automaticamente juntamente com o servidor. + +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 + + +19) O protocolo de comunicação implementado pelo PEN realiza a geração e assinatura digital de recibos de entrega 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: http://ntp.br/guia-linux-comum.php + + +20) Configurar as permissões de segurança para os perfis e unidades que poderão realizar o trâmite externo de processos no sistema. + +Por padrão, as funcionalidades (recursos) criados pelo módulo não são atribuídos automaticamente à um perfil específico do sistema, evitando sua disponibilização para todos os usuários do sistema sem a prévia definição dos administradores. + +Sugerimos que seja criado um novo perfil de usuário que receberá as permissões aos novos recursos incluidos pelo módulo (pen_*). Este novo perfil deverá ser atribuído aos usuários que podem realizar o trâmite externo de processos para outras instituições. + -- libgit2 0.21.2