segunda-feira, 8 de junho de 2009

Instalando o OCS Inventory - NG no Linux Ubuntu

OCS INVENTORY -NG é um software, Open Source, que tem a finalidade de gerar inventários automáticos das estações de trabalho ligadas a rede, dessa forma é possível notar modificações como remoções, paradas funcionais de dispositivos e programas que foram instalados ou removidos.

Exigências para usar OCS INVENTORY-NG na distribuição Linux Ubuntu
Apache versão 1.3.33 / 2.0.46 ou superiores.
* Módulo versão 1.29 de Mod_perl ou superior.
* Módulo versão 4.3.2 de Mod_php ou superior.
* PHP 4.3.2 ou superior.
* Perl 5.6 ou superior.
* Módulo XML do Perl: Versão simples 2.12 ou superior.
* Módulo Compressa do módulo do Perl: Versão 1.33 de Zlib ou superior.
* Módulo Versão 1.40 do módulo DBI do Perl ou superior.
* Módulo Módulo DBD do Perl: Versão 2.9004 de Mysql ou superior.
* Módulo Módulo Apache do Perl: Versão 0.93 de DBI ou superior.
* Módulo Rede do módulo do Perl: Versão 1.21 do IP ou superior.
* Módulo SOAP do Perl: Versão 0.66 de Lite ou mais elevado (opcional)
* Versão 4.1.0 de MySQL ou superior com o motor de InnoDB (Motor de Armazenamento-Storage Engine) ativo.
MySQL 4.1 ou superior

Instalação

Instale os seguintes pacotes com o comando:
sudo apt-get install \
apache2 \
libapache2-mod-php5 \
libapache2-mod-perl2 \
php5 \
php5-gd \
php5-mysql \
mysql-server \
libxml-simple-perl \
libcompress-zlib-perl \
libdbi-perl \
libdbd-mysql-perl \
libapache-dbi-perl \
libnet-ip-perl \
libsoap-lite-perl \
php5-dev \
php-pear

Acesse a página do OSC Inventory NG:
http://www.ocsinventory-ng.org

No menu Download baixe a última versão do OCS Inventory NG:
OCSNG Unix Server "OCSNG_UNIX_SERVER-1.02.1.tar.gz"
OCSNG Unix Agent "OCSNG_UNIX_AGENT-1.02.tar.gz"

Copie o arquivo OCSNG_UNIX_SERVER-1.02.1.tar.gz para a pasta /usr/local/:
sudo cp /home/usuario/Área\ de\ Trabalho/OCSNG_UNIX_SERVER-1.02.1.tar.gz /usr/local/

Copie o arquivo OCSNG_UNIX_AGENT-1.02.tar.gz para a pasta /usr/local/:
sudo cp /home/usuario/Área\ de\ Trabalho/OCSNG_UNIX_AGENT-1.02.tar.gz /usr/local/

Entre na pasta /usr/local/:
cd /usr/local/

Execute o comando para descompactar o arquivo OCSNG_UNIX_SERVER-1.02.1.tar.gz:
sudo tar -zxvf OCSNG_UNIX_SERVER-1.02.1.tar.gz

Execute o comando para descompactar o arquivo OCSNG_UNIX_AGENT-1.02.tar.gz:
sudo tar -zxvf OCSNG_UNIX_AGENT-1.02.tar.gz

Entre na pasta /usr/local/OCSNG_UNIX_SERVER-1.02.1/:
cd OCSNG_UNIX_SERVER-1.02.1/

Execute o comando para instalar o OCS-NG Server:
sudo ./setup.sh

Aparecerá uma mensagem de boas vindas e pedirá se deseja começar a instalação, escolha a padrão:
Do you wish to continue ([y]/n)?y

Aparecerá uma mensagem com algumas informações sobre o banco de dados MySQL e o endereço IP do banco, pressione "Enter" para escolher o endereço padrão ou, digite o endereço IP:
Which host is running database server [localhost] ?

Aparecerá uma mensagem com o número da porta que o banco será executado, pressione "Enter" para escolha o número padrão:
On which port is running database server [3306] ?

Aparecerá uma mensagem com o nome do arquivo daemon do Apache, pressione "Enter" para escolher o arquivo padrão:
Where is Apache daemon binary [/usr/sbin/apache2] ?

