Instalación de OCS Inventory 2.12.1 en RockyLinux 9x, Alma Linux 9x y Fedora 38, Agente Windows, Android, Ubuntu, Debian.

OCSInventory ya he compartido anteriormente los pasos de como llevar a cabo al instalacion de ese magnifico software para tener un inventario de nuestros equipos de computo a traves de un GUI en el navegador.

Otros post donde mostre como instalar OCSInventory ha sido en Ubuntu 20 y 22, ahora le toca el turno a la familia RedHat, me refiero a RockyLinux, AlmaLinux y Fedora que comparten muchas cosas en comun, estare dando las indicaciones cuando en alguno haya que hacer algun paso en particular, ya lo notaran.

Por si no habias leido o escuchado de este programa, es un software que colecta la informacion de los equipos en la red, llamese estaciones de trabajo, servidores, smartphones, los almacena en una base de datos y nos organiza todos esos datos de tal manera que a traves de nuestro navegador podemos ver todo de una manera rapida y mejor organizada que una hoja de calculo que aparte es un problema mantenerla al dia, ya lo vivi.

La informacion que recibe OCS(asi le llamare de aqui en adelante) va desde todo el hardware y software que tiene cada uno de los equipos que tienen comunicacion con el servidor de ocsinventory.

Esta aplicacion es tipo cliente-servidor, requiere 4 piezas de software clave para su operacion.

  • Un Servidor Web => Usaremos Apache
  • Una Base de Datos tipo MySQL => Usaremos MariaDB
  • Lenguaje de Programación PHP
  • Librerias de Perl.

Antes de continuar, aqui les dejo el video en mi canal de YouTube donde muestro como llevar a cabo la instalación, cada cabeza es un mundo, algunos aprenden viendo videos, otros leyendo un blog como este por ello dejo aqui el video tambien.

YouTube

Video 76 Instalación de OCS Inventory.

Ahora vendran desde YouTube a ver este blog ya que en el video indico que iba a colocar todos los pasos que use para llevar a cabo la implementación en la descripcion del video, pero o sorpresa no recordaba que ytube nos limita a 5000 caracteres y pues estaba fuera de rango por ello aqui van todos los pasos para complementar el video.

Notas de la instalacion de las Distribuciones para el Servidor

Para este tutorial esta creado y probando en las siguientes versiones de cada distribucion:

  • Rocky Linux 9.2
  • Alma Linux 9.2
  • Fedora 38

Ademas de ello la instalacion se llevo a cabo con la version minima de cada una, no se instalo nada extra y todo con el usuario ‘root’.

Y por ultimo todo esto lo lleve a cabo en Rocky Linux, cuando haya algun comando especifico de Alma Linux o Fedora no mostrare imagen de la consola, solo con Rocky Linux.

Prerequisitos

Recomiendo que antes de iniciar los pasos, en su instalacion llevan a cabo lo siguiente:

  • Deshabilitar SELINUX
  • Asignar hostname a el equipo
  • Colocar la hora o zona de horario acorde a su zona
  • Actualizar su sistema

Pasos para la Instalacion de OCSINVENTORY en Fedora38, RockyLinux y AlmaLinux

Paso 1: Iniciamos la instalacion, aplica en Alma Linux, Rocky Linux y Fedora.

dnf install wget tar -y

NOTA: Revisar que no les marque ningun error al final de cada comando, importante, se los estare recordando durante el contenido.

Paso 2: Para Alma Linux, Rocky Linux

dnf install nano -y

Paso 3: Para Fedora.

dnf install cronie -y

Paso 4: AlmaLinux y Rocky Linux, habilitar repos.

dnf install epel-release -y

Habilitar repo crb

dnf config-manager –enable crb

El comando anterior no retorna ningun respuesta en la consola.

Ejecutar update para sincronizar nuevos repos en el sistema

dnf update

Paso 5: Para todas las distros, instalar, habilitar y ejecutar la Base de Datos MariaDB Server.

NOTA: De aqui en adelante todos los comandos aplican a todas las distribuciones.

dnf install mariadb-server -y
systemctl enable mariadb
systemctl start mariadb
systemctl status mariadb

