README.md 7.47 KB

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