OCS-inventory + GLPI: Inventariar equipos automáticamente y actualizar

OCS-Inventory es un programa que recopila información de los equipos para luego poder gestionar tanto el software que tienen instalado como el hardware. Por lo tanto a cualquier administrador de sistemas le viene bien tener esto instalado para poder tener controlado todos los equipos.

GLPI es un programa que se encarga de gestionar las actualizaciones de software de los equipos de una manera automática. Lo cual facilita mucho la gestión de muchos equipos teniendo todo centralizado.

FINAL_OCS_GLPI

OCS-Inventory

Instalación del servidor

Instalar todos los paquetes necesarios.
  # aptitude install libapache2-mod-perl2 libapache-dbi-perl libxml-simple-perl libdbi-perl libdbd-mysql-perl libnet-ip-perl php5-gd php5-mysql mysql-server-5.5 build-essential libapache2-mod-php5

Luego instalar los módulos de perl
# perl -MCPAN -e shell

      cpan[1]> install SOAP::Lite
      cpan[2]> install XML::Entities
  cpan[3]> exit

Descargar el paquete de OCS
  # wget https://launchpad.net/ocsinventory-server/stable-2.1/2.1.2/+download/OCSNG_UNIX_SERVER-2.1.2.tar.gz

Descomprimir el programa.
  # tar zxf OCSNG_UNIX_SERVER-2.1.2.tar.gz
Ir a la carpeta descomprimida
  # cd OCSNG_UNIX_SERVER-2.1.2/
Ejecutar el instalador. Saldrán unos parámetros para configurar.
   # sh setup.sh

Cargar el modulo de php5 en apache
# a2enmod php5

Reiniciar el servicio de apache
  # service apache2 restart

Ir al navegador y escribir la siguiente URL.
  http://IP/ocsreports/

Recargar la página para poder logearse

El usuario y contraseña por defecto es el siguiente:
  admin / admin

Saldrá una advertencia de seguridad

Para quitar la advertencia hay que hacer lo siguiente:
Cambiar la contraseña del usuario ocs en mysql
  # mysql -u root -p
    mysql> UPDATE mysql.user SET user.password = PASSWORD(‘nueva_contraseña’) WHERE user.user = ‘ocs’;
    mysql> FLUSH PRIVILEGES;
    mysql> exit
Borrar el archivo install.php
# rm /usr/share/ocsinventory-reports/ocsreports/install.php
Editar el archivo z-ocsinventory-server.conf y cambiar la contraseña
  # vim /etc/apache2/conf.d/z-ocsinventory-server.conf    
     # Master Database settings
     # Replace localhost by hostname or ip of MySQL server for WRITE
     PerlSetEnv OCS_DB_HOST localhost
     # Replace 3306 by port where running MySQL server, generally 3306
     PerlSetEnv OCS_DB_PORT 3306
     # Name of database
     PerlSetEnv OCS_DB_NAME ocsweb
     PerlSetEnv OCS_DB_LOCAL ocsweb
     # User allowed to connect to database
     PerlSetEnv OCS_DB_USER ocs
     # Password for user
     PerlSetVar OCS_DB_PWD contraseña

Editar el archivo dbconfig.inc.php y cambiar la contraseña
# vim /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php

    <?php
    define(“DB_NAME”, “ocsweb”);
    define(“SERVER_READ”,”localhost”);
    define(“SERVER_WRITE”,”localhost”);
    define(“COMPTE_BASE”,”ocs”);
    define(“PSWD_BASE”,”contraseña“);
    ?>

Reiniciar el servicio Apache
  # service apache2 restart

Luego hay que quitar el usuario Admin por defecto y sustituirlo por otro para ello ir al icono de usuarios:

Y en la pestaña de Add a new user rellenar con los datos que se quiera y elegir el tipo Super administrators

Luego en la pestaña Super administrators elegir el usuario Admin y borrarlo

Configuración del cliente

Agente Linux

Instalar las librerías de Perl
  # aptitude install libapache2-mod-perl2  libapache-dbi-perl libxml-simple-perl libdbi-perl libdbd-mysql-perl libnet-ip-perl libcrypt-ssleay-perl libnet-snmp-perl  libproc-pid-file-perl libproc-daemon-perl net-tools libsys-syslog-perl pciutils smartmontools read-edid nmap dmidecode pciutils build-essential
Instalar los módulos necesarios de perl
  # perl -MCPAN -e shell
      cpan[1]> install SOAP::Lite XML::Entities Digest::MD5 XML::Simple Net::IP LWP Proc::Daemon Proc::PID::File ipmitool Compress::Zlib Crypt::SSLeay Crypt::SSLeay Net::CUPS Net::SNMP Net::NetmaskNet::Ping  Nmap::Parser
      cpan[2]> exit
 
Descargar cliente para linux
  # wget -c https://launchpad.net/ocsinventory-unix-agent/stable-2.1/2.1.1/+download/Ocsinventory-Unix-Agent-2.1.1.tar.gz
Descomprimir el archivo
  # tar xzvf Ocsinventory-Unix-Agent-2.1.1.tar.gz

Entrar en la carpeta descomprimida
  # cd Ocsinventory-Unix-Agent-2.1.1
