OCS Inventory – Instalação e Configuração

O OCS Inventory (Open Computers and Software Inventory) é um software livre que permite o gerenciamento de inventário de hardware e software de uma rede de computadores. Através de um software cliente (agente) multiplataforma, todas as informações do equipamento são levantadas e enviadas à uma base de dados (servidor), qual pode ser acessada através de uma interface web simples e eficiente. O servidor também possui alguns recursos bem interessantes, como o IP Discovery, que utilizando SNMP, efetua uma varredura na rede para a coleta de informações sobre dispositivos e recursos como switches, roteadores, impressoras e outros.

Um software de inventário, como o OCS, é muito importante para o gerenciamento de uma rede, já que este permite mapear todo o parque de máquinas, suas configurações de hardware e informações de software. Com estes dados em mãos é possível responder, rapidamente, dúvidas comuns como sobre a performance de computadores, informações de acesso remoto, sistemas e aplicativos sem licença ou desatualizados e outras. Além disso, com um inventário atualizado, é possível identificar o número exato de computadores e dispositivos em uso, em estoque, em manutenção e que estão dentro ou fora da garantia, evitando erros em tomadas de decisões estratégicas, como em novos investimentos.

Neste artigo, faremos a instalação do OCS Inventory no Linux Ubuntu 16.04 LTS Server  utilizando o Apache 2.4.18, PHP 7.0.28, PERL 5.22.1 e MySQL 5.7.21. O procedimento também foi testado no Linux Ubuntu 18.04 LTS Server. A instalação no Linux Debian é muito semelhante, variando apenas algumas versões de determinados pacotes. Além disso, a instalação padrão do Debian não instala o MySQL e PHP, apenas o Apache.

Informações do ambiente

Considerando que o Linux Ubuntu, incluindo os pacotes LAMP Server (Apache, MySQL e PHP / PERL), já esteja instalado em seu ambiente, vamos à instalação e verificação dos pacotes adicionais.

A lista completa de requisitos e de pacotes necessários para a instalação do OCS Inventory Server está no final deste post.

Para verificar as versões dos pacotes, como PHP, PERL e MySQL use:

php --version
mysql --version
perl --verson

Caso estes pacotes não estejam instalados, use o comando abaixo para instalar manualmente o Apache (2.4), PHP (7.2) e o MySQL (5.7):

apt-get install apache2 php mysql-server

Pacotes Adicionais

Para o correto funcionamento do sistema, incluindo suas funcionalidades avançadas, como o IP Discovery, alguns pacotes adicionais devem ser instalados:

– Pacotes padrão:

apt-get install make build-essential snmp 
apt-get install mysql-client
apt-get install nmap (opcional)

– PERL Módulos:

O OCS Web Communication requer, além do Apache, o PERL, algumas de suas bibliotecas e dos seus módulos adicionais:

apt-get install libxml-simple-perl
apt-get install libio-compress-perl
apt-get install libdbi-perl
apt-get install libdbd-mysql-perl
apt-get install libapache-dbi-perl
apt-get install libnet-ip-perl
apt-get install libsoap-lite-perl
apt-get install libarchive-zip-perl
apt-get install libapache2-mod-perl2-dev
cpan -i XML::Entities
cpan -i Compress::Zlib
cpan -i Apache::SOAP
cpan -i Apache2::SOAP

Para instalar todos os pacotes PERL e os seus módulos (CPAN / Comprehensive Perl Archive Network), ao mesmo tempo, use os dois comandos abaixo:

apt-get install libxml-simple-perl libio-compress-perl libdbi-perl libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl libarchive-zip-perl libapache2-mod-perl2-dev
cpan -i XML::Entities Compress::Zlib Apache2::SOAP

– PHP Módulos:

O OCS Web Administration Console requer, além do Apache e do PERL, o PHP e alguns dos seus módulos adicionais:

apt-get install libphp-pclzip
apt-get install php-gd 
apt-get install php-curl php-xml php-soap php-mysql php-zip
apt-get install php-mbstring
apt-get install php-net-ldap (opcional / necessário para integração com Active Directory) 