Lista la base de datos.

Paso 6: Asignar password a usuario ‘root’ de la base de datos, crear usuario y base de datos para OCS Inventory.

6.1 Entramos a Mariadb y cambiamos la clave del admin de mariadb ‘root’

6.2 Crear Base de Datos y usuarios para OCS

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘suclavecompleja’;
CREATE DATABASE ocsweb;
CREATE USER ‘ocs’@’localhost’ IDENTIFIED BY ‘ocs’;
GRANT ALL PRIVILEGES ON ocsweb.* TO ‘ocs’@’localhost’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
QUIT

Paso 7: Instalar Apache.

dnf install httpd -y
systemctl enable httpd
systemctl start httpd
systemctl status httpd

Abrir trafico en el firewall.

firewall-cmd –add-port=80/tcp
firewall-cmd –runtime-to-permanent
firewall-cmd –reload

Prueba de fuego con apache, en el navegador apuntar a el IP del servidor, nos debe mostrar la info de apache.

http://ip-servidor

Paso 8: Instalar PHP y los modulos requeridos.

dnf install php php-mysqli php-zip php-gd php-soap mod_perl -y

Editar php.ini y modificar los siguientes parametros.

nano /etc/php.ini

Buscar los siguientes 2 parametros y colocarles los siguientes valores:

upload_max_filesize = 1024M
post_max_size = 2048M

Reiniciar el servicio de Apache.

systemctl restart httpd

Probar PHP, para ello creamos un archivo llamado ‘test.php’ y lo guardamos en la ruta donde van los scripts que deseamos apache ejecute.

cd /var/www/html
nano test.php

En el archivo agregamos la siguiente linea, salvamos y salimos.

<?php phpinfo(); ?>

Probar script en navegador.

http://ip-servidor/test.php

NOTA: Si no ven la informacion de PHP no continuen, regresen y verfiquen si les falto algun paso, ya que es vital puedan ver que apache procese los archivos PHP.

Paso 9: Instalar las siguientes paqueterias De Perl.

dnf install perl-XML-Simple perl-DBD-MySQL perl-Net-IP perl-SOAP-Lite perl-Archive-Zip perl-Mojolicious perl-Plack perl-XML-Entities perl-Switch cpan -y

Recuerden que lo importante de estos comandos es que no les marque errores o que no pueda instalar alguna de los programas o librerias requeridas.

cpan install XML::Entities

Solo le damos <ENTER> para que haga su trabajo.

perl -MCPAN -e ‘install Apache::DBI’

Este siguiente comando si lleva a cabo mas procesos, tarda un poco mas que el anterior.

perl -MCPAN -e ‘install Mojolicious’

Paso 10: Instalacion de OCS Inventory Server.

10.1 Descarga de OCS Inventory Server.

cd /opt
wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.12.1/OCSNG_UNIX_SERVER-2.12.1.tar.gz
tar -xzf OCSNG_UNIX_SERVER-2.12.1.tar.gz
cd OCSNG_UNIX_SERVER-2.12.1

10.2 Reparar script de Instalacion.

Editamos el archivo ‘setup.sh‘ y dejamos la linea indicada como en la siguiente imagen.

nano setup.sh

Aproximadamente la linea 16 es la que modificamos.

if [[ -e setup.answers ]]; then
source ./setup.answers
fi

Corregimos, guardamos y salimos del archivo.

10.3 Ejecutamos script de instalacion.

Una vez que ejecten el siguiente script, lo que hace es validar que todos los requerimientos del sistema los pueda localizar, como programas, librerias, rutas, si no encuentra alguno nos indicara el error y terminara la ejecucion hasta que sea corregido el problema.

Ahora, si el localiza todo por default, nos estara consultando y tenemos 2 respuestas ([y]/n) entonces de fabrica el responde [‘y’], asi que nosotros vamos solo a darle <ENTER> a todo.

¿Por que? Si han seguido todos los pasos al pie de la letra y han validado todo lo que aqui les indico, ya nuestro sistema esta listo para recibir a OCS Inventory y no debe presentar ninguna falla, estoy seguro que asi sera.

