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.
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 :
apt-get -y update
apt-get install apache2
apt-get install php5 libapache2-mod-php5 php5-cli
apt-get install php5-common php5-cgi
apt-get install mysql-client mysql-server mysql-common php5-mysql
Ahora procederemos a intalar las herramientas necesarias para poder compilar:
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:
apt-get -y update
apt-get install libxml-simple-perl
apt-get install libcompress-zlib-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
cpan -i XML::Entities
Ahora le toca el turno a las librerías PHP
apt-get install libphp-pclzip
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:
tar –xvzf OCSNG_UNIX_SERVER-2.2.tar.gz
cd OCSNG_UNIX_SERVER-2.2
Ahora podemos utilizar la herramienta de instalación setup.sh
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
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
Ahora, para poder acceder vía web, debemos habilitar la web en la configuración de apache:
a2ensite ocsinventory-reports.conf
service apache2 reload
a2ensite z-ocsinventory-server.conf
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
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
En el siguiente paso actualizará la base de datos existente:
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
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
Nos informa que tenemos dos cosas para arreglar, la primera es eliminar el fichero de instalación, esta parte es fácil:
rm -r /usr/share/ocsinventory-reports/ocsreports/install.php
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:
mysql -u root -p
SET PASSWORD FOR 'ocs'@'localhost' = PASSWORD('contraseña');
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:
service apache2 reload
Y ya veremos la interfaz web sin ningún aviso:
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.
Me interesa mucho esta serie de articulos. Gracias
Gracias a ti.
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!
Hola Evaristo,
Conozco también GLPI, ya he hablado de él en varios artículos:
https://www.ochobitshacenunbyte.com/2014/10/06/glpi-mucho-mas-que-un-gestor-de-parque-informatico/
Es cierto que se trata de grandes productos. De hecho ambos se pueden combinar mediante un plugin.
Saludos!
Te falta una s en este comando:
cpan -i XML::Entities
Hay otra errata en la localización del fichero Include de Apache: /etc/apache2/sites-available
Gracias Juanjo, ya lo he modificado. Lo he hecho a propósito para ver si estáis atentos 😉
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
Hola Juan David, en principio de ambas maneras tendrías que poder acceder.
Gracias por pasarte por aquí y comentar.
Saludos
¡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.
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.
(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!
Hola Jeronimo,
Revisa por favor los pasos del artículo, me parece que te has saltado alguno.
Un saludo
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!!
Hola Jhon,
Primero de todo gracias por visitar la web y dejar tu comentario. Respecto a la pregunta tendrías que revisar que las máquinas se ven entre si, por ejemplo que en ambos hosts no esté habilitado el firewall. Hace tiempo que lo escribí pero quizás te pueda servir, una guía sobre la instalación de un agente en un cliente con GNU Linux:
https://www.ochobitshacenunbyte.com/2014/10/07/instalar-y-configurar-ocs-ng-segunda-parte/
Saludos
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:~#
Hola David,
¿Qué versión de Debian estás utilizando?
Gracias
¿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.
Hola colega,
La clave es crear un Virtual Host por cada una de las webs, en la configuración de Apache, si utilizas este servidor web.
Saludos
hola me podrian ayudar puedo enviar el inventario sin novedad pero no se me ve reflejado en la pagina