anúncios

quarta-feira, 18 de novembro de 2015

Instalando e Configurando OCS Inventory no Debian

O que é OCS Inventory ?

OCS Inventory é o acrônomo Open Computer and Software Inventory, é uma ferramenta sob licença GNU GPL, que permite os usuários ativos fazer o inventário de TI.

OCS NG coleta informações sobre hardware e software dos computadores da rede que executam o cliente OCS. OCS pode visualizar o inventário através da interface web.

Depois de conhecer o OCS Inventory e pra que ser serve, podemos seguir os procedimentos de instalação e configuração do OCS Inventory em seu servidor GNU/Linux Debian.

Observação: Testado no GNU/Linux Debian 8 (Jessie) e a versão do OCS Inventory é 2.1.2 até a data de publicação deste post.

Atualizando o repositório de pacotes
#apt-get update
Instalando os pacotes pré-requisitos necessários
#apt-get install apache2 mysql-server php php-gd php-mysql php-curl php-imap php-ldap

Instalando as dependências do OCS
#apt-get install libxml-simple-perl perl libio-compress-perl libdbi-perl libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl libphp-pclzip libxml-parser-perl

Instalar o pacote CPAN manualmente
#perl -e shell -MCPAN
Confirme com yes.
No console do CPAN.
CPAN> install XML::Entities
Após concluir instalação, digite exit para sair do console do CPAN.
Reinicie o serviço do Apache para que as alterações sejam efetuadas.
#/etc/init.d/apache2 stop
#/etc/init.d/apache2 start


Criando o banco de dados ocs no MySQL
# mysql_install_db
# mysql -u root -p
Enter password: < digite a senha de root que foi definida na instalação do MySQL >
mysql> create database ocs character set utf8;

Criar o usuário ocs para o banco ocs
mysql> GRANT ALL PRIVILEGES ON *.* TO ocs@localhost IDENTIFIED BY 'senha_ocs' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)
mysql> quit


Download do OCS Inventory Server
Opcional: Criar um diretório ocs em Download
$mkdir /home/SEU-USUARIO/Downloads/ocs
$cd /home/SEU-USUARIO/Downloads/glpi/ocs
$wget -c "https://launchpad.net/ocsinventory-server/stable-2.1/2.1.2/+download/OCSNG_UNIX_SERVER-2.1.2.tar.gz"

Extrair o OCSNG_UNIX_SERVER para /opt
#tar -xzvf OCSNG_UNIX_SERVER-2.1.2.tar.gz -C /opt/

Setup de instalação do OCS Inventory
Acessar o diretório que foi extraído
#cd /opt/OCSNG_UNIX_SERVER-2.1.2/
Setar permissão no script setup.sh
#chmod +x setup.sh
Executar o script setup.sh
#./setup.sh

Responder as perguntas
Do you wish to continue ([y]/n)? [ENTER]
Which host is running database server [localhost] ? [ENTER]
On which port is running database server [3306] ? [ENTER]
Where is Apache daemon binary [/usr/sbin/apache2] ? [ENTER]
Which user account is running Apache web server [www-data] ? [ENTER]
Which user group is running Apache web server [www-data] ? [ENTER]
Setup will put OCS Inventory NG Apache configuration in this directory.
Where is Apache Include configuration directory [] ? /etc/apache2/conf-enabled
Where is PERL Intrepreter binary [/usr/bin/perl] ? [ENTER]
Do you wish to setup Communication server on this computer ([y]/n)? [ENTER]
Where to put Communication server log directory [/var/log/ocsinventory-server] ? [ENTER]
Where to put Communication server plugins configuration files [/etc/ocsinventory-server/plugins] ? [ENTER]
Where to put Communication server plugins Perl modules files [/etc/ocsinventory-server/perl] ? [ENTER]
Do you wish to setup Administration Server (Web Administration Console) on this computer ([y]/n)? [ENTER]
Do you wish to continue ([y]/n)? [ENTER]
Where to copy Administration Server static files for PHP Web Console [/usr/share/ocsinventory-reports] ? [ENTER]
Where to create writable/cache directories for deployement packages, administration console logs, IPDiscover and SNMP [/var/lib/ocsinventory-reports] ? [ENTER]

Rever o arquivo gerado /etc/apache2/conf-available/ocsinventory-reports.conf

Ajustes de parâmetros no PHP
#vim /etc/php/apache2/php.ini
Linha 372: max_execution_time = 200
Linha 382: max_input_time = 200
Linha 393: memory_limit = 512M
Linha 660: post_max_size = 300M
Linha 810: upload_max_filesize = 300M
ESC + :x (salva e sai do editor Vim)

Ajustes de variáveis do OCS
#vim /etc/apache2/conf-enabled/ocsinventory-reports.conf
Linha 42: php_value post_max_size 300m
Linha 43: php_value upload_max_filesize 300m