Aparecerá uma mensagem com o nome do arquivo principal do Apache, pressione "Enter" para escolher o arquivo padrão:
Where is Apache main configuration file [/etc/apache2/apache2.conf] ?

Aparecerá uma mensagem para criar a conta do usuário que executará o Apache, entre com o nome do usuário do sistema:
Which user account is running Apache web server [${APACHE_RUN_USER}] ? usuario

Aparecerá uma mensagem para criar um grupo para a conta do usuário Apache, escolha um nome para o grupo:
Which user group is running Apache web server [${APACHE_RUN_GROUP}] ? admin

Aparecerá uma mensagem dizendo que o OCS Inventory NG irá colocar as configurações no diretório //etc/apache2/conf.d/, pressione "Enter" para escolher o padrão:
Setup found Apache Include configuration directory in //etc/apache2/conf.d/.
Setup will put OCS Inventory NG Apache configuration in this directory.
Where is Apache Include configuration directory [//etc/apache2/conf.d/] ?

Aparecerá uma mensagem para confirmar o caminho para o PERL intérprete, pressione "Enter" para escolher o caminho padrão:
Found PERL Intrepreter at ;-)
Where is PERL Intrepreter binary [/usr/bin/perl] ?

Execute o comando para inicializar o serviço do Apache, caso o mesmo não esteja inicializado:
sudo /etc/init.d/apache2 start

Aparecerá uma mensagem para confirmar a comunicação com o servidor, escolha a padrão:
Do you wish to setup Communication server on this computer ([y]/n)? y

Aparecerá uma mensagem dizendo que o servidor de comunicação pode criar arquivos de log, e que esses arquivos de log podem ser ativados com a criação de um valor, no console do administrador em menu configuração, pressione "Enter" para escolher o caminho padrão dos arquivos de log do OCS Inventory:
Communication server can create detailled logs. This logs can be enabled by setting interger value of LOGLEVEL to 1 in Administration console menu Configuration.
Where to put Communication server log directory [/var/log/ocsinventory-server]?

Pode aparecer uma mensagem dizendo que módulo XML do Perl não está instalado, e que só será exigido pelo OCS Inventory NG SOAP, escolha o padrão:
Checking for SOAP::Lite PERL module...
Found that PERL module SOAP::Lite is available.
Checking for XML::Entities PERL module...
*** Warning: PERL module XML::Entities is not installed !
This module is only required by OCS Inventory NG SOAP Web Service.
Do you wish to continue ([y]/n)? y

Pode aparecer uma mensagem dizendo que para garantir as cargas do módulo perl do Apache antes do Servidor de Comunicação do OCS Inventory NG, a instalação pode renomear o arquivo de configuração de comunicação 'ocsinventory-Server.conf' para 'z-Server.conf-ocsinventory', escolha a padrão:
Do you allow Setup renaming Communication Server Apache configuration file to 'z-ocsinventory-server.conf' ([y]/n)? y

Aparecerá uma mensagem perguntando se você gostaria de administrar o servidor de configuração no computador, escolha a padrão:
Do you wish to setup Administration Server (Web Administration Console) on this computer ([y]/n)? y

Aparecerá uma mensagem dizendo que a instalação instalará os arquivos conforme a hierarquia do Sistema de Arquivo, escolha a padrão:
Do you wish to continue ([y]/n)? y

Aparecerá uma mensagem dizendo que os arquivos estáticos do Servidor de Administração PHP serão copiados para [/usr/share/ocsinventory-reports, pressione "Enter" para escolher o padrão:
Where to copy Administration Server static files for PHP Web Console [/usr/share/ocsinventory-reports] ?

Aparecerá uma mensagem perguntando onde criar e gravar o diretório que armazenará os pacotes para a implantação e descobrimento de Ip, pressione "Enter" para escolher o padrão:
Where to create writable/cache directories for deployement packages and
IPDiscover [/var/lib/ocsinventory-reports] ?

Aparecerá uma mensagem dizendo que a instalação do servidor foi concluída, também pedirá para rever se está tudo ok com o arquivo /etc/apache2/conf.d//ocsinventory-reports.conf, e para reiniciar o servidor Apache. Também aparecerá uma mensagem dizendo para aproveitar o ONS Inventor-NG, e que foi criado um arquivo de log em /usr/local/OCSNG_UNIX_SERVER-1.02.1/ocs_server_setup.log, salve esse arquivo, ele pode ser útil para detectar alguma falha durante o processo de instalação.
DON'T FORGET TO RESTART APACHE DAEMON!
Enjoy OCS Inventory NG ;-)