Y ya si OCS Inventory encuentra algun error, revisen bien cual es y regresense para ver si localizan que falto por instalar o configurar, corrigen y vuelven a ejecutar el script.

Iniciamos, recuerden <ENTER>  a todo.

./setup.sh

Suerte colegas, vamonos por partes dijo Jack el destripador.

Como puede ver en la imagen anterior, no encontro ningun problema, todo lo requerido esta instalado y al final nos indica que la instalacion se llevo a cabo y que solo nos falta reiniciar el servidor web.

systemctl restart httpd
systemctl status httpd

10.4 Modificamos los permisos del siguiente directorio.

cd /var/lib
chown -R apache: ocsinventory-reports

10.5 Por fin, vamos a iniciar la primera interaccion con el GUI atraves del navegador.

En esta 1ra fase cuando nos despliegue el GUI en el navegador, lo 1ro que nos va a solicitar son las credenciales de acceso a la base, aqui las vamos a indicar por si no los recuerdan, posteriormente vamos hacer los cambios de contraseñas.

Usuario de la BD: ocs
Clave de Usuario: ocs
Nonmbre de la BD: ocsweb
Hostname de la BD: localhost

Apuntamos nuestro navegador a la siguiente ruta:

http://ip-servidor/ocsreports

Continuamos la configuracion.

Como puede observar, las credenciales de fabrica son:

Usuario: admin

Contraseña: admin

Credenciales de fabrica.

Listo, ya terminamos de instalar OCS Inventory, no presentamos ningun error, solo los warnings que mas adelante los eliminaremos, pero listo para recibir la informacion de los clientes.

Paso 11: Eliminando warnings del GUI.

Si esos mensajes en la cabecera son un poco molestos, asi que vamos a eliminarlos.

11.1 Archivo install.php

Para eliminar ese mensaje, en la consola nos movemos a el directorio.

cd /usr/share/ocsinventory-reports/ocsreports/
mv install.php old-install.php

Solo le voy a cambiar el nombre, una vez hecho esto, le damos F5 en el navegador para que refresque la pantalla y debe desaparecer.

Listo, ya se fue.

11.2 Cambar contraseña de usuario de BD.

Accesamos la consola de administracion de MariaDB y cambiamos la clave del usuario ‘ocs’.

MariaDB [(none)]> ALTER USER ‘ocs’@’localhost’ IDENTIFIED BY ‘SuMegaClaveDificil’;
MariaDB [(none)]> FLUSH PRIVILEGES;
quit

Ahora necesitamos cambiar los archivos de configuracion de OCS con la nueva clave del usuario de la BD.

Iniciamos con los de Apache que son 2.

cd /etc/httpd/conf.d/
ls -l z*
-rw-r–r– 1 root root 14163 Nov 11 09:35 z-ocsinventory-server.conf
-rw-r–r– 1 root root 746 Nov 11 09:32 zz-ocsinventory-restapi.conf

Son eso 2 que inician con la letra ‘z’. Con el editor de texto de su preferencia hacemos el cambio del parametro, inicio con el primero “z-ocsinventory-server.conf”.

Ahora vamos por el segundo.

Por ultimo el archivo de configuracion de OCS, para esto nos vamos a su directorio.

cd /usr/share/ocsinventory-reports/ocsreports/
ls -l dbconfig.inc.php
-rw-rw-r– 1 root apache 309 Nov 11 10:08 dbconfig.inc.php
nano dbconfig.inc.php

Reiniciamos el servidor apache para que tome los cambios.

systemctl restart httpd
systemctl status httpd

El ultimo paso que es ver el estatus de apache es para validar no me haya equivocado y modificado erroneamente el archivo de configuracion, si fuera asi apache no cargaria y en ese comando puedo ver que esta en operacion o sea, no hubo error de escritura.

Listo, ya se fue este warning de la BD.

11.3 Cambio de la clave del usuario ‘admin’ del GUI.

Dentro del GUI de OCS via web, a mano derecha le damos un click a el boton que parece engrane y seleccionamos “MI CUENTA“.

Una vez hecho esto, salen del GUI y vuelven a entrar con su nueva contraseña.

Adios a todos los mensajes, listo.

Paso 12: Instalacion de Agentes(Clientes).

12.1 Agente Windows.

Vamos a instalar el primero agente de Windows 11 de la LAN, para esto apuntamos nuestro navegador a la pagina de GitHub de OCS.

https://github.com/OCSInventory-NG

Listo, ya descargamos el instalador, ahora ahi que descomprimirlo y ejecutarlo.

NOTA: En la ventana de la imagen anterior, coloquen la IP de servidor de OCS.

http://ip-servidor/ocsinventory

Listo, ya se termino de instalar, noten en su area de notiificaciones que les aparece el icono del agente de OCS que acabamos de instalar.

Con esto podemos comprobar que todo fue un exito, ademas que si nos vamos a el GUI de OCS Server, ya debe estar ahi la informacion de este cliente, si no hay nada que bloquie esa comunicación.

Ahi tenemos el primero agente instalado de la familia Windows. Veamos detalles del agente.

Veamos la informacion del software que tiene. Del menu de la izquierda darle click a el botón ‘Software

Ahora veamos parte del ‘Hardware’ dandole click a ese botón.

Esto es solo una parte de toda la informacion que nos despliega, ustedes podran ver toda los datos en su GUI.

Ya puede empezar a darla una revisada a OCS para que vean toda los detalles que nos puede proporcionar de los agentes y tomen la decision si desean seguir manejando su inventario con su hoja de calculo o mejor con OCS.

Como OCS no se limita a la LAN, si ustedes administran la red de una empresa la cual tienen LAN’s, VLAN’s, VPN’s, P2P y mas equipos dentro de su infraestructura, pueden administrarlos con OCS Inventory Server.

Por ello instale otro agente Windows de una vlan.

Ya tenemos 2 Windows.

Ahora si, continuamos con la instalacion de agentes de otro OS.

12.2 Instalacion de Agente para familia RedHat(Alma Linux, Rocky Linux y Fedora)

Ahora, este servicio lo instalamos en Rocky Linux, este mismo equipo supongamos que sea fisico entonces el mismo puede ser un agente y requerimos saber su informacion, asi que ahora vamos a instalar el agente para la familia RedHat.

Ejecutamos este comando para agregar la ruta donde se instalara el agente.

export PATH=”/usr/local/bin:$PATH”

Ahora para dejarlo fijo, se lo agregamos a el perfil del usuario ‘root’. Para esto editamos el archivo .bashrc y lo agregamos al final.

nano /root/.bashrc

Para las 3 distribuciones instalar lo siguiente.

dnf install perl-Data-UUID perl-Crypt-SSLeay perl-Net-SNMP perl-Proc-Daemon perl-Net-Netmask pciutils smartmontools monitor-edid -y

Recuerden, importante que al final no les marque error.

Para Alma Linux y Rocky Linux descargar e instalar el siguiente RPM.

perl-Proc-PID-File

cd /opt
wget https://rpmfind.net/linux/fedora/linux/releases/38/Everything/x86_64/os/Packages/p/perl-Proc-PID-File-1.29-15.fc38.noarch.rpm
rpm -ivh perl-Proc-PID-File-1.29-15.fc38.noarch.rpm

Fedora si tiene ese paquete, asi que lo instalamos.

dnf install perl-Proc-PID-File -y

Ahora si procedemos a la instalacion de Agente para la familia RedHat o sea para las 3 distribuciones.

Esta es la ruta de la version actual.

https://github.com/OCSInventory-NG/UnixAgent/releases

NOTA: Cuidado, ahorita esta la version MAC, la de Linux esta abajo.

cd /opt
wget https://github.com/OCSInventory-NG/UnixAgent/releases/download/v2.10.0/Ocsinventory-Unix-Agent-2.10.0.tar.gz
tar -xzf Ocsinventory-Unix-Agent-2.10.0.tar.gz
cd Ocsinventory-Unix-Agent-2.10.0

perl Makefile.PL

make

No tenemos ningun error es lo importante.

El siguiente comando es interactivo, muchos respuesta ya las tiene por defecto, asi que vamos a ejecutarlo y vamos respondiendo. Igual que el servior [y] esto significa respuesta default.

make install

Observar la imagen anterior les indique donde cambiamos la respuesta y donde ingresamos datos. A el final tenemos como resultados una instalacion exitosa de el agente, como buenos sysadmins, veamos un poco el log del agente.

tail -n 45 /var/log/ocs_agent.log

No veo ningun error, entonces veamos el GUI de OCS.

Detalles del agente Unix.

Hardware.

Software.

Agente Linux listo.

12.3 Instalacion de Agente Android.

Ahora nos conectaremos a un equipo Android version 13 para llevar a cabo la implementacion del agente de OCS.

Abrimos el Play Store, buscamos OCS Inventory y seguimos los siguiente pasos.

Ahora, revisemo el GUI de OCS.

Ya tenemos un agente Android.

Detalles del agente.

Hardware.

Software.

Listo agente Android.

12.4 Instalacion de Agente Ubuntu y Debian.

Aqui estan los pasos para la instalacion del agente OCS bajo Ubuntu 22.04.x LTS y Debian 12.

Instalamos el agente Unix/Linux en el paso 12.2, para Unix/Linux es el mismo archivo que se descarga, lo unico que cambia son las librerias o programas que se instalan antes de llegar a la descarga del agente.

Para la familia Debian/Ubuntu requerimos los siguientes paquetes.

apt install libxml-simple-perl libnet-ip-perl make libmodule-install-perl libdata-uuid-perl libcrypt-ssleay-perl libnet-snmp-perl libproc-pid-file-perl \ libproc-daemon-perl net-tools smartmontools read-edid nmap libnet-netmask-perl -y

Descargamos el agente, bajamos la misma version que usamos para la familia RedHat que hicimos en el paso 12.2.

cd /opt
wget https://github.com/OCSInventory-NG/UnixAgent/releases/download/v2.10.0/Ocsinventory-Unix-Agent-2.10.0.tar.gz
tar -xzf Ocsinventory-Unix-Agent-2.10.0.tar.gz
cd Ocsinventory-Unix-Agent-2.10.0

Iniciamos el proceso de instalacion.

perl Makefile.PL

make

Importante, no tenemos un error al final del comando.

De nuevo, a partir del siguiente comando inicia el proceso interactivo de instalacion.

make install

Recuerden sysadm’s, revisamos el log del cliente.

Instalacion lista, ahora veamos el GUI de OCS.

Detalles del agente Ubuntu.

Hardware.

Software.

Listo, otro agente Linux con Ubuntu.

Por ultimo, los mismos pasos usamos para agregar a Debian 12, ahora veamos el GUI con Debian como agente.

Detalles del agente Debian.

Detalles del Agente.

Hardware.

Software.

Listo, Debian 12 como agente.

Paso 13. Agregar cron para conteo de cantidad de software.

Si observan el GUI notaran que el campo Software esta en 0.

Para esto ocupamos agregar un script que tiene OCS en cron para que cada hora se este ejecutando y su funcion es esa, sumar todo el software de los agentes y llenar ese campo que esta en blanco.

Para esto hacemos lo siguiente:

crontab -e

0 */1 * * * cd /usr/share/ocsinventory-reports/ocsreports/crontab && /usr/bin/php cron_all_software.php >/dev/null 2>&1

Salvamos y salimos.

Verificamos cron.

crontab -e

Para no esperar a que se ejecute, lo ejecutamos en este momento.

php /usr/share/ocsinventory-reports/ocsreports/crontab/cron_all_software.php

Revisamos el GUI.

Listo, ahi tienen la cantidad, cada hora cron estara ejecutando este script para estar actualizando este campo cada hora y asi lo mantendra actualizado.

Fin.

Resumen.

Aqui terminamos este tutorial, esta herramienta para tener el inventario de los equipos de computo en red se me hace muy valiosa, ya podemos olvidarnos de esa famosa hoja de calculo que con el paso del tiempo es un problema tenerla al dia con la carga de trabajo en la que vivimos.

Espero les sea de utilidad y desean soporte al respecto puedo buscarme para brindarles la asesoria adecuada.

Nos vemos pronto.

Leave Comment

Your email address will not be published. Required fields are marked *