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
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:
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:
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.
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
Obrigado, Giullian!
Parabéns pelo tutorial, ficou muito bem feito!
Muito obrigado, Anderson!
Como configurar notificações por e-mail? uso ubuntu e OCS 2.9.2
Você precisa efetuar a configuração de envio de emails via SMTP. Veja este post: https://wiki.ocsinventory-ng.org/04.Management-console-and-its-advanced-features/Configure-mail-notification/
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á
Olá! Minha sugestão é procurar alguma ajuda no fórum oficial do OCS. Numa pesquisa rápida, encontrei esta dica, que pode lhe ajudar: https://ask.ocsinventory-ng.org/6159/recover-admin-account. Num cenário de testes, analisaria a possibilidade de reinstalação. Espero ter ajudado.