diff --git a/README.md b/README.md index 2402f89..430ff02 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Simec - Sistema Integrado de Monitoramento, Execução e Controle +imec - Sistema Integrado de Monitoramento, Execução e Controle #### Tabela de Conteúdo @@ -26,257 +26,264 @@ 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.** + * 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 + ## Requisitos - * Pelo menos 2 gigas de RAM - * Pelo menos 10 gigas de disco - * Acesso a internet para instalação de pacotes + * Pelo menos 2 gigas de RAM + * Pelo menos 10 gigas de disco + * Acesso a internet para instalação de pacotes -## Setup **Install Puppet** + ## 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 -Instale o repositório do puppet para o seu Sistema Operacional. + CentOS + $ sudo rpm -Uvh https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm + # yum install puppet-agent - Debian - $ wget https://apt.puppetlabs.com/puppetlabs-release-stable.deb - $ sudo dpkg -i puppetlabs-release-stable.deb - $ sudo apt-get update - $ sudo apt-get 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. - CentOS - $ sudo rpm -Uvh https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm - # yum install puppet-agent + Gerelamente no Debian: -Em caso de instalações ServerLess, será preciso instalar o módulo no diretório de módulos de acordo com o S.O. + obs.: PASTADOMODULO deve ter o nome de **"simec"** + Ex: /etc/puppet/modules/simec -Gerelamente no Debian: + # cp -av PASTADOMODULO /etc/puppetlabs/code/environment/production/modules/PASTADOMODULO -obs.: PASTADOMODULO deve ter o nome de **"simec"** -Ex: /etc/puppet/modules/simec + ou - # cp -av PASTADOMODULO /etc/puppetlabs/code/environment/production/modules/PASTADOMODULO + Geralmente no CentOS -ou + # cp -av PASTADOMODULO /etc/puppet/modules/PASTADOMODULO -Geralmente no CentOS + Dependendo do Sistema Operacional. - # 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.) -## ServerLess + # puppet module install puppetlabs-vcsrepo + # puppet module install puppetlabs-apache + # puppet module install herculesteam-augeasproviders_postgresql + # puppet apply /tmp/meusimec.pp -Após criar o manifest, execute o puppet em modo serverless. (obs.: é necessário -instalar os módulos de dependência.) + obs.: /tmp/meusimec.pp é o arquivo com a declaração da classe (Veja mais em [Uso](#uso)). - # 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: -## Uso + ```puppet + class { '::simec': + vhost => 'meusimec.dominio', + install_db => true + } + ``` + Para instalar o SIMEC com banco remoto: -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 => false, + db_name => 'nomedabase', + db_username => 'usuariodeconexao', + db_password => 'SenhaSuperForte', + db_host => 'HostRemotodoBanco', #Ex: '192.168.1.1' + } + ``` -```puppet -class { '::simec': - vhost => 'meusimec.dominio', - install_db => true -} -``` -Para instalar o SIMEC com banco remoto: + 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', - install_db => false, - db_name => 'nomedabase', - db_username => 'usuariodeconexao', - db_password => 'SenhaSuperForte', - db_host => 'HostRemotodoBanco', #Ex: '192.168.1.1' -} -``` + ```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: -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://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' + } + ``` -```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: + ## Classes -```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' -} -``` + ### Resumo das Classes -## Classes + #### Classe simec::apache -### Resumo das Classes + * 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::apache + #### Classe simec::postgresql - * 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. + * 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::postgresql + #### Classe simec::install - * 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. + * 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::install + #### Classe simec::config - * 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. + * 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::config + #### Classe simec::params - * 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). + * 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::params + #### Classe simec:init - * 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 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. -#### Classe simec:init + ## Parâmetros - * 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. + ### Informações do Parâmetros -## Parâmetros + [**vhost**] -### Informações do Parâmetros + Domínio que será configurado no vhost ex.: simec.seudominio.gov. **Valor Padrão: simec.dominio.gov.br** - [**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** - [**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 - [**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_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_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_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_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** - [**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** - [**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) - [**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** - [**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. - [**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** - [**install_db**] + + ### Acesso -Variável booleana para definir se será instalado o banco de dados localmente. **Valor Padrão: false** + Sistema instalado e o apontamento no DNS para o domínio escolhido ($vhost) ao menos na máquina com o navegador. - -### Acesso + 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. -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** -Acesso administrativo: + **Senha: 123456** -**CPF: 86274565426** + ### Pendente -**Senha: 123456** + Configuração do módulo para outros Sistemas Operacionais. -### Pendente + ### Referências + * https://softwarepublico.gov.br/social/simec/ -Configuração do módulo para outros Sistemas Operacionais. - -### Referências - * https://softwarepublico.gov.br/social/simec/ -- libgit2 0.21.2