martes, 14 de mayo de 2019

OCS Inventory NG 2.6 en Debian Stretch

Vamos a explicar como instalar OCS Inventory NG 2.6 en Debian Stretch. 
Que es OCS Inventory, según la wikipedia es:

Open Computer and Software Inventory Next Generation (OCS) es un software libre que permite a los Administradores de TI (Tecnología de Información) gestionar el inventario de sus activos de TI. OCS-NG recopila información sobre el hardware y software de equipos que hay en la red que ejecutan el programa de cliente OCS ("agente OCS de inventario").

root@ocs:~# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.9 (stretch)
Release: 9.9
Codename: stretch


Lo primero que vamos a instalar es el Apache:

root@ocs:~# apt-get install apache2

Luego vamos a instalar PHP y una serie de librerías indispensables:

root@ocs:~# apt-get install libxml-simple-perl libcompress-zlib-perl libdbi-perl libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl libarchive-zip-perl make build-essential php-pclzip php7.0 libapache2-mod-php7.0 php7.0-common php-pear php7.0-cli php7.0-ldap libxml-simple-perl libio-compress-lzma-perl php7.0-gd php7.0-curl php-soap libsoap-lite-perl libmojolicious-perl libplack-perl php-mbstring php-zip

Ahora vamos a instalar CPAN (Comprehensive Perl Archive Network) y dependencias: 

root@ocs:~# cpan
Sorry, we have to rerun the configuration dialog for CPAN.pm due to
some missing parameters. Configuration will be written to
 <</root/.cpan/CPAN/MyConfig.pm>>


CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.

Would you like to configure as much as possible automatically? [yes] 


Autoconfiguration complete.

commit: wrote '/root/.cpan/CPAN/MyConfig.pm'

You can re-run configuration any time with 'o conf init' in the CPAN shell
Terminal does not support AddHistory.

cpan shell -- CPAN exploration and modules installation (v2.1101)
Enter 'h' for help.

cpan[1]>

Cuando ejecutamos el comando cpan, por primera vez, nos muestra un dialogo de configuración, solo aceptamos y listo caemos en el promt del cpan. Ahora procedemos a ejecutar la instalación del cpan en su ultima versión.


cpan[1]> install cpan
Fetching with LWP:
http://www.cpan.org/authors/01mailrc.txt.gz
Reading '/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/02packages.details.txt.gz
Reading '/root/.cpan/sources/modules/02packages.details.txt.gz'
Database was generated on Fri, 10 May 2019 20:41:02 GMT
.............
New CPAN.pm version (v2.26) available.
[Currently running version is v2.1101]
You might want to try
install CPAN
reload cpan
to both upgrade CPAN.pm and run the new version without leaving
the current session.

...............................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/03modlist.data.gz
Reading '/root/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /root/.cpan/Metadata
Warning: Cannot install cpan, don't know what it is.
Try the command

i /cpan/

to find objects with matching identifiers.

Antes de instalar los siguientes módulos de PERL, tenemos que tener instalado las siguientes librerías:

* libarchive-zip-perl
* libsoap-lite-perl
* libxml-simple-perl
* libnet-ip-perl
* libapache-dbi-perl
* libmojolicious-perl
* libplack-perl
* libyaml-0-2
* libswitch-perl

Instalamos los siguientes módulos de Perl:

* YAML
* XML::Entities
* SOAP::Lite
* Apache::DBI
* Mojolicious::Lite
* Plack::Handler

cpan[2]> install YAML

cpan[3]> install XML::Entities

cpan[4]> install SOAP::Lite

cpan[5]> install Apache::DBI

cpan[6]> install Mojolicious::Lite

cpan[7]> install Plack::Handler


Continuamos ahora con la instalación de la Base de Datos, que en este caso instalaremos MariaDB (la wiki de ocs recomienda instalar mariaDB), así que ejecutamos el siguiente comando: 

root@ocs:~# apt-get install mariadb-server php7.0-mysql

Vamos a cambiar la clave root, crear la BD de OCS y crear el usuario de OCS en el mariaDB:

root@ocs:~# mysql -u root

MariaDB [(none)]> set password for 'root'@'localhost' = password('ocs2019');

MariaDB [(none)]> create database ocsweb;
Query OK, 1 row affected (0.01 sec)