Reinicie o servidor Apache com o comando:
sudo /etc/init.d/apache2 restart

Para realizar a configuração do banco de dados do OCSInventory, abra o browser em:
http://127.0.0.1/ocsreports/install.php

Aparecerá uma tela pedindo o endereço do servidor MySql, nome e a senha do usuário root do MySql:
MySql Login: usuário
Mysql Password: senha
Mysql HostName: ipservidor

Caso apareça uma mensagem:
ERROR: can't write in directory (on dbconfig.inc.php), please set the required rights in order to install ocsinventory (you should remove the write mode after the installation is successfull), isso significa que o arquivo dbconfig.inc.php não possui permissão de escrita:

Execute o seguinte comando para permitir escrita no arquivo:
sudo chmod 666 /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php

Para acessar o OCSInvertory, abra o browser em:
http://127.0.0.1/ocsreports

Caso apareça caracteres estranhos, será preciso editar o arquivo brazilian_portuguese.txt, na primeira linha troque "iso-8859-1" por "utf-8", também será necessário corrigir os caracteres estranhos. Clique aqui para baixar o aquivo "brazilian_portuguese.txt" corrigido:
sudo editor /usr/share/ocsinventory-reports/ocsreports/languages/brazilian_portuguese.txt

Aparecerá uma tela pedindo o usuário e senha:
Usuário: admin
Senha: admin

Saia do diretório OCSNG_UNIX_SERVER-1.02.1:
cd ..

Entre na pasta /usr/local/Ocsinventory-Agent-1.0.1:
cd Ocsinventory-Agent-1.0.1/

Execute o comando para instalar o OCS-NG Agent:
sudo perl Makefile.PL

Aparecerá uma mensagem pedindo para instalar o nmap, caso queira usar o recurso para descobrir redes:
Plese install nmap or ipdiscover if you want to use the network discover feature.
Checking if your kit is complete...
Looks good
Writing Makefile for Ocsinventory::Agent

Execute o comando abaixo para copilar os arquivos do OCS-NG Agent:
sudo make

Execute o comando para instalar os arquivos do OCS-NG Agent:
sudo make install

Aparecerá uma mensagem pedindo se deseja configurar o agente, escolha a padrão:
Do you want to configure the agent
Please enter 'y' or 'n'?> [y] y

Aparecerá uma mensagem pedindo onde você deseja gravar o arquivo de configuração, escolha um número correspondente ao diretório pretendido:
Where do you want to write the configuration file?
0 -> /etc/ocsinventory
1 -> /usr/local/etc/ocsinventory
2 -> /etc/ocsinventory-agent
?> 1

Aparecerá uma mensagem pedindo se deseja criar o diretório pretendido, escolha a padrão:
Do you want to create the directory /usr/local/etc/ocsinventory?
Please enter 'y' or 'n'?> [y] y

Aparecerá uma mensagem confirmando o diretório onde será salvo o arquivo de configuração, e pedirá o endereço do OCS-NG Server:
[info] The config file will be written in /etc/ocsinventory/ocsinventory-agent.cfg.
What is the address of your ocs server?> [ocsinventory-ng] 127.0.0.1

