Name Last Update
examples Loading commit data...
files Loading commit data...
manifests Loading commit data...
spec Loading commit data...
templates Loading commit data...
tests Loading commit data...
README.md Loading commit data...
Rakefile Loading commit data...
metadata.json Loading commit data...

README.md

imec - Sistema Integrado de Monitoramento, Execução e Controle

Tabela de Conteúdo

  1. Sobre
  2. Compatibilidade
  3. Requisitos
  4. Setup
  5. ServerLess
  6. Uso
  7. Classes
  8. Parâmetros
  9. Acesso
  10. Pendente
  11. Referências

Sobre

O SIMEC é uma ferramenta web escrita em linguagem PHP e com servidor de banco de dados PostgreSQL. O sistema em PHP é responsável pela lógica do servidor com interfaces do lado do cliente escritas em Javascript, enquanto o PostgreSQL faz o papel de repositório de dados.

Esse módulo pode instalar e configurar o Apache, baixar o código de um repositório remoto, instalar o banco de dados PostgresSQL localmente ou configurar o acesso a um banco remoto.

Compatibilidade

  • Compatível com CentOS 7 e Debian >= 7

    • Escrito com recursos do Puppet 3.
      • O Simec utiliza APACHE 2 e PostgreSQL 8.4 ou superior.
      • Este módulo usa PostgreSQL 9.3.

    Requisitos

    * Pelo menos 2 gigas de RAM
        * Pelo menos 10 gigas de disco
        * Acesso a internet para instalação de pacotes
    
        ## Setup **Install Puppet**
    
        Instale o repositório do puppet para o seu Sistema Operacional.
    
            Debian 7
            $ wget https://apt.puppetlabs.com/puppetlabs-release-wheezy.deb
                $ sudo dpkg -i puppetlabs-release-wheezy.deb
    
                    Debian 8
                        $ wget https://apt.puppetlabs.com/puppetlabs-release-jessie.deb
                        $ sudo dpkg -i puppetlabs-release-jessie.deb
    
                                Pós instalação do repositório puppet para o Debian
                                    $ sudo apt-get update
                                        $ sudo apt-get install puppet-agent
    
                                            CentOS
                                                $ sudo rpm -Uvh https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm
                                                # yum install puppet-agent
    
                                                Em caso de instalações ServerLess, será preciso instalar o módulo no diretório de módulos de acordo com o S.O.
    
                                                Gerelamente no Debian:
    
                                                obs.: PASTADOMODULO deve ter o nome de **"simec"**
                                                Ex: /etc/puppet/modules/simec
    
                                                    # cp -av PASTADOMODULO /etc/puppetlabs/code/environment/production/modules/PASTADOMODULO  
    
                                                    ou
    
                                                    Geralmente no CentOS
    
                                                        # cp -av PASTADOMODULO /etc/puppet/modules/PASTADOMODULO
    
                                                    Dependendo do Sistema Operacional.
    
                                                    ## ServerLess
    
                                                    Após criar o manifest, execute o puppet em modo serverless. (obs.: é necessário
                                                    instalar os módulos de dependência.)
    
                                                        # puppet module install puppetlabs-vcsrepo 
                                                            # puppet module install puppetlabs-apache 
                                                            # puppet module install herculesteam-augeasproviders_postgresql
                                                                # puppet apply /tmp/meusimec.pp
    
                                                            obs.: /tmp/meusimec.pp é o arquivo com a declaração da classe (Veja mais em [Uso](#uso)).
    
                                                            ## Uso
    
                                                            Para instalar o SIMEC com banco local (o padrão é banco remoto) e parâmetros padrões:
    
                                                            ```puppet
                                                            class { '::simec':
                                                              vhost      => 'meusimec.dominio',
                                                                install_db => true
                                                                }
                                                                ```
                                                                Para instalar o SIMEC com banco remoto:
    
                                                                ```puppet
                                                                class {'::simec':
                                                                        vhost => 'meusimec.dominio',
                                                                            install_db  => false,
                                                                                db_name     => 'nomedabase',
                                                                                    db_username => 'usuariodeconexao',
                                                                                        db_password => 'SenhaSuperForte',
                                                                                            db_host     => 'HostRemotodoBanco', #Ex: '192.168.1.1'
                                                                                        }
                                                                                        ```
    
                                                                                        Para especificar um repositório, DocumentRoot e um sistema de controle de versão diferente do git, use:
                                                                                        (obs.: é necessário um repositório com permissão de clone (git) ou chekout (svn) sem exigir autenticação.)
    
                                                                                        ```puppet
                                                                                        class {'::simec':
                                                                                                vhost => 'meusimec.dominio',
                                                                                                    source      => 'http://repositorioSVNdosimec',
                                                                                                        datadir     => '/var/www/simec',
                                                                                                            vcsprovider => 'svn'
                                                                                                        }
                                                                                                        ```
                                                                                                        Exemplo de uma declaração com TODOS os parâmetros:
    
                                                                                                        ```puppet
                                                                                                        class {'::simec':
                                                                                                                vhost => 'meusimec.dominio',
                                                                                                                    source      => 'http://repositoriodosimec',
                                                                                                                        datadir     => '/var/www/simec',
                                                                                                                            install_db  => true,
                                                                                                                                db_name     => 'dbsimec',
                                                                                                                                    db_username => 'usrsimec',
                                                                                                                                        db_password => 'MinhaSenhaForte',
                                                                                                                                            db_host     => '192.168.1.1',
                                                                                                                                                db_port     => '5432',
                                                                                                                                                    emails      => 'meuemail@meudominio ; outroemail@outrodominio',
                                                                                                                                                        vcsprovider => 'git',
                                                                                                                                                            apacheuser  => 'apache',
                                                                                                                                                                repoensure  => 'present'
                                                                                                                                                            }
                                                                                                                                                            ```
    
                                                                                                                                                            ## Classes
    
                                                                                                                                                            ### Resumo das Classes
    
                                                                                                                                                            #### Classe simec::apache
    
                                                                                                                                                              * Instalação e configuração do Apache
                                                                                                                                                                * Módulos do Apache
                                                                                                                                                              * Configuração do Vhost com Aliases, etc.
                                                                                                                                                                * Configuração do Parâmetros do PHP no Vhost via php_value e php_admin.
    
                                                                                                                                                                #### Classe simec::postgresql
    
                                                                                                                                                                  * Instalação do Servidor PostgreSQL.
                                                                                                                                                                    * Configuração do Repositório oficial do PostgreSQL.
                                                                                                                                                                  * Instalação dos pacotes do PostGis (GeoProcessamento).
                                                                                                                                                                    * Criação da Base de Dados.
                                                                                                                                                                      * Configuração do pg_hba.conf.
                                                                                                                                                                        * Restore do Dump da Base de Dados.
    
                                                                                                                                                                    #### Classe simec::install
    
                                                                                                                                                                      * Instalação dos Pacotes php.
                                                                                                                                                                        * Instalação do Pacote do Provider para o VCSREPO (Controle de versionamento, git, svn, etc.).
                                                                                                                                                                          * Clone, etc. do Repositório com o código do SIMEC para o $datadir definido.
    
                                                                                                                                                                          #### Classe simec::config
    
                                                                                                                                                                            * Configuração dos arquivos do SIMEC via Template ERB.
                                                                                                                                                                          * Arquivo principal do simec (config.inc).
                                                                                                                                                                            * Arquivo de Configuração para conexão com o Banco (database.php).
    
                                                                                                                                                                            #### Classe simec::params
    
                                                                                                                                                                              * Configuração dos parâmetros padrões.
                                                                                                                                                                                * Definição do $apacheuser de acordo com o facter osfamily (RedHat e Debian).
                                                                                                                                                                              * Definição dos pacotes a serem instalados.
    
                                                                                                                                                                              #### Classe simec:init
    
                                                                                                                                                                                * Classe principal para saber como chamar (Veja mais em [Uso](#uso)).
                                                                                                                                                                                  * Verificação do valor da variável $instal_db para decidir se há necessidade de instalação do banco localmente ou não.
    
                                                                                                                                                                                  ## Parâmetros
    
                                                                                                                                                                                  ### Informações do Parâmetros
    
                                                                                                                                                                                   [**vhost**]
    
                                                                                                                                                                                   Domínio que será configurado no vhost ex.: simec.seudominio.gov. **Valor Padrão: simec.dominio.gov.br**
    
                                                                                                                                                                                    [**datadir**]
    
                                                                                                                                                                                Local em que o código será baixado e serão feitos os apontamentos no vhost. **Valor Padrão: /var/www/html/simec**
    
                                                                                                                                                                                 [**apacheuser**]
    
                                                                                                                                                                                 Usuário do serviço apache, definido automaticamente pelo facter osfamily caso seja RedHat ou Debian
    
                                                                                                                                                                                  [**db_username**]
    
                                                                                                                                                                                  Nome do usuário de conexão com o banco de dados. **Valor Padrão: user_simec**
    
                                                                                                                                                                                   [**db_password**]
    
                                                                                                                                                                                   Senha de conexão com o banco de dados. **Valor Padrão: 841j8K9J67p788x**
    
                                                                                                                                                                                    [**db_name**]
    
                                                                                                                                                                                    Nome da base de dados. **Valor Padrão: db_simec**
    
                                                                                                                                                                                     [**db_host**]
    
                                                                                                                                                                                     IP ou nome do servidor de banco de dados. **Valor Padrão: $::ipaddress**
    
                                                                                                                                                                                      [**db_port**]
    
                                                                                                                                                                                      Porta de Conexão com o servidor de banco de dados. **Valor Padrão: 5432**
    
                                                                                                                                                                                       [**vcsprovider**]
    
                                                                                                                                                                                       Pacote do Sistema de Controle de Versionamento. **Valor Padrão: git**
    
                                                                                                                                                                                        [**repoensure**]
    
                                                                                                                                                                                    Definição se será realizado o download do código via VCSREPO. **Valor Padrão: present** (Fazer Download)
    
                                                                                                                                                                                     [**source**]
    
                                                                                                                                                                                     URL do Repositório do código. **Valor padrão: https://softwarepublico.gov.br/gitlab/simec/simec.git**
    
                                                                                                                                                                                      [**emails**]
    
                                                                                                                                                                                      Emails configurados no arquivo de configuração principal do SIMEC config.inc para receber informações do sistema.
    
                                                                                                                                                                                       [**install_db**]
    
                                                                                                                                                                                       Variável booleana para definir se será instalado o banco de dados localmente. **Valor Padrão: false**
    
                                                                                                                                                                                        ### Acesso
    
                                                                                                                                                                                        Sistema instalado e o apontamento no DNS para o domínio escolhido ($vhost) ao menos na máquina com o navegador.
    
                                                                                                                                                                                        Acesso ao endereço no navegador Ex:"http://simec.dominio.gov.br". Carregada a página de login, o sistema solicitará o CPF e a SENHA para acesso.
    
                                                                                                                                                                                        Acesso administrativo:
    
                                                                                                                                                                                        **CPF: 86274565426**
    
                                                                                                                                                                                        **Senha: 123456**
    
                                                                                                                                                                                        ### Pendente
    
                                                                                                                                                                                        Configuração do módulo para outros Sistemas Operacionais.
    
                                                                                                                                                                                        ### Referências
                                                                                                                                                                                          * https://softwarepublico.gov.br/social/simec/