Reiniciar o Apache
#/etc/init.d/apache2 restart

Criar o banco de dados ocsweb
# mysql -u root -p
Enter password: < digite a senha de root que foi definida na instalação do MySQL >
mysql> create database ocsweb character set utf8;


Criar o usuário ocsweb para o banco ocsweb
mysql> GRANT ALL PRIVILEGES ON *.* TO ocsweb@localhost IDENTIFIED BY 'senha_ocsweb' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> quit


Acesse no browser - http://IPSERVIDOR/ocsreports

Preencher os campos solicitados
Login MySQL: < ocsweb >
MySQL Password: < senha_ocsweb >
MySQL Database: < ocsweb >
Mysql Hostanme: < localhost ou o IP do servidor de banco de dados >

Após o preenchimento, será redirecionado para a página com status de instalação, clique em enviar, será redirecionado para outra página de finished, clique OCS-NG-GUI.
O usuário e senha default do OCS Inventory é admin/admin.
Observe que será recebido as mensagens de: SECURITY ALERT!
Your install.php exists in your installation directory.
The default SQL login/password is activate on your database: ocsweb
The default login/password is activate on OCS-NG GUI

1. Remover o arquivo install.php do diretório /usr/share/ocsinventory-reports/
#cd /usr/share/ocsinventory-reports/ocsreports/
#rm install.php


2. Alterar a senha de acesso ao banco de dados
#mysql -u ocs -p
Password: < digite a senha do usuário ocs >
mysql> SET PASSWORD FOR 'ocs'@'localhost' = PASSWORD('ocs_nova_senha');
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> quit

#vim /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php
Altere a linha 6 pela nova senha alterada anteriormente
Linha 6: define("PSWD_BASE","ocs_nova_senha");
ESC +:x (salva e sai do editor Vim)
#vim /etc/apache2/conf-available/z-ocsinventory-server.conf Altere a linha 31 pela nova senha alterada anteriormente
Linha 31: PerlSetVar OCS_DB_PWD ocs_nova_senha
ESC +:x (salva e sai do editor Vim)

3. Alterar a senha default do OCS Inventory
Na interface do OCS Inventory, em no ícone na chave, conforme o screenshot

Reinicie o Apache
#/etc/init.d/apache2 restart

No browser acesse - http://IPSERVIDOR/ocsreports
Logue com usuário admin e a nova senha alterada na etapa 3.
Observe que as mensagens de SECURITY ALERT não aparece, isso indica que foi resolvido.
Feito!

15 comentários:

  1. Estou seguindo a risca o seu tutorial, mas quando dou um /etc/init.d/apache2 restart o apache dá erro.

    "Job for apache2.service failed. See 'systemctl status apache2.service' and 'journalctl -xn' for details."

    ResponderExcluir
    Respostas
    1. @Ewerton Silva,

      Quando fiz a instalação e configuração do OCS, não ocorreu esse erro.

      Mas vamos debugar o problema. Execute como root como procede na mensagem.
      #journalctl -xe
      Poste o resultado desse comando.

      Verifique também se não adicionou alguma linha com parâmetros incorretos no arquivo apache2.conf
      Remove/comenta essas linhas adicionadas com parâmetros incorretos.

      Feito!

      Excluir
    2. Caso você passe por esse erro ao iniciar o Apache, comente as seguintes linhas do arquivo: /etc/apache2/sites-enabled/z-ocsinventory-server.conf

      #AuthUserFile "APACHE_AUTH_USER_FILE"
      #require "SOAP_USER"

      Excluir
    3. Caso você passe por esse erro ao iniciar o Apache, comente as seguintes linhas do arquivo: /etc/apache2/sites-enabled/z-ocsinventory-server.conf

      #AuthUserFile "APACHE_AUTH_USER_FILE"
      #require "SOAP_USER"

      Excluir
  2. Olá senhores tudo bem com vocês ?

    Segui o passo a passo igualmente como mencionado , mas estou com 2 problemas

    Na instalação do script ele da erro na linha onde aparece:
    - Where is Apache daemon binary [/usr/sbin/apache2] ?

    Onde nessa tela eu digitei:
    /etc/apache2/apache2.conf e aí sim eu consigo dar certo , caso contrario , após a pergunta do :

    - Which user group is running Apache web server [www-data] ? ele da erro do Apache..

    Mesmo assim consegui prosseguir com a instalação seguindo este tutorial...

    Mas o maior problema é que eu não encontrei o arquivo /etc/apache2/conf-available/ocsinventory-reports.conf e nem o

    /etc/apache2/conf-enabled/ocsinventory-reports.conf

    Não sei se isso tem alguma ligação mas ao acessar o http://IPSERVIDOR/ocsreports não aparece nada...nem mesmo dentro do localhost

    Como podemos proceder ?

    ResponderExcluir
    Respostas
    1. @DiogoSM (didism2),
      O que arquivo ocsinventory-reports.conf é gerado no setup de instalação do OCS Inventory. Na opção quando pergunta Where is Apache Include configuration directory [] ? /etc/apache2/conf-enabled
      Se for Debian, coloca /etc/apache2/conf-enabled, que irá criar o arquivo /etc/apache2/conf-available/ocsinventory-reports.conf se todas as questões do setup forem respondidas corretamente.
      Se alguma etapa/questão ocorrer erro, é porque provavelmente respondeu incorretamente.
      No caso, você mencionou que na questão Which user group is running Apache web server [www-data] ? ocorreu erro no Apache, então verifique no sistema (distro) se tem o grupo www-data setado no Apache.

      O arquivo /etc/apache2/conf-available/ocsinventory-reports.conf só é gerado se todas as questões do setup forem respondidas corretamente.
      Esse é o arquivo principal do OCS que redireciona para http://IPSERVIDOR/ocsreports

      Feito!

      Excluir
  3. Olá, em primeiro obrigado por compartilhar este tutorial.

    Segui ele corretamente, tenho o debian na versão 8, quando instalo o agente recebo o erro abaixo:

    COM SERVER => HTTP Post response received

    Fiz diversas tentativas, ja me certifiquei da alteração da senha no z-ocsinventory-server.conf e no dbconfig.inc.php

    Conseguiria me orientar se tem mais alguma coisa a fazer?

    ResponderExcluir
  4. Olá, em primeiro parabens pelo tutorial.

    Utilizo o Debian na versão 8, segui o passo a passo corretamente, a instalação percorreu sem nenhum problema.

    Quando instalo o agente em maquina windows recebo o erro abaixo:

    COM SERVER => HTTP Post response received

    Já alterei a senha no dbconfig.inc.php e z-ocsinventory-server.conf

    porem o erro persiste, poderia orientar se tem mais alguma coisa que posso testar verificando?

    ResponderExcluir
    Respostas
    1. @Fabio Dantas,
      O Agente OCS NG do Windows e Linux pode fazer o download no site http://www.ocsinventory-ng.org/en/download/download-agent.html
      Extraia e acesse o diretório OCSNG-WINDOWS-AGENT-*
      Execute OCS-NG-Windows-Agent-Setup.exe e segue as etapas do setup preenchendo os campos de acordo com o ambiente.
      Server URL --> IP do servidor de OCS.
      Server Port --> Porta do Server (80 Default).
      Depois que finalizar, execute o services.msc e starta o Agente OCS NG.

      Feito!

      Excluir
  5. Olá!

    Está aparecendo o seguinte erro para mim:

    "XMLin() requires either XML::SAX or XML::Parser at /usr/local/share/perl/5.20.2/Apache/Ocsinventory.pm line 215.\nXML::Simple called at /usr/local/share/perl/5.20.2/Apache/Ocsinventory.pm line 215.\n"

    Teria alguma sugestão para solução?

    ResponderExcluir
    Respostas
    1. Elder,
      Parece que faltou executar a etapa abaixo após instalar o interpretador Perl.

      Instalar o pacote CPAN manualmente
      #perl -e shell -MCPAN
      Confirme com yes.
      No console do CPAN.
      CPAN> install XML::Entities
      Após concluir instalação, digite exit para sair do console do CPAN.
      Reinicie o serviço do Apache para que as alterações sejam efetuadas.
      #/etc/init.d/apache2 stop
      #/etc/init.d/apache2 start

      Feito!

      Excluir
  6. Nao tem mais repositorio para o php5 o Jesie so tem o php7, tem algum tuto atualizado?

    ResponderExcluir
    Respostas
    1. @Paulo Mazzia, sem problema ao usar o PHP 7 para o OCS Inventory no Debian.

      Excluir
  7. Estou com problema nessa etapa:

    Do you wish to setup Communication server on this computer ([y]/n)?y


    +----------------------------------------------------------+
    | Checking for Make utility... |
    +----------------------------------------------------------+

    Make utility not found !
    Setup is not able to build OCS Inventory NG Perl module.




    Alguém tem alguma sugestão?
    Obrigado

    ResponderExcluir
    Respostas
    1. @Ricardo Souza, verifica se o Perl e o GCC estão instalados.

      # apt-get install perl gcc

      Instalar o pacote CPAN manualmente
      #perl -e shell -MCPAN
      Confirme com yes.
      No console do CPAN.
      CPAN> install XML::Entities
      Após concluir instalação, digite exit para sair do console do CPAN.
      Reinicie o serviço do Apache para que as alterações sejam efetuadas.
      #/etc/init.d/apache2 stop
      #/etc/init.d/apache2 start

      Execute o setup do OCS novamente.

      Feito!

      Excluir