Professional Documents
Culture Documents
~o do Sistema CACIC
(Vers~
ao do sistema v.Jun2005)
Parte II
Instalaca
~o do gerente em sistemas Debian GNU/Linux
Instalaca
~o dos agentes
Secretaria de Log
stica e Tecnologia da Informa
ca~o
1
do Minist
erio do Planejamento, Or
camento e Gest~
ao
Vers~
ao 1.0
Mar
co de 2006
Lucius Curado
Agradecimentos
Agradecemos a todos que auxiliaram direta ou indiretamente na elaborac~ao deste Manual e em especial
aos seguintes representantes da Comunidade CACIC por suas sugest~oes e correco~es:
Cl
audio Ferreira Filho
Patrcia Cruz
Rejane Monteiro
Ricardo A. de Faria
Yves Junqueira
Coordenac~ao Tecnica
Anderson Araripe Peterle
Coordenac~ao de Documentac~ao
Lucius Curado
Coordenac~ao Nacional
Corinto Mee
2
Sumario
1 Requisitos mnimos para a instalac~ao 4
1.1 Para a instalaca~o do modulo gerente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1 Requisitos mnimos de hardware . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.2 Requisitos mnimos de software . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Para a instalaca~o dos agentes em Windows . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Requisitos mnimos de hardware (nas estaco~es de trabalho) . . . . . . . . . . . 5
1.2.2 Requistitos mnimos de software (nas estaco~es de trabalho) . . . . . . . . . . . 5
1.3 Para a instalaca~o dos agentes em GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Requisitos mnimos de hardware (nas estaco~es de trabalho) . . . . . . . . . . . 5
1.3.2 Requistitos mnimos de software (nas estaco~es de trabalho) . . . . . . . . . . . 5
1.4 Para a instalaca~o dos servidores de atualizaca~o . . . . . . . . . . . . . . . . . . . . . . 6
2 Aquisic~ao dos arquivos para a instalac~ao 6
3 Instalac~ao do modulo gerente 6
4 Congurac~ao do modulo gerente 9
5 Instalac~ao dos agentes em estaco~es Windows 11
5.1 Procedimentos iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.2 Ambientes com servidores de domnio . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.2.1 Conguraca~o do servidor de domnio SAMBA . . . . . . . . . . . . . . . . . . . 12
5.3 Ambientes sem servidores de domnio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6 Instalac~ao dos agentes em estaco~es GNU/Linux 15
6.1 Instalaca~o em Debian GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.2 Instalaca~o em outras distribuico~es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7 Atualizac~ao de vers~ao 17
7.1 Atualizac~ao do gerente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.2 Atualizac~ao dos agentes para windows . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3
Introduc~ao
O Projeto CACIC (Congurador Automatico e Coletor de Informaco~es Computacionais) foi iniciado
em 2001 pela DATAPREV { Empresa de Tecnologia e Informaco~es da Previd^encia Social {, atraves
de seu Escritorio Estadual do Esprito Santo. Desenvolvido para atender a uma demanda localizada
da DATAPREV, o CACIC logo revelou-se um sistema adequado para o inventario computacional na
Administraca~o Publica Federal, previsto desde a instituica~o do Sistema de Administraca~o dos Recursos
de Informaca~o e Informatica (SISP) em 1994.
O Projeto CACIC materializou formalmente, em junho de 2005, o conceito de Software Publico,
tornando-se o primeiro Software Livre disponibilizado pelo Governo Federal segundo os termos da
Licenca Publica Geral GNU (GPL) e atendendo as prerrogativas legais do pas. A liberaca~o do CACIC
e resultado do Consorcio de Cooperaca~o rmado entre a DATAPREV e a Secretaria de Logstica
e Tecnologia da Informaca~o (SLTI) do Ministerio do Planejamento, Orcamento e Gest~ao. No curto
espaco de tempo decorrido desde ent~ao, o sistema CACIC ja movimenta numeros expressivos que podem
ser vericados no balanco de 2005 na pagina da comunidade.
O funcionamento do sistema CACIC baseia-se na interaca~o entre modulos de software que desempe-
nham papeis de gerentes e agentes. Um modulo gerente do CACIC opera em um servidor que executa
o conjunto de softwares livres conhecido como LAMP: Linux, Apache, MySQL e PHP. Ja os agen-
tes, concebidos inicialmente apenas para plataformas Windows, s~ao programas executaveis que n~ao
necessitam de qualquer software adicional. Encontra-se atualmente em pleno desenvolvimento pela
comunidade um novo agente para sistemas GNU/Linux escrito em Perl. Para um maior detalhamento
do funcionamento do sistema CACIC, consulte a Parte I deste manual: Introduc~ao ao sistema.
O presente texto apresenta-se como um guia para a implantaca~o da nova vers~ao (Jun2005) do
sistema CACIC, tendo como alvos a instalaca~o do modulo gerente em sistemas Debian GNU/Linux
e dos modulos agentes em estaco~es de trabalho Windows. Este trabalho e uma revis~ao, ampliaca~o e
adaptaca~o baseada no manual elaborado conjuntamente pelo Ministerio das Cidades e pelo Ministerio
do Planejamento, Orcamento e Gest~ao (vers~ao 0.3, de maio de 2005), desenvolvido, por sua vez, a
partir da vers~ao 2.00.x da DATAPREV.
Satisfeitos os requisitos mnimos especicados na seca~o seguinte, a instalaca~o do CACIC pode ent~ao
ser descrita em quatro etapas principais:
aquisica~o dos arquivos de instalaca~o;
instalaca~o do m
odulo gerente;
conguraca~o do modulo gerente;
128MB de mem
oria RAM (desejavel: 256MB);
15MB disponvel em disco rgido (para banco de dados, p
aginas web de administraca~o do sistema
e disponibilizaca~o de agentes para atualizaca~o das estaco~es);
interface de rede.
4
1.1.2 Requisitos mnimos de software
Debian GNU/Linux vers~
ao Sarge;
ambientes de desenvolvimento C e Perl;
interpretador PHP42 ;
Postx4 ou Sendmail5 ;
interface de rede.
interface de rede.
ambiente de desenvolvimento Perl { verique especialmente a presenca das bibliotecas perl-base,
perl-modules e LWP (libwww-perl)7 ;
o utilitario lspci8
dmidecode9 .
1
http://www.apache.org/
2
http://www.php.org/
3
http://www.mysql.com/
4
http://www.postfix.org/
5
http://www.sendmail.org/
6
<http://guialivre.governoeletronico.gov.br/cacic>
7
http://lwp.linpro.no/lwp/
8
http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml
9
http://www.nongnu.org/dmidecode/
5
1.4 Para a instala
c~
ao dos servidores de atualiza
c~
ao
servidor de FTP, de qualquer organizaca~o ou sistema operacional, desde que atenda aos padr~
oes
da RFC 95910 ;
10MB de espaco disponvel em disco rgido.
Obs: o servidor de FTP pode ser instalado na mesma maquina que o modulo gerente do CACIC.
pode ser que o usuario root do mysql ja possua uma senha congurada. Se esse for o caso, pode
ser escolhida uma das seguintes atitudes:
10
Neste manual sugerimos a instalaca~o do ProFTPD
11
http://guialivre.governoeletronico.gov.br/cacic
6
i se voc^e souber a senha de root do MySQL, podera usa-la;
ii se voc^e souber a senha de root do MySQL e desejar troca-la para utilizaca~o, execute o
seguinte comando:
shell# /usr/bin/mysqladmin -u root -p password '<NOVA_SENHA>'
iii se voc^e n~ao souber a senha de root, execute a seguinte sequ^encia de comandos:
shell# /etc/init.d/mysql stop
shell# mysqld_safe --skip-grant-tables & echo "Update user set \
Password=PASSWORD('$ROOTMYSQL') Where User='root';" | mysql -u \
root mysql
shell# /etc/init.d/mysql stop
shell# /etc/init.d/mysql start
12
http://www.cetico.org/cacic/doku.php?id=instalacao com debian
Voc^e pode ainda instalar o ProFTPD com suporte a MySQL. Para obter maiores informac~oes, consulte no Wiki da
13
7
P.5 Adicione um usuario que sera usado pelo CACIC para o download dos updates. No exemplo a
seguir, chamamos esse usuario de ftpcacic:
Se preferir, a bem de uma melhor organizaca~o, pode criar a pasta /var/ftp/ftpcacic ao inves
de /var/www/ftpcacic.
P.6 Crie, por m, um diretorio agentes dentro de ftpcacic. Ele sera usado mais tarde (seca~o 5)
para armazenar os arquivos do agente:
P.8 Mudando para o diretorio em que desempacotou os arquivos, copie o diretorio cacic2 para o
diretorio raiz do servidor web. Usualmente em um sistema Debian:
shell# cp -R cacic-gerente/cacic2 /var/www/
Se o usu
ario for www-data, por exemplo, para trocar o dono do diretorio use:
shell# chown -R www-data /var/www/cacic2
No diretorio em que desempacotou o gerente voc^e encontrara o arquivo criar banco cacic.sql.
Crie a estrutura de tabelas com o comando:
shell# mysql -u root -p<SENHA_ROOT_MYSQL> -D cacic < criar_banco_cacic.sql
8
P.10 Congure a interface web do CACIC, alterando as seguintes linhas do arquivo
/var/www/cacic2/include/config.php:
P.11 Altere a seguinte linha do arquivo /etc/php4/apache/php.ini (mudando de Off para On):
register_globals = On
P.12 Congure os seguintes servicos para serem iniciados automaticamente durante o boot: Apache,
MySQL e ProFTPD.
Pare os servicos Apache, MySQL e ProFTPD:
Inicie os servicos:
http://<IP_DO_GERENTE>/cacic2/
Se toda a instalaca~o correu bem, voc^e vera uma tela como a da Figura 1.
Observe no topo da janela a vers~ao do CACIC e o nome da instituica~o. Como o gerente ainda
n~ao foi congurado, aparecera \Dataprev - ESES.P". De qualquer maneira, essa informaca~o ja
indica que o banco de dados do CACIC foi acessado e consultado corretamente.
Faca o login (Figura 2) utilizando o usuario criado previamente (sec~ao 3, passo P.9):
P.2 Para congurar o gerente, acesse o menu Administrac~ao > Congurar Gerente e preencha adequa-
damente os campos do formulario.
Observe que o campo Atualizar os seguintes \super-gerentes" ainda n~ao esta funcional e n~ao
precisa ser preenchido.
Nos campos Servidor de banco de dados padr~ao e Servidor de updates padr~ao, especique os en-
derecos IP das maquinas em que se encontram o banco de dados do CACIC e o servidor FTP de
updates. Normalmente (mas n~ao necessariamente), eles encontram-se em uma mesma maquina;
nesse caso, preencha os dois campos com o mesmo endereco IP.
9
Figura 1: Tela inicial do CACIC.
P.3 Para congurar no gerente o futuro comportamento dos agentes, acesse o menu Administrac~ao
> Congurar Agentes. Novamente, preencha o formulario segundo suas necessidades.
Atente para o preenchimento do campo Senha usada para congurar e nalizar os agentes. Essa
senha sera importante posteriormente { somente com ela sera possvel, por exemplo, nalizar o
agente CACIC na estaca~o de trabalho caso seja necessario.
P.4 Para adicionar a rede onde os agentes ser~ao instalados, acesse o menu Administrac~ao > Cadastros
> Redes.
O gerente CACIC ira trabalhar somente com as redes que forem conguradas nesta etapa. Sera
preciso adicionar todas as redes que forem necessarias. Importante: embora o sistema CACIC
reconheca um computador instalado em uma subrede de uma rede cadastrada, e preciso que
voc^e cadastre cada subrede individualmente para posterior conguraca~o das aco~es dos agentes.
Nos campos Rede e Mascara informe, respectivamente, o endereco IP da rede e a mascara de
subrede correspondente.
Novamente, nos campos Servidor de banco de dados padr~ao e Servidor de updates padr~ao, especi-
que os enderecos IP das maquinas em que se encontram o banco de dados do CACIC e o servidor
FTP de updates.
Informe ainda a Porta de FTP (usualmente e a porta 21) e cada Usuario do Servidor de Updates
para atualizaca~o de agente e gerente e as respectivas senhas, conforme denidos previamente (3,
passo P.5). Quanto ao Path no Servidor de Updates, indique a pasta /agentes, criada em 6, cujo
conteudo ainda sera tratado em 5.3, passo P.3.
Quanto ao campo Path no Servidor de Updates, indique a pasta /agentes, criada na seca~o 3,
passo P.6, cujo conteudo ainda sera tratado na seca~o 5.3, passo P.3.
Preencha os demais campos segundo suas necessidades.
P.5 Congure os modulos disponveis do CACIC em Administrac~ao > Modulos: clique em cada modulo,
altere as congurac~oes para que as aco~es sejam executadas em suas redes e clique em Gravar
Informaco~es.
10
(a) Informaco~es (b) Autenticaca~o (c) Menu do ad-
de login ministrador
Nesses casos e possvel realizar instalaca~o automatica do software CACIC, atraves de scripts de logon.
Um script de logon deve ser congurado de tal forma que execute na estaca~o de trabalho do usuario
o programa chamado chkcacic.exe. Esse programa, verica a exist^encia de um agente CACIC na
maquina do usuario. Caso n~ao exista, ele e responsavel por carregar (realizar um download) do servidor
de FTP que esteja mais proximo dele, consultando o gerente para obter tal informaca~o (lembre-se que
14
No caso especco da Dataprev, considerando que a soluca~o CACIC e distribuda regionalmente, ou seja, cada gerente
do CACIC estara instalado em cada escritorio estadual e/ou Centros de Tratamento de Informaco~es, os ambientes e/ou
subredes que possurem microcomputadores que logam apenas no domnio nacional ser~ao considerados ambientes sem
servidores de domnio.
11
voc^e pode ter varios servidores de FTP atendendo a diferentes subredes). A decis~ao de qual servidor
e o mais proximo, deve ser previamente congurada no modulo gerente do CACIC (seca~o 4, passo P.4).
O programa chkcacic.exe deve ser acompanhado do arquivo chkcacic.ini. Esse arquivo possui
algumas conguraco~es basicas para o chkcacic.exe como, por exemplo, o endereco IP do servidor
onde esta instalado o modulo gerente e o diretorio onde o CACIC devera ser instalado na maquina do
usuario.
Nesse cenario, a sequ^encia de passos ate a instalaca~o nal do agente e:
P.5 Inserir linha de administraca~o de domnio na area de declaraca~o global do arquivo /etc/smb.conf:
12
domain admin group = @domain
P.6 Em uma maquina com Windows, crie uma pasta cripto, copie e descompacte o arquivo
cripto.tgz (que faz parte dos pacotes de instalaca~o do CACIC) dentro desta pasta.
O arquivo cripto.tgz contem um script chamado dominio.vbs que e um script generico (por
passagem de par^ametros), que serve para executar comandos em estaco~es que necessitam de
privilegios de administrador para algumas tarefas, como nos casos dos Windows NT, 2000 e XP.
recomendavel que o script seja criptografado, uma vez que nele esta cadastrada a senha do
E
administrador do domnio. Para isso, existe um programa da Microsoft chamado screnc.exe,
que gera um arquivo com extens~ao .vbe. O arquivo vbsencoder.bat apenas facilita a operaca~o.
preciso editar e cadastrar a senha do usuario admdom no arquivo dominio.vbs, na seguinte
E
linha:
sPass="<SUBSTITUIR_PELA_SENHA_ADMINISTRADOR_DOMINIO>" & VBCRLF.
P.7 Abrir um prompt do DOS e mudar para a pasta cripto. Executar o seguinte comando para
criptografar o arquivo dominio.vbs:
P.9 A partir deste ponto, e necessario alterar o(s) script(s) de netlogon no servidor de domnio, de
forma a contemplar a execuca~o do programa chkcacic.exe em tempo de logon. O bloco para
inserca~o no script de netlogon e disponibilizado junto com o material de implantaca~o do sistema
CACIC e encontra-se dentro do arquivo netlogon.tgz com o nome de
bloco para login script.txt.
Para ambientes sem servidores de domnio { ou quaisquer outras formas de execuca~o de script em
tempo de logon {, e possvel a instalaca~o manual dos modulos agentes do CACIC. Para isso, basta
executar o programa chkcacic.exe juntamente com o arquivo chkcacic.ini, devendo estar este
devidamente congurado para o servidor onde o modulo gerente esta instalado. Em maquinas Windows
NT/2000/XP sera necessario o privilegio de administraca~o para execuca~o do chkcacic.exe.
P.1 Certique-se de ter cumprido corretamente os procedimentos iniciais (subseca~o 5.1).
P.2 Copie os arquivos chkcacic.exe e chkcacic.ini para a estaca~o Windows. A copia pode ser
realizada via FTP utilizando os seguintes comandos na estaca~o:
13
C:\> ftp <IP_DO_SERVIDOR_GERENTE_CACIC>
Usuario: ftpcacic
Senha: ******
ftp> cd agentes
ftp> mget chkcacic.exe
ftp> ascii
ftp> mget chkcacic.ini
ip_serv_cacic=<IP_DO_SERVIDOR_GERENTE_CACIC>
14
instala dois deles: o agente principal (cacic2.exe), e o gerente de coletas (ger cols.exe).
O programa chkcacic.exe e ent~ao nalizado e o agente principal iniciado. Nesse momento
aparecera o cone do agente CACIC no Systray do Windows. A aca~o e passada automaticamente
ao gerente de coletas que ira encarregar-se de baixar via FTP os demais modulos do programa.
Atenc~ao: se vericar o log de atividades do agente, voc^e provavelmente encontrara no arquivo
uma mensagem de erro como abaixo:
Trata-se de um bug a ser corrigido no programa, que n~ao constitui erro fatal e n~ao impedira a
operac~ao correta do agente. O endereco correto e
http://10.209.63.211/cacic2/ws/get_config.php
A parte faltante e que leva a mensagem de erro e denida como uma variavel em uma linha do
arquivo cacic2.ini:
Endereco_WS=/cacic2/ws/
Aparentemente essa variavel e congurada no arquivo depois de sua primeira utilizaca~o e a
mensagem de erro n~ao volta a aparecer posteriormente. Se a sua instalaca~o falhou por algum
motivo, essa provavelmente n~ao tera sido a causa.
6.1 Instala
c~
ao em Debian GNU/Linux
Para instalar o agente em uma estaca~o Debian GNU/Linux siga os passos abaixo.
P.1 Acrescente a seguinte linha no seu arquivo /etc/apt/sources.list:
deb http://guialivre.governoeletronico.gov.br/cacic/debian ./
15
P.4 Edite o arquivo de conguraca~o cacic.conf e altere a linha abaixo:
$server = '<IP_OU_HOSTNAME_DO_SERVIDOR_GERENTE_CACIC>';
Voc^e podera ainda obter maiores informaco~es sobre a execuca~o do agente se alterar a linha:
$verbose = 1;
6.2 Instala
c~
ao em outras distribui
c~oes
Se ainda n~ao houver um pacote de instalaca~o especco para a sua distribuica~o, siga os passos descritos
em seguida.
P.1 Verique e instale, se necessario, as bibliotecas de Perl: perl5-base, perl-modules e LWP
(libwww-perl) e o utilitario lspci { muito provavelmente ja estar~ao todos instalados em seu
sistema.
P.2 Instale o dmidecode.
Se houver um pacote especco para sua distribuica~o, use-o. Voc^e pode ainda obter um pacote
.tar.gz em <http://www.nongnu.org/dmidecode/>.
Para instalar o dmidecode, simplesmente desempacote-o em um diretorio adequado e execute os
comandos make e make install:
shell# tar -zxvf dmidecode-<VERS~AO>.tar.gz
shell# cd dmidecode-<VERS~AO>
shell# make
shell# make install
$server = '<IP_OU_HOSTNAME_DO_SERVIDOR_GERENTE_CACIC>';
16
Nesse mesmo arquivo, ajuste a variavel $testmode segundo suas necessidades:
para operaca~o normal do agente, utilize:
$testmode = 0;
Voc^e podera ainda obter maiores informaco~es sobre a execuca~o do agente se alterar a linha:
$verbose = 1;
Essa linha fara com que o cacic-agente seja executado a cada 4 horas. Ajuste-a segundo
suas necessidades. Para obter maiores informaco~es sobre o cron e a formataca~o do arquivo
/etc/crontab consulte suas paginas de manual.
7 Atualizac~ao de vers~ao
Esta seca~o tem por objetivo guiar a atualizaca~o de seu sistema CACIC para a nova vers~ao (v.Jun2005),
considerando que voc^e ja possua a vers~ao mais antiga (v.Fev2005) instalada.
7.1 Atualiza
c~
ao do gerente
17
Altere o dono do diretorio /var/www/cacic2 para o usuario do Apache.
Se o usu
ario for www-data, por exemplo, para trocar o dono do diretorio use:
shell# chown -R www-data /var/www/cacic2
P.5 Como o banco de dados do CACIC foi modicado na nova vers~ao, e preciso atualiza-lo. No
diretorio em que desempacotou o gerente voc^e encontrara o arquivo alteracoes bd cacic.sql.
Utilize o comando:
shell# mysql -u root -p<SENHA_ROOT_MYSQL> -D cacic < alteracoes_bd_cacic.sql
P.7 Revise a conguraca~o do modulo gerente, seguindo os passos descritos na seca~o 4.
7.2 Atualiza
c~
ao dos agentes para windows
P.3 Copie todos os arquivos executaveis (*.exe) e de conguraca~o (*.ini) do agente para diretorio
web /var/www/cacic2/repositorio. Esse diretorio, ja criado na instalaca~o do gerente tem a
funca~o precpua de armazenar os arquivos para atualizaca~o dos agentes.
Nesse diretorio existe um arquivo versoes agentes.ini. Esse arquivo contem uma lista dos ar-
quivos do repositorio e suas respectivas vers~oes. Deve evidentemente haver uma correspond^encia
entre essa lista e os arquivos que se encontram efetivamente no diretorio.
P.4 Atraves da interface web do Gerente CACIC, acesse o menu Manutenc~ao > Updates de SubRedes;
assinale as caixas Marca/Desmarca todos os objetos e Marca/Desmarca todas as SubRedes e clique
em Executar Updates.
O gerente ira enviar os arquivos do repositorio para o servidor FTP de updates (diretorio
/var/www/ftpcacic/agentes. Se voc^e optou por ter varios servidores de FTP em sua rede
atendendo a subredes individuais, os arquivos ser~ao enviados para cada um deles.
18
Cabe ressaltar que N^AO se deve copiar manualmente os arquivos do
repositorio aos diversos servidores FTP. Tal servico deve ser
feito atraves do gerente por meio do "Updates de SubRedes."
P.5 Se tudo correu bem, os agentes ir~ao se atualizar automaticamente em cada maquina da rede
quando de sua primeira execuca~o de atividades.
19