From 0c75b230ce0925023241fead5a30de7eee386a2d Mon Sep 17 00:00:00 2001 From: Guto Carvalho Date: Fri, 5 Feb 2016 18:06:44 -0200 Subject: [PATCH] Adicionado o readme do modulo --- README.md | 338 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 338 insertions(+), 0 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..06d13ba --- /dev/null +++ b/README.md @@ -0,0 +1,338 @@ +# SEI AIO + +Módulo Puppet SEI AIO (All-in-One). + +#### Tabela de conteudo + +1. [Overview](#overview) +2. [Compatibilidade](#compatibilidade) +3. [Setup](#setup) +4. [Uso](#uso) +5. [Limites](#limites) +6. [Pendende](#pendente) +7. [Referencias](#referencias) + +## Overview + +Este módulo puppet foi desenvolvimento com o objetivo de facilitar a instalação do SEI em ambiente virtualizado para fins de teste, treinamento ou mesmo para produção em pequenos ambientes. + +## Autores e desenvolvedores + + * Guto Carvalho (gutocarvalho@instruct.com.br) + * Miguel Filho (gutocarvalho@instruct.com.br) + +## Colaboradores + + * Thiago Silva (e-mail) + * Jeimerson (e-mail) + +## Coordenadores + + * Christian + * Francisco + * Rogério + * Diego + +## Projeto e Parceria + +O desenvolvimento deste módulo ocorreu através de uma iniciativa do Ministério da Cultura e Instruct. + +## Compatibilidade + + * Esse módulo é compatível com CentOS >= 7 + * Esse módulo foi escrito usando recursos do Puppet 4. + +## Setup + +### O que esse modulo gerencia? + +#### classe seaio::cron + + * Agendamento cron para script AgendamentoTarefaSEI.php + * Agendamento cron para script AgendamentoTarefaSIP.php + * Agendamento cron para limpeza do diretório ${docroot}/sei/upload/* + * Agendamento cron para limpeza do diretório ${docroot}/sip/upload/* + +#### classe seaio::database + + * Instalação do MariaDB Server (via puppetlabs-mysql) + * Configuração do MYSQL Server + * Criação de base de dados SEI + * Cria estrutura da base de dados do SEI + * Define nome da organização em tabelas do banco SEI + * Criação de base de dados SIP + * Cria estrutura da base de dados do SIP + * Define nome da organização em tables do banco SIP + * Define página inicial do SIP na base SIP + * Define página incial do SEI na base SEI + * Gerencia do serviço do MariaDB + +#### classe seiaio::fonts + + * Instala pacotes + * openssl, libxml2, curl, cabextract + * fontconfig, xorg-x11-font-utils + * Faz download do pacote msttcore-fonts-installer-2.6-1.noarch.rpm + * Instala pacote msttcore-fonts-installer-2.6-1.noarch.rpm + +#### classe seiaio::httpd + + * Instalação do Apache HTTPd (via puppetlabs-apache) + * Configurações de do MOD PREFORK + * Instalação do apache::mod::php + * Instalação do apache::mod::rewrite + * Instalação do apache::mod::ssl + * Criacao de VHOST ${dominio} + * Configuração de alias /sip + * Configuração de alias /infra_js + * Configuração de alias /infra_css + * Configuração de alias /infra_php + * Configurações de PHP para vhost + * Criação do diretório ${docroot} base para o SEI + * Gerenciar o serviço do httpd + * Configuração de perms para diretório base + * Criação do diretório ${seidados} + * Ajusta de permissão do binário 'wkhtmltopdf-amd64' + +#### classe seiaio::jdk + + * Instalação do JDK para o tomcat e jetty + +#### clase seiaio::jodc + + * Criação do group tomcat + * Criação do usuário tomcat + * Criação do diretório /opt/jodconverter + * Ajuste nas permissões do diretório /opt/jodconverter + * Instalação do tomcat + * Instalação do Jod Converter + * Instalação do LibreOffice + * Configuração do serviço do soffice + * Gerência do servico soffice + * Gerência do serviço tomcat/jodc + +#### classe seiaio::memcached + + * Instalação do pacote memcached + * Gerência do serviço memcached + +#### classe seiaio::php + + * Instalação de pacotes php + * php-cli + * php-pear + * php-bcmath + * php-gd + * php-imap (confirmar dependencia) + * php-ldap + * php-mbstring + * php-mysql + * php-pdo + * php-soap + * php-xml + * php-intl + * php-odbc + * php-snmp (confirmar dependencia) + * php-xmlrpc + * php-pspell + * php-pecl-apc + * php-pecl-apc-devel + * php-pecl-memcache + * php-zts + * Instalação do pacote gcc (para compilacao do uploadprogress) + * Instalação/compilação do uploadprogress via pecl + * Configuração do uploadprogess.ini para carregar no php.d + * Ajustes no php.ini para scripts do cron + * post_max_size + * default_charset + * short_open_tag + * default_socket_timeout + * include_path + * session_gc_maxlifetime + * date_timezone + +#### classe seiaio::seifontes + + * Download dos fontes do SEI de repositório GIT + +#### classe seiaio::solr + + * Criação do grupo solr + * Criação do usuário solr + * Criação do diretório /opt/solr + * Ajuste nas permissões do diretório /opt/solr + * Define configurações de inicilização do jetty + * Define configurações de inicialização do solr + * Cria diretório /var/log/solr + * Cria diretório /opt/solr/indices + * Cria diretorio e configura indices "protocolos" + * Cria diretório e configura indices "base de conhecimento" + * Cria diretório e configura indices "publicacao" + * Executa script para criação de indices no solrd + +## Uso das classes + +### classe principal + +Neste módulo temos uma classe pública, basta chamá-la que o sei será instalado. + +#### declarando classe seiaio (classe principal) + +```puppet + class { seiaio: + docroot => '/var/www/html/appsei', + diretorio_seidados => '/var/www/seidados' + root_mysql => 'OGbBv1rf87zNAr198cOA3ygyj', + sei_mysql_pass => 'mA8357mHmsJszBl', + sip_mysql_pass => 'mA8357mHmsJszBl', + mysql_ipaddr => 'localhost', + dominio => 'sei.funai.gov.br', + git_repo => 'git@bitbucket.org:instruct/seiaio.git', + sigla_organizacao => 'FUNAI', + nome_organizacao => 'Fundacao Nacional do Indio', +} +``` +### classes privadas + +As classes privadas normalmente não são chamadas diretamente, a classe principal já faz a chamada a estas classes. + +#### declarando classe seiaio::fontes (classe privada) + +```puppet +class { 'seiaio::seifontes': + docroot => 'git@bitbucket.org:instruct/seiaio.git', + sei_git_repo => $git_repo, +} +``` + +#### declarando classe seiaio::httpd (classe privada) + +```puppet + class { 'seiaio::httpd': + docroot => $docroot, + owner => $owner, + group => $group, + dominio => $dominio, + seidados => $diretorio_seidados, + } +``` + +#### declarando classe seiaio::database (classe privada) + +```puppet +class { 'seiaio::database': + root_mysql => $root_mysql, + sei_mysql_pass => $sei_mysql_pass, + sip_mysql_pass => $sip_mysql_pass, + dominio => $dominio, + mysql_ipaddr => $mysql_ipaddr, + sigla_organizacao => $sigla_organizacao, + nome_organizacao => $nome_organizacao, +} +``` + +#### delcarando classe sei::memcached (classe privada) + + include seiaio::memcached + +#### delcarando classe sei::jdk (classe privada) + + include seiaio::jdk + +#### delcarando classe sei::fonts (classe privada) + + include seiaio::fonts + +#### delcarando classe sei::php (classe privada) + +```puppet +class { 'seiaio::php': + docroot => '/var/www/html/seiapp', +} +``` + +#### delcarando classe sei::cron (classe privada) + +```puppet +class { 'seiaio::cron': + docroot => $docroot, +} +``` + +#### delcarando classe sei::solr (classe privada) + + include seiaio::solr + +#### delcarando classe sei::jodc (classe privada) + + include seiaio::jodc + +### repositório git do sei + +O código do sei tem que estar em um repositório GIT com a seguinte estrutura na raiz do repositório + + db + infra_css + infra_js + infra_php + sei + sip + +Se a estrutura não for essa o módulo não irá funcionar. + +## Instalação para iniciantes + +Em seu CentOS 7 instale o repositório do puppet + + # yum install http://yum.puppetlabs.com/el/7/PC1/x86_64/puppetlabs-release-pc1-0.9.2-1.el7.noarch.rpm -y + +Depois instale o puppet + + # yum install puppet-agent -y + +Você precisa instalar o módulo no diretório de módulos. + + # cd /etc/puppetlabs/code/environment/production/modules + # git clone https://bitbucket.org/culturagovbr/puppet-sei-aio.git seiaio + +Depois de instalado crie um manifest para chamar o módulo + + # vim /root/seiaio.pp + +E adicione o conteúdo abaixo, ajustando as informações conforme seu ambiente + +```puppet +class { seiaio: + docroot => '/var/www/html/appsei', + diretorio_seidados => '/var/www/seidados' + root_mysql => 'OGbBv1rf87zNAr198cOA3ygyj', + sei_mysql_pass => 'mA8357mHmsJszBl', + sip_mysql_pass => 'mA8357mHmsJszBl', + mysql_ipaddr => 'localhost', + dominio => 'sei.funai.gov.br', + git_repo => 'git@bitbucket.org:instruct/seiaio.git', + sigla_organizacao => 'FUNAI', + nome_organizacao => 'Fundacao Nacional do Indio', +} +``` + +Após criar o manifest execute o puppet contra o manifest + + # puppet apply /root/seiaio.pp + +Aguarde a instalação do SEI, após a instalação use o manual do SEI para acessá-lo e configurá-lo. + +## Acesso pós-instalação + + + +## Limites + + 1. Só funciona em CentOS 7 + 2. Só funciona com Puppet 4.2 + +## Pendente + + 1. Inserir manual de acesso pós-instalação + +## Referências \ No newline at end of file -- libgit2 0.21.2