MariaDB [(none)]> create user 'ocs'@'%' identified by 'ocs123456';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all privileges on ocsweb.* to 'ocs'@'%' with grant option;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

Que realizamos anteriormente:
* Cambiamos el password de root de mariaDB con su clave: ocs2019
* Creamos una BD llamada: ocsweb
* Creamos el usuario ocs con su clave: ocs123456
* Y darle permisos al usuario ocs sobre la BD ocsweb

Ahora vamos a proceder a descargar el OCS Inventory desde su pagina web oficial: https://www.ocsinventory-ng.org/en/ nos vamos a la pestaña que dice DOWLOADS y seleccionamos OCS Inventory Unix/Linux Server. El archivo descargado en cuestion viene en formato .tar.gz asi que procedemos a descomprimirlo, asi que ejecutamos:

root@ocs:~# tar xzf OCSNG_UNIX_SERVER_2.6.tar.gz

Accedemos a la carpeta y ejecutamos el archivo setup.sh

root@ocs:~/OCSNG_UNIX_SERVER_2.6# ./setup.sh

NOTA: durante la instalación lo mas seguro es que te aparezca este Warning:

Checking for Apache2::SOAP PERL module...
*** Warning: PERL module Apache2::SOAP is not installed !
This module is only required by OCS Inventory NG SOAP Web Service.
Do you wish to continue ([y]/n]

De igual forma puedes continuar con la instalación, pero es preferible que todo quede bien; entonces lo que tenemos que hacer es instalar el siguiente paquete e instalar el modulo en Perl:

root@ocs:~/OCSNG_UNIX_SERVER_2.6# apt-get install apache2-dev

cpan[1]> install Apache2::SOAP

Seguimos con la instalación; el OCS nos realizara una serie de preguntas el cual vamos respondiendo con Y ó N; si nos falta alguna dependencia o modulo de Perl, te indica si puede continuar o cancelar la instalación. Una vez finalizado debe mostrarnos lo siguiente:

Antes de ir al navegador tenemos que modificar 2 archivos; los archivos están ubicados en la ruta: /etc/apache2/conf-available

* z-ocsinventory-server.conf
* zz-ocsinventory-restapi.conf

root@ocs:/etc/apache2/conf-available# vim z-ocsinventory-server.conf


En este caso se modifico solo la clave.

root@ocs:/etc/apache2/conf-available# vim zz-ocsinventory-restapi.conf


Igual que el archivo anterior, solo se cambia la clave.
Ahora creamos enlaces simbólico y cambiamos permisos:

root@ocs:~# ln -s /etc/apache2/conf-available/ocsinventory-reports.conf /etc/apache2/conf-enabled/ocsinventory-reports.conf

root@ocs:~# ln -s /etc/apache2/conf-available/z-ocsinventory-server.conf /etc/apache2/conf-enabled/z-ocsinventory-server.conf

root@ocs:~# chown www-data:www-data -R /var/lib/ocsinventory-reports

root@ocs:~# /etc/init.d/apache2 restart
[ ok ] Restarting apache2 (via systemctl): apache2.service.

Ahora si procedemos abrir nuestro navegador web: http://server/ocsreports 

Colocamos los datos para la conexión a la DB, y si todo a ido bien, nos muestra la siguiente pantalla:


Hacer click en OCS-NG GUI:




Hasta este punto ya tenemos el OCS Inventory instalado y funcionando, solo nos queda agregar a los agentes en los servidores o PC. Como ven no es complicada la instalacion, pero si tediosa cuando te da errores por falta de alguna dependencia o modulo de Perl.

Referencias WEB:




2 comentarios:

  1. Actualmente estoy probando la herramienta OCSinventory para el manejo de inventorio pero he tenido problemas a la hora de sincronizar el agente con el servidor. No sé que configuración debo tener ya que funcione bien las que he realizado, no me han funcionado y no las puedo ver en la plataforma y espero que me puedan ayudar.

    ¿Cómo puedo probar la sincronización?

    Desactive firewall, anti-virus, añadi host, probé la configuacion de diferentes maneras y no me dejado ver el host en la web.

    ResponderBorrar
    Respuestas
    1. Te da algún error cuando ejecutas el agente de OCS en los clientes?
      En que sistemas operativos estas instalando y ejecutando el cliente?

      Borrar