Empezar con la instalación
  # perl Makefile.PL
  # make
  # make install

Para editar los parámetros mas importantes hay que ir al archivo ocsinventory-agent.cfg

   # vim /etc/ocsinventory/ocsinventory-agent.cfg

      server=http://10.10.0.150/ocsinventory
      logfile=/var/log/ocs.log
      debug=2
      tag= nombre_de_la_máquina
Y una vez terminado el cliente en el server ir a la pestaña de all computers
Selección_032
Selección_033

GLPI

Conectarse al mysql
  # mysql -u root -p

Crear el usuario glpi
  mysql> CREATE USER 'glpi'@'%' IDENTIFIED BY 'contraseña';

Darle permisos
mysql> GRANT USAGE ON *.* TO 'glpi'@'%' IDENTIFIED BY 'contraseña';

Crear la base de datos glpi
mysql> CREATE DATABASE IF NOT EXISTS `glpi` ;

Darle permisos al usuario glpi a la base de datos glpi
mysql> GRANT ALL PRIVILEGES ON `glpi`.* TO 'glpi'@'%';

Crear el usuario synchro
mysql> CREATE USER 'synchro'@'%' IDENTIFIED BY 'contraseña';

Darle permisos
mysql> GRANT USAGE ON *.* TO 'synchro'@'%' IDENTIFIED BY 'contraseña';

Darle permisos en ocsweb
mysql> GRANT SELECT ON `ocsweb`.* TO 'synchro'@'%';

Dar permisos para borrar
mysql> GRANT DELETE ON `ocsweb`.`deleted_equiv` TO 'synchro'@'%';

Dar permisos para actualizar
mysql> GRANT UPDATE (`CHECKSUM`) ON `ocsweb`.`hardware` TO 'synchro'@'%';

Guardar los cambios
mysql> FLUSH PRIVILEGES;

Salir
mysql> exit

Instalar GLPI
  # aptitude install glpi

Reiniciar el servicio de apache
# service apache2 restart

E ir al navegador y escribir:
http://localhost/glpi

Usuario y contraseña por defecto:
glpi/glpi

Ir a la carpeta de plugins de glpi
# cd /usr/share/glpi/plugins

Descargar el plugin de glpi para ocs-inventory
# wget https://forge.indepnet.net/attachments/download/1211/glpi-massocsimport-1.6.1.tar.gz

Descomprimir el archivo
# tar xvf glpi-massocsimport-1.6.1.tar.gz

Borrar el archivo
# rm glpi-massocsimport-1.6.1.tar.gz
Y en el apartado Setup –> Plugins, instalar y habilitar el plugin
Selección_034
Selección_035
Luego, Setup –> General –> Inventory, habilitar el modo OCSNG
Editar los parámetros de configuración de la siguiente manera. Una vez configurado todo darle a update y asegurarse que la conexión es correcta.Selección_037
Para añadir ordenadores hay que ir a Tool –> OCSNG
 
Selección_039
Selección_040

Poner en español

Setup –> General –> Default Values. Y elegir español. Una vez elegido, salir del programa y volverlo a ejecutar.
Selección_041

10 comments

      1. Muchas gracias IsmaelChasco, lo que pasa es que soy nuevo en linux, tengo Windows 7 Pro x64bits, que arquitectura de Debian descargo, amd64?

    1. Exacto, tienes que descargarte la versión de 64. Te recomiendo la netinstall. Y si quieres prueba descargarte Debian 8 que imagino que funcionará igual.
      De todos modos si eres mas de windows tienes la herramienta spiceworks que para mi le da mil vueltas a ocs-inventory en tema de inventariado. Pero es una pena porque no sea ni libre ni funcione bajo linux. No es muy difícil de configurar pero lleva un poco de trabajo.

      Espero que te ayude 😉

    1. Buenas, en su momento me funcionó. Pero hace mucho que no utilizo esta herramienta así que no se decirte si habría que configurar ahora algo extra. Si te da problemas revisa los logs mándamelos y los reviso por si encontrase algo para ayudarte.

      Un saludo

      1. Tengo la versión 2.2 de OCS Inventory server, para inventariar, repartir software y descubrir IP funciona bien, lo único que no me ha funciona es el SNMP. Ya probé cambiando el certificado pero aún no logro que funcione. ´Según hasta donde yo he leido en la wiki de OCS, es necesario el https entonces en el archivo ocsinventory-agent.cfg del agente escribo server=https://xxx.xxx.xxx.xxx/ocsinventory/, copio el cacert.pem en el directorio que se crea en “/etc/var/lib/https:__xxx.xxx.xxx_ocsinventory_” y lo pruebo ejecutando el comando “ocsinventory-agent –debug” y en el log se registra que lo siguiente “[Fri Nov 25 13:47:26 2016][error] Cannot establish communication : 500 Can’t connect to xxx.xxx.xxx.xxx:443”. Más sin embargo si lo hago sin htttps es decir en el archivo ocsinventory-agent.cfg del agente escribo server=http://xxx.xxx.xxx.xxx/ocsinventory/ en ese caso si envía bien el inventario, pero eso no ayuda en nada para el caso de SNMP .

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *