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.

20 Respuestas

  1. Galliko dice:

    Me interesa mucho esta serie de articulos. Gracias

  2. EvaristoGZ dice:

    No conocía este. En su día escribí sobre GLPI (Gestion Libre de Parc Informatique) en mi blog y me sorprendió lo que se está moviendo el mercado español/latinoamericano por la empresa que lo impulsa.

    ¡Si te animas a instalarlo ya me dirás cual resulta más fácil!

  3. Juanjo Marin dice:

    Te falta una s en este comando:
    cpan -i XML::Entities

  4. Juanjo Marin dice:

    Hay otra errata en la localización del fichero Include de Apache: /etc/apache2/sites-available

  5. Juan David dice:

    Para acceder a la web de instalación, me funciono de la siguiente manera:
    http://dirección-servidor/ocsreports, no http://dirección-servidor/ocsinventory.
    Por si alguien le aparece el mismo problema.
    PD: Muchas gracias por compartir el conocimiento, la verdad me ha servido muchísimo este manual

  6. Radamés dice:

    ¡Muchas gracias por los tutoriales! En la primera instalación que hice este año de OCS, tuve un par de errores que salvar después por la diferencia entre sites-available y conf-available del ./setup.sh. Seguiré con los otros artículos.

  7. Jose dice:

    Muchas gracias me ha servido el tuto a ver que faltaba de los paquetes instalándolo desde fuente, tengo un problema que instalando desde repositorio (estoy trabajando bajo debian jessie) el ocs es versión 2.0.5 sino mal recuerdo, y al instalar este siguiendo todos tus pasos no logro que se reporte cualquier agente contra el servidor, recuerdo que anteriormente no había tanto problema para hacerlo funcionar o no se si ha cambiado algo ya que la ultima vez que lo utilice hace 5 años.

    De nuevo gracias por el tuto.

  8. Jeronimo dice:

    (Linux ocs 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux && OCSNG_UNIX_SERVER-2.2.1)

    Estimados a mi se me presentaron diversos errores
    con …
    H00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message

    Checking for Archive::Zip Perl module…
    *** ERROR: PERL module Archive::Zip is not installed !
    *** ERROR: There is one or more required PERL modules missing on your computer !
    Please, install missing PERL modules first.

    a2ensite ocsinventory-reports.conf
    ERROR: Site ocsinventory-reports does not exist!

  9. Gracias por el tutorial de instalacion del server Ocs-inventory, lo he instalado sin problemas en un debian wheezy pero no logro hacer conectar el agente con el servidor, he usado la misma versión del servidor que en éste caso es la 2.3, pero no logro hacerlo conectar. Me puedes ayudar porfavor?
    Saludos!!

  10. David Gruzzi dice:

    buen dia tengo un problema, al momento de colocar esto en la terminal como root me da erro.

    apt-get install php5-common libapache2-mod-php5 php5-cli

    Error.

    root@debian9:~# apt-get install php5 libapache2-mod-php5 php5-cli
    Leyendo lista de paquetes… Hecho
    Creando árbol de dependencias
    Leyendo la información de estado… Hecho
    El paquete libapache2-mod-php5 no está disponible, pero algún otro paquete hace referencia
    a él. Esto puede significar que el paquete falta, está obsoleto o sólo se
    encuentra disponible desde alguna otra fuente

    E: No se ha podido localizar el paquete php5
    E: El paquete «libapache2-mod-php5» no tiene un candidato para la instalación
    E: No se ha podido localizar el paquete php5-cli
    root@debian9:~#

  11. Inukaze dice:

    ¿Que debo hacer para tener instalado en un mismo servidor Odoo y OCS Inventory?
    Lo pregunto es debido a que uno usa el MariaDB y el otro Postgresql, y bueno lo acabo de intentar, primero instale Odoo y luego OCS Inventory, pero al tener acceso a OCS Inventory, perdi el acceso a Odoo.

  12. jhoymer dice:

    hola me podrian ayudar puedo enviar el inventario sin novedad pero no se me ve reflejado en la pagina

Deja un comentario

This site uses Akismet to reduce spam. Learn how your comment data is processed.