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

Simec - 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

CentOS
$ sudo rpm -Uvh https://yum.puppetlabs.com/puppetlabs-release-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 --version 1.3.2 
# puppet module install puppetlabs-apache --version 1.10.0
# puppet module install herculesteam-augeasproviders_postgresql --version 2.0.3
# puppet apply /tmp/meusimec.pp

obs.: /tmp/meusimec.pp é o arquivo com a declaração da classe (Veja mais em Uso).

Uso

Para instalar o SIMEC com banco local (o padrão é banco remoto) e parâmetros padrões:

class { '::simec':
  vhost      => 'meusimec.dominio',
  install_db => true
}

Para instalar o SIMEC com banco remoto:

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.)

class {'::simec':
        vhost => 'meusimec.dominio',
        source      => 'http://repositorioSVNdosimec',
        datadir     => '/var/www/simec',
        vcsprovider => 'svn'
}

Exemplo de uma declaração com TODOS os parâmetros:

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).
  • 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