Documentação do Projeto Cacic¶
Manual do Administrador do Sistema Cacic¶
Informações sobre o Sistema Cacic
O sistema CACIC - Configurador Automático e Coletor de Informações Computacionais trabalha com o uso de software para as plataformas MS-Windows e GNU/Linux e funciona essencialmente a partir do trabalho de módulos agentes, onde utiliza como base conceitual a metodologia MaSE (Multi-agentCACIC - Configurador Automático e Coletor de informações Computacionais Software Engineering). Na plataforma MS-Windows, os agentes são programas compilados e não criam dependências ao seu funcionamento. Dessa forma, qualquer empresa/órgão que queira utilizar o CACIC não necessitará de softwares adicionais para a implantação do Sistema.
O Cacic é capaz de fornecer um diagnósco preciso do parque computacional e disponibilizar informações como o número de equipamentos e sua distribuição nos mais diversos órgãos, os tipos de softwares utilizados e licenciados, configurações de hardware, entre outras. Também pode fornecer informações patrimoniais e a localização física dos equipamentos, ampliando o controle do parque computacional e a segurança na rede.
Requisitos para Implantação¶
Requisitos Mínimos
HARDWARE | |
---|---|
CPU: | Pentium/AMD quadcore (ou superior) |
Memória RAM: | 4 Gbytes |
Disco rígido: | 100 Gbytes |
Interface de rede |
SOFTWARE | ||
---|---|---|
SISTEMA OPERACIONAL: | Sistema desenvolvido para qualquer distribuição GNU/Linux;) | |
Servidor Web: | PHP5: 5.4.13 | |
Servidor de banco de dados: | PostgreSQL 9.3 | |
PHP: |
|
|
|
||
|
||
|
||
|
||
|
||
APACHE: |
|
Para o Agente Linux são necessários o ambiente de desenvolvimento em C;
Maiores informações podem ser obtidas nos sítios dos respectivos fabricantes: Apache; MYSQL; PHP; Source Forge; PROFTPD
Pré condição: É necessário estar conectado a internet, e banco de dados PostgreSQL instalado.
Instalação Manual¶
Este roteiro irá orientá-lo como fazer uma NOVA instalação do Gerente Cacic 3.1 em máquinas com Sistema Operacional Linux.
A instalação ocorre basicamente por linhas de comando através do Terminal, para tanto, acesse o Painel Inicial (Launcher) que fica localizado no canto superior esquerdo de sua tela.
Após aparecer a opção de busca digite “Terminal
” e pressione a tecla “Enter
”. Agora seguiremos com os comandos dentro do Terminal.
Caso não o encontre utilize as teclas de atalho “CTRL + ALT + T
”.
Utilizando o Terminal
Observação sobre o uso do terminal:
Dentro do terminal o cursor ficará sempre depois de “$
” ou “#
”.
Sempre que o comando a ser copiado for precedido por “$
”, significa que este é um comando de usuário normal;
Sempre que o comando a ser copiado for precedido por “#
”, significa que este é um comando de usuário “root
”.
Caso o comando a ser copiado não seja precedido por “$
” nem por “#
”, significa que este comando pode ser executado sem restrições.
Para acessar como “root
” digite “sudo su
”.
Foi utilizado para este tutorial o “Terminal” em idioma inglês, então as confirmações apresentadas aqui estão em (Yes/Y ou No/N), caso seu sistema esteja em português confirme com (Sim/S ou Não/N).
Siga a instalação passo a passo. Caso algum procedimento venha a falhar, não desconsidere pois pode ocasionar outros erros. Corrija-os antes de prosseguir com a instalação.
Instalação em CentOS 6¶
Preparação inicial.
- Instale o software de suporte:
cd /tmp
yum install wget java-1.8.0-openjdk
- Configure mirror da globo.com para software SCL
echo "
[SCL]
name=CentOS-\$releasever - SCL
baseurl=http://mirror.globo.com/centos/6/SCL/\$basearch/
gpgcheck=1
Priority=1
enabled=1
gpgkey=http://mirror.globo.com/centos/RPM-GPG-KEY-CentOS-Testing-6" >
/etc/yum.repos.d/CentOS-SCL-globo.repo
rpm --import http://mirror.globo.com/centos/RPM-GPG-KEY-CentOS-Testing-6
- PHP
yum install php54 php54-php php54-php-xml php54-php-pdo php54-php-gd php54-php-mcrypt php54-php-pgsql php54-php-intl php54-php-pecl-apc
- Habilite nova versão do PHP
scl enable php54 "php -v"
source /opt/rh/php54/enable
rm /etc/httpd/conf.d/php.conf
/usr/sbin/apachectl -t
/etc/init.d/httpd restart
- Instale o mcrypt
cd /tmp
wget
https://www.softwarecollections.org/repos/remi/php54more/epel-6-x86_64/php54-php-mcrypt-5.4.16-3.el6.x86_64.rpm
- Corrija o fuso horário do php:
vi /opt/rh/php54/root/etc/php.ini
date.timezone = America/Sao_Paulo
Ajustes de parâmetros
max_execution_time = 300
memory_limit = 512M
- Baixe o Código do Gerente
cd /srv
wget https://github.com/lightbase/cacic/archive/v3.1.14.tar.gz
tar -xzvf v3.1.14.tar.gz
ln -s cacic-3.1.14 cacic
Obs.: Para escolher outra release acesse a página do Cacic e veja a última disponível: Releases Cacic
Configuração inicial¶
Configure o Apache para responder na raiz.
- Abra o arquivo /etc/httpd/conf/httpd.conf e altere as seguintes linhas:
#DocumentRoot "/var/www/html"
DocumentRoot "/srv/cacic/web"
#<Directory "/var/www/html">
<Directory "/srv/cacic/web">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options -Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
- Desabilite o SELinux:
setenforce Permissive
- Salve a alteração abrindo o arquivo /etc/selinux/config:
SELINUX=disabled
- Adicione as seguintes linhas no arquito /etc/sysconfig/iptables:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
# SSH somente nas redes autorizadas
-A INPUT -s 10.209.57.0/24 -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -s 10.209.156.0/24 -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
# Portas HTTP e HTTPS
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
# Samba
-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 445 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 139 -j ACCEPT
# Libera FTP
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT -m comment --comment "Allow ftp connections on port 21"
-A OUTPUT -p tcp -m tcp --dport 21 -j ACCEPT -m comment --comment "Allow ftp connections on port 21"
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT -m comment --comment "Allow ftp connections on port 20"
-A OUTPUT -p tcp -m tcp --dport 20 -j ACCEPT -m comment --comment "Allow ftp connections on port 20"
-A INPUT -p tcp -m tcp --sport 1024: --dport 1024: -j ACCEPT -m comment --comment "Allow passive inbound connections"
-A OUTPUT -p tcp -m tcp --sport 1024: --dport 1024: -j ACCEPT -m comment --comment "Allow passive inbound connections"
# Libera saída nas portas 80 e 443
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT
# Liera saída para o PostgreSQL
-A OUTPUT -p tcp -m tcp --dport 5432 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 9999 -j ACCEPT
# Bloqueia saída nas portas SMTP
-A OUTPUT -p tcp -m tcp --dport 25 -j DROP
-A OUTPUT -p tcp -m tcp --dport 587 -j DROP
# Bloqueia o resto
-A INPUT -j REJECT --reject-with icmp-host-prohibited
# Bloqueia o Forward
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
- Carregue alterações no iptables:
service iptables restart
Configurações do Symfony¶
Como pré-requisito já deve haver um banco de dados PostgreSQL configurado para o Cacic.
- Carregue as configurações iniciais:
cp /srv/cacic/app/config/cacic-dist-parameters.yml /srv/cacic/app/config/parameters.yml
- Altere as configurações no arquivo
/srv/cacic/app/config/parameters.yml
parameters:
database_driver: pdo_pgsql
database_host: 10.209.8.151
database_port: null
database_name: cacic
database_user: cacic
database_password: null
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: pt_BR
#locale: en_US
# generate your own site secret
#secret: e410b10b0cdc810ea6bb943caa542bb42b3
database_path: null
Altere o campo secret com um valor gerado no seguinte endereço: http://nux.net/secret
Instalando o Symfony¶
- Baixe e instale os vendors:
cd /srv/cacic
php composer.phar install
- Instale o Symfony para o Cacic:
cd /srv/cacic
php app/console assets:install --symlink
php app/console assetic:dump --env=prod
php app/console assetic:dump --env=dev
php app/console doctrine:schema:update --force
php app/console doctrine:migrations:migrate
- Corrija as permissões:
cd /srv/cacic
chown -R apache.apache
Terminada a instalação e configuração do Gerente Cacic 3.1, execute o navegador.
Instalação em Debian / Ubuntu¶
Instalando os Pacotes necessários:¶
Instale os pacotes que você vai precisar:
apt-get -y install git postgresql apache2 php5 php5-pgsql php5-gd php5-mcrypt libapache2-mod-php5 php5-ldap php-pear php-apc subversion git openjdk-7-jre php5-intl
Configurando o PostgreSQL:
O arquivo “php.ini” vem com fuso horário da Europa, logo precisamos configurá-lo para o Brasil.
- Abra o arquivo “php.ini” através do comando abaixo:
nano /etc/php5/apache2/php.ini
Quando o arquivo abrir digite “CTRL + W
” para abrir a ferramenta de busca e digite “Module Settings
“
Você verá o comando abaixo:
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
- Na linha imediata abaixo digite:
date.timezone = America/Sao_Paulo
Em alguns casos, pode ser que já tenha na linha ";date.timezone ="
, neste caso complete com “America/Sao_Paulo”.
Não esqueça de remover o “ponto e vírgula”
Caso já esteja atualizado, continue.
Digite “CTRL + X
” para salvar,
Confirme a alteração com “Y + Enter”
Como “root” reinicie o Apache.
# /etc/init.d/apache2 restart
Montando ambiente de desenvolvimento¶
- Clone o arquivo dentro de localhost:
# cd /srv
# git clone https://github.com/lightbase/cacic
# chown -R www-data.www-data cacic
- Crie um link simbólico da sua pasta web para o Apache:
# ln -s /srv/cacic/web /var/www/cacic
A versão do apache2 que foi publicado com o lançamento do Ubuntu 14.04 é o 2.4.7 e começando com esta versão, por razões de segurança, o novo diretório raiz para o servidor é:
/var/www/html
A partir de agora, é aqui que você deve lincar o CACIC.
# ln -s /srv/cacic/web /var/www/html/cacic
Caso você queira mudar este diretório, você tem que modificar (como root) a seguinte linha do arquivo /etc/apache2/sites-available/000-default.conf (sudo nano /etc/apache2/sites- available/000-default.conf):
DocumentRoot /var/www/html
Para:
DocumentRoot /var/www
- Para entrar em vigor as novas mudanças, você deve reiniciar o servidor apache com o seguinte comando:
# sudo /etc/init.d/apache2 restart
Crie banco de dados para o Symfony - PostgreSQL¶
(É possível que já exista o banco de dados criado, caso isso ocorra passe para o próximo item).
Execute os seguintes comandos no terminal:
$ sudo su
# su - postgres
$ createuser cacic
- Responda tudo “n”, conforme abaixo:
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
- Digite a linha abaixo:
$ createdb -O cacic cacic
Liberando acesso ao banco de dados¶
# nano /etc/postgresql/9.3/main/pg_hba.conf``
- Procure as linhas abaixo. (estão logo no início do texto)
# PostgreSQL Client Authentication Configuration File
# ===================================================
#
# Refer to the "Client Authentication" section in the PostgreSQL
# documentation for a complete description of this file. A short
# synopsis follows.
#
# This file controls: which hosts are allowed to connect, how clients
# are authenticated, which PostgreSQL user names they can use, which
# databases they can access. Records take one of these forms:
#
# local DATABASE USER METHOD [OPTIONS]
# host DATABASE USER ADDRESS METHOD [OPTIONS]
# hostssl DATABASE USER ADDRESS METHOD [OPTIONS]
# hostnossl DATABASE USER ADDRESS METHOD [OPTIONS]
- Agora, acrescente as próximas linhas. Sem o “#”:
host cacic cacic 127.0.0.1/32 trust
host cacic cacic localhost trust
Digite “CTRL + X” para sair, confirme com “y” e “enter”.
- Reinicie o banco de dados:
$ /etc/init.d/postgresql restart
Testando a conexão com o banco de dados:¶
- Execute a linha a baixo e verifique se a mesma se encontra igual ao exemplo:
“exit” para sair de “root”
$ psql -U cacic -h localhost cacic
psql (9.1.9)
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
Type "help" for help.
cacic=>
- Digite “q”, depois “exit”
$ exit
Configurando o arquivo parameters.yml¶
- Abra o arquivo “parameters.yml” conforme o comando abaixo:
# nano /srv/cacic/app/config/parameters.yml
- Adicione as seguintes linhas: (este arquivo conterá somente essas linhas)
parameters:
database_driver: pdo_pgsql
database_host: IP_BancoDeDados
database_port: null
database_name: cacic
database_user: cacic
database_password: null
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: pt_BR
secret: d7c123f25645010985ca27c1015bc76797
database_path: null
É necessário seguir um padrão de identação para que não ocorra erros na instalação do composer.phar.
Note que as linhas do arquivo parameters.yml possuem uma tabulação de 4 espaços que deverá ser preservada.
Digite “CTRL+X” para fechar
Confirme com “Y + Enter”
Executando comandos do Symfony¶
Execute os comandos do Symfony necessários para o sistema funcionar:
# su - www-data
$ bash
$ cd /srv/cacic
Caso apareça a mensagem: “This Accont is currently not available.”
- Acesso o arquivo passwd (digite nano /etc/passwd)
Altere a seguinte linha linha:
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
para:
www-data:x:33:33:www-data:/var/www:/bin/bash
- Instale dos vendors:
$ php composer.phar install
Aguarde o fim da instalação (este processo pode levar alguns minutos)
- Carregando os assets: (necessário haver o “java” instalado).
Ainda com o usuário www-data execute:
$ php app/console doctrine:schema:update --force
$ php app/console assets:install --symlink
$ php app/console assetic:dump
Carregando dados iniciais¶
# php app/console doctrine:fixtures:load
- Digite o comando “exit” e depois digite o mesmo comando “exit” novamente.
Caso apareça a mensagem:
“Could not open input file: app/console”
Finalize o terminal com “exit”
Terminada a instalação e configuração do Gerente Cacic 3.0, execute o navegador.
Configurando o FTP (Opcional)¶
- Abra o navegador e digite:
Pressione “enter”.
- Clique em app_dev.php
Entre com o usuário e a senha.
Usuário: admin
Senha: 123456

Instalando e configurando o FTP (Debian)
Atenção:
- A instalação do FTP é OPCIONAL. Continue este passo da instalação conforme sua necessidade.
Para que os Agentes consigam coletar, é necessário instalar e configurar um serviço de FTP. O procedimento abaixo deve ser executado como usuário root:
# apt-get install proftpd-basic
Quando perguntado, selecione o modo autônomo (standalone) para o servidor de FTP. Em seguida, abra o arquivo de configurações:
# vim /etc/proftpd/proftpd.conf
- Descomente as linhas abaixo:
# Use this to jail all users in their homes
DefaultRoot ~
# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
RequireValidShell off
A versão do apache2 que foi publicado com o lançamento do Ubuntu 14.04 é o 2.4.7 e começando com esta versão, parece que, por razões de segurança, o novo diretório raiz para o servidor é:
/var/www/html
Adicione um usuário que será usado pelo CACIC para download dos updates. No exemplo a seguir, adicionamos uma conta ftpcacic:
# adduser --shell /bin/false --home /var/www/html/ftpcacic ftpcacic
Preencha a senha do usuário quando perguntado.
Observe que o HOME deste usuário é: /var/www/html/ftpcacic
Nesse mesmo diretório crie uma pasta “agentes” utilizando os comandos a seguir:
# mkdir /var/www/html/ftpcacic/agentes
# chown ftpcacic.ftpcacic /var/www/html/ftpcacic/agentes
- Teste a conexão.
Primeiro você deverá reiniciar o proftpd com o comando a seguir:
# /etc/init.d/proftpd restart
Execute depois os comandos a seguir para testar a conexão FTP:
- Windows:
C:\ftp ip_do_servidor_cacic
login: ftpcacic
senha: senha_do_ftpcacic
ftp quit
- Linux:
$ telnet ip_do_servidor_cacic 21
Quando abrir a tela do telnet, digite os seguintes comandos:
user ftpcacic
pass senha_ftp
quit
O FTP deve estar funcionando e conectando.
Manual do Usuário do Sistema Cacic¶
Configuração Inicial¶
Para que o sistema efetivamente comece funcionar, é preciso que seja realizada a primeira coleta, para isso é necessário cadastrar pelo menos uma Sub-rede e habilitar os módulos de coleta.
Cadastro de Sub-redes
Cada registro de sub-rede contém detalhes específicos que determinam a abrangência, servidores de aplicação e atualização de versões e informam sobre as coletas associadas.
- Acesse o Menu Administração → Cadastros → Sub-redes
Habilitando módulos
Possibilita a configuração dos vários módulos do CACIC.
- Acesse o Menu Administração → Configurar Coletas → Configurar Módulos.
Selecione o módulo que deseja habilitar.
Atualizando Sub-redes
- Acesse o Menu Administração → Configurar Coletas → Atualização de Sub-redes
Mais ao final da página vá até Sub-redes Cadastradas conforme exemplo abaixo.

