OCS Inventory en Debian Jessie

Hace unos años realice una serie de artículos sobre OCS Inventory, un genial software de control de inventario de equipos informáticos y software. Desde entonces no lo había vuelto a utilizar. Hace unos días decidí volver a echarle un vistazo, el proceso de instalación ha cambiado levemente y el aspecto de su interfaz gráfico es más moderna. En esta primera parte vamos a ver su proceso de instalación para el sistema Debian Jessie.

logo-ocs-ngs

OCS Inventory en Debian Jessie

Antes de nada, podéis echar un vistazo a las guías de instalación que hice hace tres años, en 2013, sirven para versiones antiguas tanto de sistemas de paquetería DEB, es decir, sistemas como Debian o Ubuntu, y de sistemas de paquetería RPM, como Fedora o CentOS

Volviendo a la parte que nos ocupa he utilizado una máquina virtual con Debian Jessie, en su versión de 64 bits. He configurado una IP estática para ello. Dicho servidor tiene habilitado el servicio SSH para poder acceder remotamente. Vamos al lío. El servidor debe cumplir con una serie de requisitos, que son los siguientes:

  • Servidor Web Apache, con los módulos mod_perl y mod_php habilitados.
  • PHP a partir de la versión 4.3.2, con los módulos ZIP y GD también habilitados.
  • PERL a partir de la versión 5.6 o superior, tiene que tener habilitados los siguientes módulos :
    • Módulo XML::Simple versión 2.12 o superior
    • Módulo Compress::Zlib versión 1.33 o superior
    • Módulo DBI version 1.4.0 o superior
    • Módulo DBD::Mysql version 2.9004 o superior
    • Módulo Apache::DBI version 0.93 o superior
    • Módulo Net::IP versión 1.21 o superior
    • Módulo SOAP::Lite versión 0.66 o superior
  • MySQL a partir de la versión 4.1.0 con InnoDB funcionando
  • La herramienta GNU Make debe estar disponible

Instalamos el servidor LAMP, esto es, el servidor web Apache, PHP y el motor de base de datos MySQL :

  1. apt-get -y update
  2. apt-get install apache2
  3. apt-get install php5 libapache2-mod-php5 php5-cli
  4. apt-get install php5-common php5-cgi
  5. apt-get install mysql-client mysql-server mysql-common php5-mysql

Ahora procederemos a intalar las herramientas necesarias para poder compilar:

  1. apt-get -y install linux-headers-$(uname -r) build-essential

Vamos a instalar los componentes, comenzando por las librerías y módulos necesarios para el servidor Apache y para PERL:

  1. apt-get -y update
  2. apt-get install libxml-simple-perl
  3. apt-get install libcompress-zlib-perl
  4. apt-get install libdbi-perl
  5. apt-get install libdbd-mysql-perl
  6. apt-get install libapache-dbi-perl
  7. apt-get install libnet-ip-perl
  8. apt-get install libsoap-lite-perl
  9. cpan -i XML::Entities

Ahora le toca el turno a las librerías PHP

  1. apt-get install libphp-pclzip
  2. apt-get install php5-gd

Ya podemos descargar la última versión del software desde su web. La última versión a fecha de éste artículo es la 2.2 Una vez descargado lo descomprimimos y accedemos a la carpeta resultante:

  1. tar –xvzf OCSNG_UNIX_SERVER-2.2.tar.gz
  2. cd OCSNG_UNIX_SERVER-2.2

Ahora podemos utilizar la herramienta de instalación setup.sh

  1. sh setup.sh

El proceso comprobará que el servidor cumpla con los requisitos, y nos hará una serie de preguntas, sobre la ubicación de ciertos ficheros o directorios.

Sciprt setup.sh para instalar OCS Inventory

Sciprt setup.sh para instalar OCS Inventory

Más adelante nos preguntará sobre la ubicación de fichero de configuración de apache, que es /etc/apache2/apache2.conf, el otro directorio, donde irá la configuración de la página web es /etc/apache2/sites-availableEl resto de preguntas debemos dejar la respuesta por defecto. Si todo ha ido bien el proceso de instalación habrá finalizado.

Final script.sh de OCS Inventory

Final script.sh de OCS Inventory

Ahora, para poder acceder vía web, debemos habilitar la web en la configuración de apache:

  1. a2ensite ocsinventory-reports.conf
  2. service apache2 reload
  3. a2ensite z-ocsinventory-server.conf
  4. service apache2 reload

Ya podemos acceder a la web de instalación en http://dirección-servidor/ocsinventory

Configuración base de datos OCS Inventory

Configuración base de datos OCS Inventory

En la primera página debemos configurar la base de datos, añadiendo el usuario ‘root‘  de MySQL, su contraseña, el nombre de la base de datos, que será ‘ocsweb‘ y la ubicación que es «localhost«

Configuración base de datos correcta

Configuración base de datos correcta

En el siguiente paso actualizará la base de datos existente:

Actualiza la base de datos

Actualiza la base de datos

Una vez hecho esto ya podemos la ventana de bienvenida, que como vemos está en diferentes idiomas, incluido el castellano:

Pantalla bienvenida OCS Inventory

Pantalla bienvenida OCS Inventory

Accedemos con usuario ‘admin‘ y contraseña ‘admin‘ No hay que decir que estos datos se tendrán que cambiar, por seguridad, más tarde.

Entorno OCS Inventory

Entorno OCS Inventory

Nos informa que tenemos dos cosas para arreglar, la primera es eliminar el fichero de instalación, esta parte es fácil:

  1. rm -r /usr/share/ocsinventory-reports/ocsreports/install.php
  2. service apache2 reload

La segunda parte es cambiar la contraseña de la base de datos, para ello primero generaremos una nueva, utilizando el programa pwgen. Una vez creada, yo suelo utilizar dos bloques de 8 letras, es decir de 16.

Accedemos a la base de datos, con el usuario root:

  1. mysql -u root -p
  2. SET PASSWORD FOR 'ocs'@'localhost' = PASSWORD('contraseña');
  3. FLUSH PRIVILEGES;

Salimos del gestor de la base de datos y editamos el fichero /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php, y en la casilla: define(«PSWD_BASE»,»ocs»); , cambiamos ‘ocs’ por la nueva contraseña.  También debemos modificar el fichero /etc/apache2/sites-available/z-ocsinventory-server.conf, la línea «PerlSetVar OCS_DB_PWD ocs», cambiamos ‘ocs’ por la nueva contraseña Una vez hecho esto reiniciamos el servidor web:

  1. service apache2 reload

Y ya veremos la interfaz web sin ningún aviso:

Interfaz web OCS Inventory sin avisos

Interfaz web OCS Inventory sin avisos

Para que todo funcione correctamente debemos hacer un paso más, en el fichero /etc/apache2/sites-available/z-ocsinventory-server.conf, justo al final del fichero en el apartado «!mod_authz_core.c», lo debemos dejar de la siguiente manera: «require user «SOAP_USER»  Una vez modificado recordad reiniciar el servidor web Apache.

Lo dejamos por aquí. En próximo artículos, veremos la instalación de agentes en diversas máquinas, para así poder verlas desde el gestor. También tengo pensado pasar a echar un vistazo a la última versión del gestor de parque informático GLPI, y ver como integrar ambos productos. ¡Nos leemos pronto!

Para el artículo me he servido de la documentación oficial, tanto de OCS como de MySQL.