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
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.