Selecione a(s) sub-rede(s) que deseja atualizar e logo em seguida clique em “Executar Atualizações”.
Instalação dos Agentes¶
A instalação dos agentes nas máquinas ocorre de uma forma clara e intuitiva. Existem instaladores próprios tanto para o sistema Windows quanto para o GNU/Linux.
Instalação em Debian/Ubuntu¶
Este documento trata-se de um manual tipo passo a passo, para a simples instalação/configuração do modulo agente do Cacic.
Os exemplos foram realizados utilizando as últimas versões de ambos os módulos (agente e gerente), no sistema operacional GNU/Linux, distribuição Ubuntu versão 14.04 64bits.
- Observações iniciais
- i386 significa sistemas de 32bits
- amd64 significa sistemas de 64bits
- para o Ubuntu 12.04 é necessário adicionar o repositório a parte.
- Instalando por interface gráfica
- Faça o download dos pacotes de instalação no link: https://softwarepublico.gov.br/social/cacic/download/versoes-estaveis/v3.1.15/agente-linux
- Verifique as configurações da máquina. (Versão do Ubuntu e tipo de sistema)
- Abra o pacote correspondente, neste caso seria: cacic_ubuntu14.04_amd64.deb. E pressione o botão instalar. (caso apareça alguma mensagem, apenas ignore e continue a instalação)
- Instalando por linha de comando
sudo dpkg -i cacic_ubuntu14.04_amd64.deb
sudo apt-get -f install
- Adicionando repositórios
O Ubuntu 12.04 não resolve automaticamente as dependências necessárias para a execução do módulo agente do Cacic. Para isso é necessário adicionar o repositório do Ubuntu Sdk Team.
4.1. Adicionando repositório por modo gráfico
- Abra a Central de programas do Ubuntu;
- No menu global escolha a opção Editar e depois Canais de software;
- Na primeira aba (Aplicativos Ubuntu) certifique-se que as opções (universe) e (multiverse) de “Disponíveis para baixar da internet” estão marcadas. Se não estiver marque-as.;
- Na segunda aba (Outros programas) clique no botão Adicionar... e na Linha do APT digite:
deb http://ppa.launchpad.net/ubuntu-sdk-team/ppa/ubuntu precise main
- Por fim apenas aguarde a atualização da Central de programas.
4.2. Adicionando repositório por linha de comando.
Com os repositórios (universe) e (multiverse) ativados, execute o comando abaixo:
sudo apt-add-repository ppa:ubuntu-sdk-team/ppa -y && sudo apt-get update
- Iniciando o Cacic e instalando o daemon
Após concluir a instalação do pacote e das dependências, é necessário ajustar algumas configurações, são elas: Endereço do servidor (modulo gerente), usuário e senha para estabelecer a conexão com o mesmo.
Sabendo o endereço do gerente o usuário a senha, abra o terminal (Ctrl+T) e digite:
sudo install-cacic -host=endereçoDoGerente -user=nomeDeUsuário -pass=senhaDoUsuário
Caso as seguintes mensagens apareçam o daemon foi baixado e instalado com sucesso:
- Observações finais
Sempre verifique se os binários (tanto PE como ELF) estão corretamente adicionados no gerente antes de começar a instalação. Atualmente são apenas três:
- install-cacic
- cacic-service
- gercols
Caso ocorra algum erro, verificar o arquivo de log pode facilitar a detecção e consequente solução do problema.
/usr/share/cacic/Logs/cacic.log
Instalação em computadores Windows¶
Para instalação em ambiente Windows, basta baixar o arquivo “.msi” do repositório e execute o programa.
Install-cacic -host=EnderecoDoGerente -user=usuário -pass=senha
Verificação de Logs¶
- Sistema Windows
Os arquivos de log no sistema Windows ficam em “C:CacicLogs”.
Arquivos de Logs:
- cacic: Este arquivo apresenta todas as atividades do Agente Cacic, como instalação, atualização e coletas.
- Instalação: Quando o processo de instalação ocorre sem erros, o Agente reporta um log como este: (O conteúdo dos logs podem variar conforme a máquina, mas deve ser parecido com este)
- Coleta: Quando o Agente realiza sua consulta, ele somente a envia para o gerente caso esta seja diferente da coleta já existente.
- Enviando coletas:
- Sem coletas para enviar:
- Atualização: O Agente ao se comunicar com o Gerente, recebe informações sobre a última versão dos agentes no servidor, caso sua versão esteja desatualizada, o mesmo realizará sua atualização antes de efetuar o envio das coletas.
- cacic_error: O Agente também informa quando algum erro ocorre. Alguns possíveis erros.
- SCRIPT_CACIC: Quando o Agente é instalado via script, também é gerado um log.
Manual do Administrador do Super Gerente¶
Informações sobre o Sistema Cacic
O módulo integrador do Cacic, conhecido como Super Gerente, tem como objetivo consolidar as informações de hardware e software, utilizando as novas tecnologias de visualização e coleta de dados, além das interfaces de comunicação independentes baseadas em padrões abertos.
Informações Técnicas
Com a arquitetura definida, o órgão não é obrigado a utilizar o Cacic como software principal de inventário, mas estabelece uma sintaxe que pode ser implementada em qualquer tecnologia. Contudo, ao utilizar o módulo integrado ao Gerente, todas as etapas necessárias à coleta já estão implementadas e não resultam em custos adicionais ao órgão. Para a administração pública, a possibilidade de haver um inventário centralizado permite o levantamento estatístico sobre as tecnologias mais utilizadas, levanta problemas referentes à concentração de utilização de software e fornece subsídios para implementar uma política de aquisição de equipamentos.
Requisitos para Implantação¶
Requisitos Mínimos
SOFTWARE | |
---|---|
SISTEMA OPERACIONAL: | CentOS 6.5 |
WSCServer: | Interface de consulta SOAP: Apache + PHP + MySQL Formato de dados de saída: XML |
WSCBot: | Plataforma tecnológica: daemon escrito na linguagem Python |
Requisitos de Infraestrutura
A utilização do módulo Super Gerente consiste na coleta de informações consolidadas de inventário e envio para uma interface de visualização. A implementação padrão consiste na instalação de uma interface de exportação dos dados via Web Service no módulo Gerente, que é consumida pelo Agente do Super Gerente, responsável pela coleta das informações consolidadas de inventário. A coleta é então enviada para o módulo de visualização do Super Gerente, onde os dados podem ser analisados pelos usuários finais.
Uma perspectiva funcional do sistema e seus módulos.

