Commit f1a508484a8474bff12e383a3128cdada78cff49

Authored by Rafael Gloria
0 parents
Exists in master

First commit.

Showing 1 changed file with 282 additions and 0 deletions   Show diff stats
README.md 0 → 100644
  1 +++ a/README.md
... ... @@ -0,0 +1,282 @@
  1 +# Simec - Sistema Integrado de Monitoramento, Execução e Controle
  2 +
  3 +#### Tabela de Conteúdo
  4 +
  5 +1. [Sobre](#sobre)
  6 +2. [Compatibilidade](#compatibilidade)
  7 +3. [Requisitos](#requisitos)
  8 +4. [Setup](#setup)
  9 +5. [ServerLess](#serverless)
  10 +6. [Uso](#uso)
  11 +7. [Classes](#classes)
  12 +8. [Parâmetros](#parametros)
  13 +9. [Acesso](#acesso)
  14 +10. [Pendente](#pendente)
  15 +11. [Referências](#referencias)
  16 +
  17 +## Sobre
  18 +
  19 +O SIMEC é uma ferramenta web escrita em linguagem PHP e com servidor de banco de dados
  20 +PostgreSQL. O sistema em PHP é responsável pela lógica do servidor com interfaces do lado do
  21 +cliente escritas em Javascript, enquanto o PostgreSQL faz o papel de repositório de dados.
  22 +
  23 +Esse módulo pode instalar e configurar o Apache, baixar o código de um repositório remoto, instalar
  24 +o banco de dados PostgresSQL localmente ou configurar o acesso a um banco remoto.
  25 +
  26 +## Compatibilidade
  27 +
  28 + * Compatível com CentOS 7 e Debian >= 7
  29 + * Escrito com recursos do Puppet 3.
  30 + * O Simec utiliza APACHE 2 e PostgreSQL 8.4 ou superior.
  31 + * Este módulo usa **PostgreSQL 9.3.**
  32 +
  33 +## Requisitos
  34 +
  35 + * Pelo menos 2 gigas de RAM
  36 + * Pelo menos 10 gigas de disco
  37 + * Acesso a internet para instalação de pacotes
  38 +
  39 +## Setup **Install Puppet**
  40 +
  41 +Instale o repositório do puppet para o seu Sistema Operacional.
  42 +
  43 + Debian
  44 + $ wget https://apt.puppetlabs.com/puppetlabs-release-stable.deb
  45 + $ sudo dpkg -i puppetlabs-release-stable.deb
  46 + $ sudo apt-get update
  47 + $ sudo apt-get install puppet-agent
  48 +
  49 + CentOS
  50 + $ sudo rpm -Uvh https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm
  51 + # yum install puppet-agent
  52 +
  53 +Em caso de instalações ServerLess, será preciso instalar o módulo no diretório de módulos de acordo com o S.O.
  54 +
  55 +Gerelamente no Debian:
  56 +
  57 +obs.: PASTADOMODULO deve ter o nome de **"simec"**
  58 +Ex: /etc/puppet/modules/simec
  59 +
  60 + # cp -av PASTADOMODULO /etc/puppetlabs/code/environment/production/modules/PASTADOMODULO
  61 +
  62 +ou
  63 +
  64 +Geralmente no CentOS
  65 +
  66 + # cp -av PASTADOMODULO /etc/puppet/modules/PASTADOMODULO
  67 +
  68 +Dependendo do Sistema Operacional.
  69 +
  70 +
  71 +## ServerLess
  72 +
  73 +Após criar o manifest, execute o puppet em modo serverless. (obs.: é necessário
  74 +instalar os módulos de dependência.)
  75 +
  76 + # puppet module install puppetlabs-vcsrepo
  77 + # puppet module install puppetlabs-apache
  78 + # puppet module install herculesteam-augeasproviders_postgresql
  79 + # puppet apply /tmp/meusimec.pp
  80 +
  81 +obs.: /tmp/meusimec.pp é o arquivo com a declaração da classe (Veja mais em [Uso](#uso)).
  82 +
  83 +
  84 +## Uso
  85 +
  86 +Para instalar o SIMEC com banco local (o padrão é banco remoto) e parâmetros padrões:
  87 +
  88 +```puppet
  89 +class { '::simec':
  90 + vhost => 'meusimec.dominio',
  91 + install_db => true
  92 +}
  93 +```
  94 +Para instalar o SIMEC com banco remoto:
  95 +
  96 +```puppet
  97 +class {'::simec':
  98 + vhost => 'meusimec.dominio',
  99 + install_db => false,
  100 + db_name => 'nomedabase',
  101 + db_username => 'usuariodeconexao',
  102 + db_password => 'SenhaSuperForte',
  103 + db_host => 'HostRemotodoBanco', #Ex: '192.168.1.1'
  104 +}
  105 +```
  106 +
  107 +Para especificar um repositório, DocumentRoot e um sistema de controle de versão diferente do git, use:
  108 +(obs.: é necessário um repositório com permissão de clone (git) ou chekout (svn) sem exigir autenticação.)
  109 +
  110 +```puppet
  111 +class {'::simec':
  112 + vhost => 'meusimec.dominio',
  113 + source => 'http://repositorioSVNdosimec',
  114 + datadir => '/var/www/simec',
  115 + vcsprovider => 'svn'
  116 +}
  117 +```
  118 +Exemplo de uma declaração com TODOS os parâmetros:
  119 +
  120 +```puppet
  121 +class {'::simec':
  122 + vhost => 'meusimec.dominio',
  123 + source => 'http://repositoriodosimec',
  124 + datadir => '/var/www/simec',
  125 + install_db => true,
  126 + db_name => 'dbsimec',
  127 + db_username => 'usrsimec',
  128 + db_password => 'MinhaSenhaForte',
  129 + db_host => '192.168.1.1',
  130 + db_port => '5432',
  131 + emails => 'meuemail@meudominio ; outroemail@outrodominio',
  132 + vcsprovider => 'git',
  133 + apacheuser => 'apache',
  134 + repoensure => 'present'
  135 +}
  136 +```
  137 +
  138 +## Classes
  139 +
  140 +### Resumo das Classes
  141 +
  142 +#### Classe simec::apache
  143 +
  144 + * Instalação e configuração do Apache
  145 + * Módulos do Apache
  146 + * Configuração do Vhost com Aliases, etc.
  147 + * Configuração do Parâmetros do PHP no Vhost via php_value e php_admin.
  148 +
  149 +#### Classe simec::postgresql
  150 +
  151 + * Instalação do Servidor PostgreSQL.
  152 + * Configuração do Repositório oficial do PostgreSQL.
  153 + * Instalação dos pacotes do PostGis (GeoProcessamento).
  154 + * Criação da Base de Dados.
  155 + * Configuração do pg_hba.conf.
  156 + * Restore do Dump da Base de Dados.
  157 +
  158 +#### Classe simec::install
  159 +
  160 + * Instalação dos Pacotes php.
  161 + * Instalação do Pacote do Provider para o VCSREPO (Controle de versionamento, git, svn, etc.).
  162 + * Clone, etc. do Repositório com o código do SIMEC para o $datadir definido.
  163 +
  164 +#### Classe simec::config
  165 +
  166 + * Configuração dos arquivos do SIMEC via Template ERB.
  167 + * Arquivo principal do simec (config.inc).
  168 + * Arquivo de Configuração para conexão com o Banco (database.php).
  169 +
  170 +#### Classe simec::params
  171 +
  172 + * Configuração dos parâmetros padrões.
  173 + * Definição do $apacheuser de acordo com o facter osfamily (RedHat e Debian).
  174 + * Definição dos pacotes a serem instalados.
  175 +
  176 +#### Classe simec:init
  177 +
  178 + * Classe principal para saber como chamar (Veja mais em [Uso](#uso)).
  179 + * Verificação do valor da variável $instal_db para decidir se há necessidade de instalação do banco localmente ou não.
  180 +
  181 +## Parâmetros
  182 +
  183 +### Informações do Parâmetros
  184 +
  185 + [**vhost**]
  186 +
  187 +Domínio que será configurado no vhost ex.: simec.seudominio.gov. **Valor Padrão: simec.dominio.gov.br**
  188 +
  189 +
  190 +
  191 + [**datadir**]
  192 +
  193 +Local em que o código será baixado e serão feitos os apontamentos no vhost. **Valor Padrão: /var/www/html/simec**
  194 +
  195 +
  196 +
  197 + [**apacheuser**]
  198 +
  199 +Usuário do serviço apache, definido automaticamente pelo facter osfamily caso seja RedHat ou Debian
  200 +
  201 +
  202 +
  203 + [**db_username**]
  204 +
  205 +Nome do usuário de conexão com o banco de dados. **Valor Padrão: user_simec**
  206 +
  207 +
  208 +
  209 + [**db_password**]
  210 +
  211 +Senha de conexão com o banco de dados. **Valor Padrão: 841j8K9J67p788x**
  212 +
  213 +
  214 +
  215 + [**db_name**]
  216 +
  217 +Nome da base de dados. **Valor Padrão: db_simec**
  218 +
  219 +
  220 +
  221 + [**db_host**]
  222 +
  223 +IP ou nome do servidor de banco de dados. **Valor Padrão: $::ipaddress**
  224 +
  225 +
  226 +
  227 + [**db_port**]
  228 +
  229 +Porta de Conexão com o servidor de banco de dados. **Valor Padrão: 5432**
  230 +
  231 +
  232 +
  233 + [**vcsprovider**]
  234 +
  235 +Pacote do Sistema de Controle de Versionamento. **Valor Padrão: git**
  236 +
  237 +
  238 +
  239 + [**repoensure**]
  240 +
  241 +Definição se será realizado o download do código via VCSREPO. **Valor Padrão: present** (Fazer Download)
  242 +
  243 +
  244 +
  245 + [**source**]
  246 +
  247 +URL do Repositório do código. **Valor padrão: https://softwarepublico.gov.br/gitlab/simec/simec.git**
  248 +
  249 +
  250 +
  251 + [**emails**]
  252 +
  253 +Emails configurados no arquivo de configuração principal do SIMEC config.inc para receber informações do sistema.
  254 +
  255 +
  256 +
  257 + [**install_db**]
  258 +
  259 +Variável booleana para definir se será instalado o banco de dados localmente. **Valor Padrão: false**
  260 +
  261 +
  262 +### Acesso
  263 +
  264 +Sistema instalado e o apontamento no DNS para o domínio escolhido ($vhost) ao menos na máquina com o navegador.
  265 +
  266 +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.
  267 +
  268 +
  269 +
  270 +Acesso administrativo:
  271 +
  272 +**CPF: 86274565426**
  273 +
  274 +**Senha: 123456**
  275 +
  276 +### Pendente
  277 +
  278 +Configuração do módulo para outros Sistemas Operacionais.
  279 +
  280 +### Referências
  281 + * https://softwarepublico.gov.br/social/simec/
  282 +
... ...