A instalação destes pacotes podem variar conforme suas versões,  pré-instaladas no sistema ou disponíveis nos repositórios do Ubuntu ou Debian, para instalação ou atualização, como: php-pclzip, php-ldap, php5-gd, php5-curl e outros.

Para instalar todos os pacotes PHP ao mesmo tempo, use este comando:

apt-get install php-pclzip php-gd php-curl php-xml php-soap php-mysql php-zip php-mbstring php-ldap

OCS Inventory Server Install

Baixe o arquivo de instalação do OCS Server em seu site oficial, como através deste link da versão 2.4 ou da versão 2.4.1.

wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.4/OCSNG_UNIX_SERVER_2.4.tar.gz

Você também pode baixar o arquivo de instalação do OCS via git, com os comandos abaixo e então seguir com as instruções do instalador:

sudo apt install git curl
git clone https://github.com/OCSInventory-NG/OCSInventory-Server.git
cd OCSInventory-Server
sh setup.sh

Descompacte o arquivo baixado e acesse o diretório de instalação:

tar -xzvf OCSNG_UNIX_SERVER-2.4.tar.gz
cd OCSNG_UNIX_SERVER-2.4

Execute o instalador através do comando abaixo e então siga as instruções. Fique atento aos alertas exibidos pelo instalador em cada uma de suas interações.

sh setup.sh
Instalador do OCS Inventory

Em resumo, as ações padrões da instalação são:
– Continue = y
– Database server (localhost) = enter
– Database server Port (3306) = enter
– Apache daemon binary (/usr/sbin/apache2ctl) = enter
– Apache main config (/etc/apache2/apache2.conf) = enter
– User Apache web server (www-data) = enter
– Group Apache web server (www-data) = enter
– Apache include config directory (/etc/apache2/conf-available) = enter
– PERL interpreter (/usr/bin/perl) = enter
– Communication server = y
– Communication server log (/var/log/ocsinventory-server) = enter
– Communication server plugins config (/etc/ocsinventory-server/plugins) = enter
– Communication server plugins Perl (/etc/ocsinventory-server/perl) = enter

Atenção: caso algum módulo PERL não esteja instalado o OCS Install informará, como por exemplo:  Warning: PERL module Apache2::SOAP is not installed! This module is only required by OCS Inventory NG SOAP Web Service. Neste caso, tecle y (Yes) para autorizar e aguarde pela instalação dos módulos faltantes, ou tecle n (No) para interromper a instalação e repita a operação depois de instalar as dependências.

– Rest API server = no
– Communication server Apache config file “z-ocsinventory-server.conf” = y
– Administration Web Server = y
– Install Console on /var/lib/ocsinventory-reports = y
– Administration Server static files for PHP (/usr/share/ocsinventory-reports) = enter
– Directories for packages, IPDiscovery and SNMP (/var/lib/ocsinventory-reports) = enter

Feito isso, a instalação será concluída e uma mensagem de confirmação será exibida, como ilustrado na figura abaixo:

Instalação do OCS Inventory Server concluída

 


Configuração do Apache e PHP:

O primeiro passo, conforme solicitado pelo instalador, é reiniciar o Apache. Após, configurar o acesso web ao OCS Administration Web Server:

/etc/init.d/apache2 restart ou systemctl restart apache2
a2enconf ocsinventory-reports
a2enconf z-ocsinventory-server
chown -R www-data:www-data /var/lib/ocsinventory-reports/
/etc/init.d/apache2 restart ou systemctl restart apache2

Feito isso, vá para o navegador e entre com o endereço:
http://ip-do-servidor/ocsreports ou http://dominio-do-servidor/ocsreports, caso você tenha um servidor DNS configurado.

OCS Inventory Installation (Web)

Alertas do instalador

Como pode ser observado acima, é importante verificar os alertas informados pelo sistema e corrigi-los, como por exemplo:


WARNINGS:
– You will not be able to build any deployment package with size greater than 100MB.
You must raise both post_max_size and upload_max_filesize in your vhost configuration to encrease this limit.
– If you change default database name (ocsweb) or user (ocs), don’t forget to update the file ‘z-ocsinventory-server.conf’ in your Apache configuration directory

ERRORS:
– You need to install the following packages: php-curl


No exemplo acima, o sistema alerta sobre alguns parâmetros do PHP (php.ini), sobre o usuário e senha do banco de dados do OCS (ocsweb) e também que um pacote essencial está faltando (php-curl).

Para os pacotes essenciais ausentes, volte aos passos anteriores e proceda com a instalação. A alteração do usuário e senha do banco de dados do OCS será feito após a instalação e criação da base de dados padrão do sistema. Já para os alertas do PHP, edite o php.ini, conforme abaixo (atenção para a versão do PHP):

nano /etc/php/7.0/apache2/php.ini
nano /etc/php/7.2/apache2/php.ini

Parâmetros recomendados:
– post_max_size = 512MB
– upload_max_filesize = 512MB

Feito as atualizações no php.ini, reinicie o Apache:

/etc/init.d/apache2 restart

Corrigido todos os alertas, insira as credenciais administrativas de acesso a base de dados do MySQL. Você pode seguir criando, manualmente, uma base de dados e um usuário específico para acesso à esta base ou inserindo as credenciais do user root do MySQL:

Criando uma base de dados (ocs) e um usuário específico:

# mysql -u root -p
CREATE DATABASE ocs;
GRANT ALL PRIVILEGES ON ocs.* TO ocs@localhost IDENTIFIED BY "Inserir-uma-senha-aqui";
FLUSH PRIVILEGES;
QUIT;

Insira as informações para acesso a base de dados (MySQL):

MySQL Login = ocs ou root
MySQL Passwd = senha do user ocs ou do root
Database = ocs ou ocsweb
MySQL Host = localhost ou IP do Servidor do MySQL

Feito isso, clique em Save e aguarde. Caso tenha usado as credenciais do user root, a instalação criará um banco de dados chamado ocsweb e um usuário chamado ocs (user: ocs / senha: ocs) com acesso exclusivo a este banco de dados. Mensagem final da configuração web:

Installation finished you can log in index.php with:
login=admin / password=admin

Para a alterar a senha de acesso do usuário (ocs) do banco de dados (ocsweb), entre com os comandos abaixo:

mysql -u root -p
*Entre com a senha do usuário root do MySQL
mysql> UPDATE mysql.user SET Password=PASSWORD('new-passwd-here') WHERE User='ocs' AND host='localhost'; 
ou
mysql> ALTER USER 'ocs'@'localhost' IDENTIFIED BY 'new-passwd-here';
*Entre com o comando acima, substituindo o "new-passwd-here" pela senha desejada.

Feito isso a alteração da senha do usuário do OCS do Mysql, edite os arquivos:
/usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php e
/etc/apache2/conf-available/z-ocsinventory-server.conf. 
Altere o parâmetro “password” de cada arquivo, qual contém a senha de acesso do usuário ocs ao banco de dados ocsweb.

Após, faça login no sistema usando as credenciais padrões (acima): http://ip-do-servidor/ocsreports

Note as mensagens de alerta de segurança no topo do sistema como sobre o arquivo install.php existente no diretório de instalação do sistema. Use o comando abaixo para removê-lo:

rm /usr/share/ocsinventory-reports/ocsreports/install.php

Feito isso, o sistema não deverá conter mais nenhum alerta e este é o fim da instalação e da configuração do servidor!

Instalação dos agentes

Com o servidor devidamente configurado, você já pode executar o OCS Agent nos computadores da rede para cadastrá-los no inventário. Atualmente, o OCS possui agentes para Windows, Linux, Mac OS e Android.

A instalação do agente é bem intuitiva, em qualquer um dos sistemas. No Windows e Mac, a única configuração que precisa de atenção é o endereço do servidor, que deve ser: http://ip-do-servidor/ocsinventory (não http://ip-do-servidor/ocsreports, que é o endereço da interface web), conforme imagem abaixo:

Instalação do OCS Agent em um computador com Windows

Para instalar o OCS Agent em um sistema Linux e efetuar uma comunicação com o servidor, cadastrando a máquina no inventário, use os comandos abaixo:

#~ apt-get install ocsinventory-agent

– Tipo: http
– Server: IP ou URL do servidor do OCS

#~ sudo ocsinventory-agent

Diretórios e arquivos de configuração do OCS:

/etc/ocsinventory-server – PERL e Plugins
/etc/apache2/conf-available/z-ocsinventory-server.conf – Configs PERL / MySQL
/etc/apache2/conf-available/ocsinventory-reports.conf – Configs do OCS Server / PHP
/etc/apache2/conf.d/z-ocsinventory-server.conf  – Configs PERL / MySQL (Debian)
/usr/share/ocsinventory-reports – Arquivos do OCS Reports Web
/usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php – MySQL Config
/var/lib/ocsinventory-reports – Arquivos gerais
/opt/OCSNG_UNIX_SERVER-2.X.Y/ocs_server_setup.log – Logs da instalação
/usr/share/ocsinventory-reports/themes/OCS/banniere.png – Icone padrão do sistema
/usr/share/ocsinventory-reports/themes/OCS/logo.png – Imagem da tela de login

Arquivos de configuração do MySQL:

Debian – /etc/mysql/my.conf
Ubuntu – /etc/mysql/mysql.conf.d/mysqld.cnf
*Para importar bases de tamanhos grandes, altere o parâmetro:
max_allowed_packet = 16M para max_allowed_packet = 1024M, ou conforme sua necessidade.

Requisitos do OCS Inventory:

Apache version 1.3.33 or higher / Apache version 2.0.46 or higher.
Mod_perl version 1.29 or higher.
Mod_php version 4.3.2 or higher.
PHP 4.3.2 or higher, with ZIP and GD support enabled.
PERL 5.6 or higher.
Perl module XML::Simple version 2.12 or higher.
Perl module Compress::Zlib version 1.33 or higher.
Perl module DBI version 1.40 or higher.
Perl module DBD::Mysql version 2.9004 or higher.
Perl module Apache::DBI version 0.93 or higher.
Perl module Net::IP version 1.21 or higher.
Perl module SOAP::Lite version 0.66 or higher (optional)
MySQL version 4.1.0 or higher with InnoDB engine active.
Make utility such as GNU make.

Pacotes necessários:

Lista de todos os pacotes necessários para o correto funcionamento do OCS Inventory, segundo seu site oficial:

Mod_Perl, Make, GCC, Mysql Server, Apache, PHP, php-mysql, php-gd, php-xml, php-mbstring, php-curl, libxml-simple-perl, libdbi-perl. libdbd-mysql-perl, libapache-dbi-perl. libnet-ip-perl. php-pclzip. libarchive-zip-perl (providing Archive::Zip), libsoap-lite-perl (providing SOAP::Lite, plugin engine need it), libxml-simple-perl (providing XML:Entities), libnet-ip-perl (providing NET::IP), libapache-dbi-perl (providing Apache::DBI).

*Com informações de: OCS Inventory – Documentação Oficial, OCS Inventory – Site Oficial, OCS Forum – OCS 2.4 no Ubuntu 16, OCS Forum – OCS no Ubuntu 16.04 Server.

8 Comments

  1. Muito bom o tutorial, funcionando certinho!
    Tutorial ótimo! Bem explicado e fácil de entender.
    Parabéns e obrigado!!!
    ATENÇÃO: Para quem teve problemas, fiquem atentos na instalação do agente correto. Usem a versão compatível com a versão do Servidor, senão, pode não enviar dados ao servidor

  2. Boa noite,
    Precisaria só de uma ajuda para um problema que encontrei, consegui fazer toda a instalação só que esqueci a senha do usuário administrador da interface web.
    Saberia me informar alguma solução da qual eu poderia está fazendo para poder resolver esse problema ?
    Obrigado dês de já

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.