Aparecerá uma mensagem pedindo se você precisa de credenciais para o servidor, provavelmente não precisará, escolha a padrão:
Do you need credential for the server? (You probably don't)
Please enter 'y' or 'n'?> [n] n

Aparecerá uma mensagem pedindo se você deseja criar e aplicar uma tag administrativa nesta máquina:
Do you want to apply an administrative tag on this machine
Please enter 'y' or 'n'?> [y] n

Aparecerá uma mensagem pedindo se deseja instalar uma tarefa no arquivo /etc/cron.d, escolha a padrão (O Cron é um daemon que pode ser utilizado para agendar a execução de tarefas):
Do yo want to install the cron task in /etc/cron.d
Please enter 'y' or 'n'?> [y] y

Aparecerá uma mensagem pedindo onde você deseja guardar os arquivos do agente, pressione "Enter" para escolher o padrão:
Where do you want the agent to store its files? (You probably don't need to change it)?> [/var/lib/ocsinventory-agent]

Aparecerá uma mensagem pedindo se você deseja criar o diretório /var/lib/ocsinventory-agent, pressione "Enter" para escolher o padrão:
Do you want to create the /var/lib/ocsinventory-agent directory?
Please enter 'y' or 'n'?> [y]

Aparecerá uma mensagem dizendo que novas definições foram escritas, agradecendo o uso do OCS Inventory e pedirá se deseja remover o antigo linux_agent, escolha a padrão:
New settings written! Thank you for using OCS Inventory
Should I remove the old linux_agent
Please enter 'y' or 'n'?> [n] n

Aparecerá uma mensagem pedindo se você deseja implantar o recurso de implantação de software OCS Inventory, escolha a padrão:
Do you want to use OCS-Inventory software deployment feature?
Please enter 'y' or 'n'?> [y] y

Aparecerá uma mensagem pedindo se você gostaria de enviar um inventário desta máquina, escolha a padrão:
Do you want to send an inventory of this machine?
Please enter 'y' or 'n'?> [y] y

[info] Accountinfo file doesn't exist. I create an empty one.
-> Success!

13 comentários:

  1. Opa, blz. quando chegou nesta parte o setup parou dando esse erro:


    Where is Apache Include configuration
    directory [//etc/apache2/conf.d/] ?
    *** ERROR: //etc/apache2/conf.d/ is not writable !

    tem alguma ideia do que seja?

    ResponderExcluir
  2. Pode ser alguma permissão de escrita!!!
    Verifica as permissões de escrita

    ResponderExcluir
  3. Boas, antes de dar quero dar os parabens pelo tutorial.
    Sou iniciante no Ubuntu e dá imenso jeito ter tutoriais como estes.

    surgiu-me um erro mesmo no final do setup:

    [error] Cannot establish communication : 500 Internal Server Error
    -> Failed!
    You may want to launch the agent with the --verbose or --debug flag.

    tem alguma ideia do que posso fazer para corrigir o erro ?

    ResponderExcluir
  4. O erro diz que não foi possível estabelecer uma conexão com o servidor
    Verifica se o Banco está rodando, na dúvida reinicie ele, verifica o firewall, pode ser que ele esteja bloqueando a comunicação entre agente e servidor.
    Verifica os logs.

    Vlw

    ResponderExcluir
  5. you have to execute the setup.sh as root

    sudo sh setup.sh

    that worked for me

    ResponderExcluir
  6. Você precisa executar o comando como root!!!

    ResponderExcluir
  7. Bom dia, antes de mais nada parabéns pelo tutorial...

    Na parte:
    Aparecerá uma tela pedindo o endereço do servidor MySql, nome e a senha do usuário root do MySql:
    MySql Login: usuário
    Mysql Password: senha
    Mysql HostName: ipservidor

    Coloco tudo certo, mas aparece a msg "Impossible de se connecter á MySQL sur localhost, merci d`entre un login/mot de passe MySQL valide...

    ResponderExcluir
    Respostas
    1. Oi
      Nessa parte da instalação, estou me referindo ao usuário e senha do banco de dados MySql.

      MySql Login: usuário -> esse usuário foi o que eu criei, você precisa colocar o usuário do root(administrador) do banco de dados Mysql que você criou quando instalou o MySql. Assim também para Mysql Password: senha -> essa senha é a do banco de dados, que você escolhei na hora da instalação do banco.

      Qualquer dúvida me avise!!!

      Excluir
  8. ae onde vc tah eh a senha de admin admin

    ResponderExcluir
  9. Olá,

    finalizei todo o processo. Mas no GLPI quando eu vou importar novos computadores ele nao encontra nada. Sabe me dizer porque?

    Marcos

    ResponderExcluir
    Respostas
    1. Tenta ver o arquivo de log, se você escolheu a instalação padrão, os logs estarão em:
      /var/log/ocsinventory-server.

      Também verifique o log de instalação, pode ser que ocorreu algum erro durante a instalação.
      /usr/local/OCSNG_UNIX_SERVER-1.02.1/ocs_server_setup.log

      Excluir
  10. Boa Tarde Rafael,

    Parabéns pelo Tutorial!

    Na instalação do agente esta dando o seguinte erro:

    [error] Cannot establish communication : 500 Internal Server Error

    Esse erro acontece tanto na intalação do agente do Debian e do Windows.

    ResponderExcluir