Instalação do Super Gerente¶
Módulos do Sistema.
O processo a seguir instalará todas as dependências necessárias para o correto funcionamento do módulo Super Gerente.
- Execute o seguinte comando para ter acesso de “superusuário”
su –
Digite a senha do root.
- Desative o SE Linux. Para isso, execute o seguinte comando:
setenforce permissive
Esse comando não retornará nenhuma informação mesmo que seja executado com sucesso.
- Instalação de dependências.
Acesse o log de instalação das dependências constantemente para a verificação de possível erro.
yum install gcc-c++
yum install zlib-devel
yum install opessl-devel
yum install postgresql-devel
yum install httpd
yum install httpd-devel
- Criação do diretório do projeto Super Gerente.
Acesse o diretório ´´/usr/local/`` com o seguinte comando:
cd /usr/local
Crie um diretório chamado lightbase com o seguinte comando:
mkdir lightbase
No diretório lightbase ficarão todos os códigos-fonte e será criado o ambiente virtual para o Super Gerente.
Acesse o diretório lightbase:
cd lightbase/
- Instalação do Phyton 3.4
Faça o download do código-fonte do Phyton 3.4 com o comando a seguir:
wget https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tar.xz
Após a conclusão do download, descompacte o arquivo com o seguinte comando:
tar xf Python-3.4.1.tar.xz
Entre no diretório onde se encontra o código-fonte:
cd Python-3.4.1
Execute o comando a seguir para a correta configuração do python.
./configure --prefix=/usr/local/lightbase/ --with-threads --enable-shared LDFLAGS=-Wl, rpath=/usr/local/lightbase/lib/
Execute os seguintes comandos:
make
make install
Abra o arquivo ld.so.conf com o seguinte comando:
vi /etc/ld.so.conf
Acrescente a seguinte linha:
/usr/local/lightbase/lib
Salve o arquivo e execute o seguinte comando:
ldconfig
- Instalação do mod_wsgi modulo fundamental para a instalação do Super Gerente.
Faça o download do código fonte do mod_WSGI executando o seguinte comando:
wget https://pypi.python.org/pypi/mod_wsgi
Após a conclusão do download, descompacte o arquivo com o seguinte comando:
gzip –d mod_wsgi-4.4.0.tar.gz
tar –xvf mod_wsgi-4.4.0.tar
Configure com o seguinte comando:
cd mod_wsgi-4.4.0
./configure --with-python=/usr/local/lightbase/bin/python3.4
Instale com os comandos:
make
make install
- Instalação do virtualenv modulo responsável por criar o nosso ambiente virtual.
Faça o download do código-fonte executando o seguinte comando:
wget https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.11.6.tar.gz
Após a conclusão do download, descompacte o arquivo com o seguinte comando:
gzip –d virtualenv-1.11.6.tar.gz
tar –xvf virtualenv-1.11.6.tar
Instale com os comandos:
cd virtualenv-1.11.6
/usr/local/lightbase/bin/python3.4 setup.py install
- Criação do ambiente virtual
Para criar o ambiente virtual execute o seguinte comando:
cd /usr/local/lightbase
bin/virtualenv-3.4 –p /bin/python3.4 py3env
cd py3env
mkdir src
Ambiente virtual criado com sucesso.
- Instalação do modulo WSCacicNeo (Interface do Super Gerente).
Acesse o ambiente virtual(py3env) e abra a pasta src com o seguinte comando:
cd /usr/local/lightbase/py3env/src
Faça o download do código-fonte executando o seguinte comando:
git clone https://github.com/lightbase/WSCacicNeo.git
Após a conclusão do download, será necessário criar um arquivo .wsgi dentro do diretório do WSCacicNeo. Faça com o seguinte comando:
cd WSCacicNeo/
vi wscacicneo.wsgi
No documento criado insira as seguintes linhas:
from pyramid.paster import get_app
application = get_app(
‘/usr/local/lightbase/py3env/src/WSCacicNeo/development.ini’, ’main’)
Salve e feche o arquivo e execute o seguinte comando:
cp development.ini-dist development.ini
Execute o seguinte comando :
cd WSCacicNeo/
../../bin/python3.4 setup.py develop
Vá até a última página, veja o Modulo de configuração do seu apache, execute esse modulo e então estará apto a realizar o próximo passo.
Saia do diretorio do WSCacicNeo com o seguinte comando:
cd ..
Em seguida digite:
yum install libffi-devel
Digite:
/../bin/pip3.4 install python-datetime
Verifique se está no diretório src e execute o seguinte comando:
git clone https://github.com/lightbase/liblightbase.git
Execute o seguinte comando:
cd liblightbase
../../bin/python3.4 setup.py develop
Saia do diretório lightbase e entre no diretório WSCacicNeo:
cd ..
cd WSCacicNeo
Execute o seguinte comando:
../../bin/python3.4 setup.py develop
Se em nenhum dos processos acima ocorrer erro, o WSCacicNeo(interface do Super Gerente) estará instalada com êxito.
- Instalação Super Gerente - LBGenerator
Acesse a pasta do virtualenv e faça o download do lbgenerator:
git clone http://git.lightbase.cc/LBGenerator.git
Após a conclusão do download, acesse a pasta do arquivo:
cd LBGenerator/
Renomeie os arquivos lbgenerator.wsgi-dist e development.ini-dist para lbgenerator.wsgi e development.ini respectivamente.
Abra o arquivo de configuração do wsgi:
vim lbgenerator.wsgi
O arquivo terá o seguinte código:
from pyramid.paster import get_app
application = get_app(
'/home/eduardo/srv/lightbase-neo/src/LBGenerator/development.ini', 'main')
import lbgenerator.monitor
lbgenerator.monitor.start(interval=1.0)
altere a rota do get_app para o development.ini do lbgerenator ( o que você acabou de renomear).
'/CAMINHO/DO/LBGenerator/development.ini'
Após configurado o arquivo wsgi, abra e configure o arquivo development.ini:
vim development.ini
Altere apenas a seção [alembic]:
de:
[alembic]
sqlalchemy.url = postgresql://rest:rest@localhost/neolight
sqlalchemy.max_overflow = 0
sqlalchemy.pool_size = 20
script_location = db_versions
para:
[alembic]
sqlalchemy.url = postgresql://cacic:cacic@localhost/rest
sqlalchemy.max_overflow = 0
sqlalchemy.pool_size = 20
script_location = db_versions
- Instalação Super Gerente - WSCServer
Acesse a pasta do virtualenv faça o download do wscserver.
git clone https://github.com/lightbase/WSCacicNeo.git
Acesse a pasta do arquivo:
cd WSCServer/
Renomeie o arquivo development.ini-dist para development.ini.
Crie, caso não tenha sido criado ainda, o arquivo wscserver.wsgi:
vim wscserver.wsgi
Insira código a seguir:
from pyramid.paster import get_app
application = get_app(
'/home/eduardo/srv/lightbase-neo/src/WSCServer/development.ini', 'main')
import wscserver.monitor
wscserver.monitor.start(interval=1.0)
altere a rota do get_app para o development.ini do wscserver ( o que você acabou de renomear).
'/CAMINHO/DO/WSCServer/development.ini'
Abra e configure o arquivo development.ini:
vim development.ini
Altere a seção [alembic] para:
[alembic]
sqlalchemy.url = postgresql://cacic:cacic@localhost/cacic
sqlalchemy.max_overflow = 0
sqlalchemy.pool_size = 20
script_location = db_versions
5.0 Instalação Super Gerente - LBBulk
Acesse a pasta do virtualenv e faça o download do lbbulk.
git clone https://github.com/lightbase/LBBulk.git
Acesse a pasta do arquivo:
cd LBBulk/
Renomeie os arquivos lbbulk.wsgi-dist e development.ini-dist para lbbulk.wsgi e development.ini respectivamente.
Abra o arquivo de configuração do wsgi:
vim lbbulk.wsgi
O arquivo terá o seguinte código:
from pyramid.paster import get_app, setup_logging
ini_path = '/srv/lightbase/LBBulk/development.ini'
#ini_path = '/srv/lightbase/LBBulk/production.ini'
setup_logging(ini_path)
application = get_app(ini_path, 'main')
Altere a rota do ini_path para o development.ini do lbbulk (o que acabou de ser renomeado).
'/CAMINHO/DO/LBBulk/development.ini'
Abra e configure o arquivo development.ini:
vim development.ini
Altere a lightbase_url:
lightbase_url = http://127.0.0.1/lbgenerator
- Instalação e configuração do Postgresql
Para a instalação do Postgresql no CentOS, verifique a seguinte URL
https://wiki.postgresql.org/wiki/YUM_Installation
Após executar os passos no tutorial de instalação acima, será criado um superusuário chamado cacic no postgresql. Com esse mesmo superusuário serão criadas duas bases, uma chamada rest e a outra cacic. Estas são as bases que os módulos LBGenerator e WSCServer usarão para armazenar seus dados.
Crie o superusuário e as bases.
Para acessar o Postgresql digite:
su – postgres
OBS: isso ira alterar o usuario do sistema que atualmente é o root e irar se tornar postgres
Acesse o terminal postgresq digitando o seguinte comando:
psql
Execute os seguintes comandos:
CREATE USE cacic SUPERUSER INHERIT CREATEDB CREATEROLE;
ALTER USER cacic PASSWORD 'cacic';
Abra o arquivo pg_hba.cong com o seguinte comando:
cd /var/lib/pgconf/pg_hba.conf
Adicione a seguinte linha:
Localhost all cacic 127.0.0.1 trust
Salve o arquivo e reinicie o postgressql:
/etc/init.d/posgresql restart
Acesse o terminal do postgres com o usuário criado da seguinte forma:
psql –H localhost –U cacic –W
Insira a senha “cacic”, e execute os seguintes comandos:
CREATE DATABASE cacic;
CREATE DATABASE rest;
Reinicie o apache com o seguinte comando:
/etc/init.d/httpd restart
Caso não retorne erro em nenhuma das instalações, o sistema estará configurado de maneira correta.
Para verificação de qualquer erro, acesse o arquivo error.log com o seguinte comando:
less /var/log/httpd/error.log
- Módulo de configuração do apache (httpd)
Para configurar o apache(httpd), crie ou acesse o arquivo:
sudo vi /etc/httpd/conf.d/lightbase.conf
Insira o seguinte código, de acordo com sua configuração:
LoadModule wsgi_module /usr/lib64/httpd/modules/mod_wsgi.so
WSGISocketPrefix /var/run/wsgi
ServerAdmin admin@lightbase.com.br
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
Configure o WSCacicNeo no httpd, inserindo após o código a cima, as seguintes linhas de comando:
WSGIDaemonProcess wscacicneo threads=8 python-path=/usr/local/lightbase/py3env/lib/python3.4/site-packages
WSGIScriptAlias /wscacicneo /usr/local/lightbase/py3env/src/WSCacicNeo/wscacicneo.wsgi
<Directory /usr/local/lightbase/py3env>
WSGIProcessGroup wscacicneo
Order allow,deny
Allow from all
</Directory>
Configure o WSCServer, adicione as seguintes linhas ao lightbase.conf:
WSGIDaemonProcess wscserver threads=8 python-path=/usr/local/lightbase/py3env/lib/python3.4/site-packages
WSGIScriptAlias /wscserver /usr/local/lightbase/py3env/src/WSCServer/wscserver.wsgi
<Directory /usr/local/lightbase/py3env>
WSGIProcessGroup wscserver
Order allow,deny
Allow from all
</Directory>
Configure o LBBulk, adicione as seguintes linhas ao lightbase.conf:
WSGIDaemonProcess lbbulk threads=8 python-path=/usr/local/lightbase/py3env/lib/python3.4/site-packages
WSGIScriptAlias /lbbulk /usr/local/lightbase/py3env/src/LBBulk/LBBulk.wsgi
<Directory /usr/local/lightbase/py3env>
WSGIProcessGroup lbbulk
Order allow,deny
Allow from all
</Directory>