🖥️ OCS Inventory NG: guía completa de instalación y uso

1️⃣ Introducción y contexto

En cualquier entorno tecnológico, saber qué activos tienes, dónde se encuentran y en qué estado están es clave para:

  • Optimizar costes y licencias.
  • Anticipar fallos y planificar renovaciones.
  • Mejorar la seguridad frente a vulnerabilidades.

OCS Inventory NG (Open Computer and Software Inventory Next Generation) es una solución open source que permite:

  • Descubrimiento automático de hardware, software y periféricos.
  • Auditoría continua de cambios y detección de elementos no autorizados.
  • Gestión centralizada de inventario desde cualquier ubicación.

💡 Esta guía está pensada como recurso de consulta rápida para:

  • Administradores de sistemas que necesitan control y visibilidad constante.
  • Responsables de IT con infraestructuras distribuidas.
  • Freelancers o pymes que buscan una solución gratuita y escalable.

2️⃣ Arquitectura del sistema

Componentes principales

  • Agente (OCS Agent) 🖥 Software ligero que se instala en cada equipo. Recoge información de:
    • Hardware: CPU, RAM, discos, tarjetas, periféricos.
    • Software: versiones, licencias, fecha de instalación. Envía los datos de forma segura al servidor.
  • Servidor OCS 🗄 Recibe y procesa los reportes de todos los agentes. Alberga los módulos para:
    • Gestión de base de datos.
    • Interfaz web de administración.
    • Módulo de despliegue remoto.
  • Base de datos 💾 Habitualmente MySQL o MariaDB. Guarda el inventario y el historial de cambios para auditorías y reportes.
  • Interfaz web 🌐 Accesible vía navegador. Permite:
    • Filtrar y buscar activos.
    • Generar informes.
    • Desplegar software o scripts.

💡 Tip avanzado: El agente puede trabajar en modo activo (envía datos de forma programada) o pasivo (el servidor lo interroga), algo útil en entornos con dispositivos que no siempre están conectados.

3️⃣ Instalación paso a paso

3.0 Requisitos previos generales

Antes de instalar, asegúrate de tener:

  • Acceso administrador/root en el servidor y clientes.
  • Conectividad de red bidireccional entre servidor y clientes (LAN o vía VPN/Internet).
  • DNS interno o nombre de host para el servidor (evita depender de IP cambiantes).
  • Hora y fecha sincronizadas en todos los dispositivos (NTP), para evitar problemas con certificados SSL.

3.1 Servidor en Linux (Debian/Ubuntu)

Instalar dependencias básicas

sudo apt update
sudo apt install apache2 libapache2-mod-perl2 libapache2-mod-php php php-mysql php-curl \
  php-gd php-mbstring php-xml mariadb-server unzip

Instalar OCS Inventory Server

sudo apt install ocsinventory-server ocsinventory-reports

Configurar elementos clave

  • IP fija en /etc/netplan/ o nmcli.
  • Crear base de datos y usuario con permisos limitados
sudo mysql -u root -p CREATE DATABASE ocsdb; CREATE USER 'ocsuser'@'localhost' IDENTIFIED BY 'contraseñaSegura'; GRANT ALL PRIVILEGES ON ocsdb.* TO 'ocsuser'@'localhost'; FLUSH PRIVILEGES;

Activar HTTPS

sudo apt install certbot python3-certbot-apache sudo certbot --apache -d inventario.midominio.com

Verificar estado

sudo systemctl status apache2
sudo systemctl status mariadb

Abrir en navegador: https://IP-o-dominio/ocsreports

3.2 Servidor en Windows Server

  1. Instalar Apache, PHP y MySQL/MariaDB (puede ser con paquetes tipo XAMPP o WAMP).
  2. Descargar instalador de OCS Inventory Server desde la web oficial.
  3. Durante la instalación, indicar:
    • Ruta de instalación de Apache/PHP.
    • Credenciales de la base de datos.
  4. Asignar puertos y habilitar reglas de firewall para HTTP/HTTPS.

Verificar: Abrir https://IP-o-dominio/ocsreports y comprobar acceso.

3.3 Cliente Windows

  1. Descargar agente desde la web oficial.
  2. Ejecutar el instalador y especificar la URL del servidor (ej. https://inventario.midominio.com/ocsinventory).
  3. Forzar primer reporte para validar:
cd "C:\Archivos de programa\OCS Inventory Agent" Ocsinventory.exe /NOW

3.4 Cliente Linux

sudo apt update
sudo apt install ocsinventory-agent
sudo ocsinventory-agent --server https://inventario.midominio.com/ocsinventory

💡 Puedes usar --now para forzar un reporte inmediato.

🌐 3.5 Escenario práctico: Servidor Linux + Portátiles Windows 11 + Equipos remotos

Servidor OCS en Linux

  • IP fija, SSL activado y puerto publicado (o acceso vía VPN).
  • Recomendado: reverse proxy en Nginx con HTTPS forzado y autenticación HTTP básica.

Ejemplo mínimo de proxy en /etc/nginx/sites-available/ocs:

server {
    listen 443 ssl;
    server_name inventario.midominio.com;

    ssl_certificate /etc/letsencrypt/live/inventario.midominio.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/inventario.midominio.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:80;
        auth_basic "Acceso restringido";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}

Clientes en LAN

  • Instalar agente normalmente.
  • Usar IP o dominio interno.
  • Ajustar frecuencia en configuración del agente (ej.: cada 4h).

Clientes fuera de la red

MétodoVentajasInconvenientes
VPN (WireGuard/OpenVPN)Seguro, cifrado, como si estuvieran en LANDepende de que el usuario se conecte
Proxy inverso con HTTPS y authAutomático sin VPN, funciona siempre que haya InternetMayor exposición, requiere endurecer seguridad
Servidor en VPS/NubeAccesible siempre desde cualquier ubicaciónCoste y gestión de seguridad

Ejemplo mínimo WireGuard (cliente):

Código

[Interface]
PrivateKey = TU_CLAVE
Address = 10.8.0.2/24

[Peer]
PublicKey = CLAVE_SERVIDOR
Endpoint = midominio.com:51820
AllowedIPs = 10.8.0.0/24, 192.168.1.0/24

Buenas prácticas para entornos mixtos

  • TLS/SSL obligatorio en cualquier comunicación externa.
  • Filtrar IPs o establecer listas blancas si es viable.
  • Configurar reintentos en el agente (OCSInventory.ini) para reportar tras reconexión.
  • Etiquetar dispositivos según ubicación/tipo para filtrar informes.

📌 Extra útil: programar un informe que liste los equipos que llevan más de X días sin reportar, para detectar portátiles “desaparecidos”.

4️⃣ Integración con otras herramientas

4.1 Integración con GLPI

¿Qué es GLPI? GLPI (Gestionnaire Libre de Parc Informatique) es una aplicación open source que actúa como centro neurálgico para gestionar el ciclo de vida de tus activos de TI, además de ofrecer funciones completas de Service Desk.

Principales capacidades

  • 📋 Inventario centralizado de hardware y software (manual o automático).
  • 🎫 Gestión de incidencias y solicitudes con asignación a técnicos, seguimiento y SLA.
  • 📑 Control ITSM para contratos, licencias, compras y documentación técnica.

Por qué integrarlo con OCS Inventory

OCS Inventory recopila automáticamente información detallada y en tiempo real de todos tus dispositivos. GLPI importa esos datos para:

  • Asociar cada activo a un usuario, contrato o ticket de soporte.
  • Cruzar incidencias con inventario para informes más completos.
  • Eliminar tareas manuales y minimizar errores.

Flujo simplificado: [Clientes con OCS Agent] → [Servidor OCS Inventory] → [Plugin OCSNG en GLPI] → [Inventario + Tickets + Gestión Integral]

Pasos básicos de integración

  1. Instalar GLPI en un servidor web (LAMP/WAMP o similar).
  2. Añadir el plugin oficial OCS Inventory NG en GLPI.
  3. Configurar credenciales y conexión a la base de datos de OCS.
  4. Importar y programar la sincronización automática.

💡 Nota práctica: filtra en GLPI qué datos de OCS importar para evitar sobrecargar el sistema.

4.2 Otras integraciones posibles

Herramienta / SistemaIntegración posibleVentajasConsideraciones
Zabbix / Nagios / CentreonUsar inventario como base de monitorizaciónInventario y monitorización alineadosRequiere scripts o módulos intermedios
Ansible / SCCMSeleccionar equipos del inventario para despliegues o cambiosAutomatización masiva con precisiónNecesita definir grupos/etiquetas en OCS
Grafana / KibanaVisualizar métricas e inventario en dashboardsInformes dinámicos y atractivosExportar datos vía API o base de datos
Active Directory / LDAPSincronizar usuarios y dispositivosGestión centralizada de identidadesConfiguración avanzada de sincronización

📌 Tip: Para integraciones personalizadas, OCS Inventory ofrece API REST y exportaciones en CSV/XML/JSON, lo que te permite conectarlo con casi cualquier sistema que maneje datos estructurados.

💡 Ejemplo: extraer de OCS la lista de PCs de un departamento en JSON y alimentarla directamente en un script Ansible.

5️⃣ Casos de uso prácticos

🔍 Auditoría de software

Objetivo: localizar aplicaciones desactualizadas, inseguras o no autorizadas.

  • Cómo: desde la interfaz web, usar el filtro de software para buscar versiones concretas (ej.: “Adobe Reader ≤ 20.x”).
  • Ejemplo: listar todos los equipos con Java 8u131 y desplegar automáticamente la actualización.
  • Extra: configurar alertas para que OCS te notifique cuando aparezca software de listas negras.

📜 Control de licencias

Objetivo: evitar sanciones o sobrecostes.

  • Cómo: compara el número de instalaciones reportadas frente a las licencias adquiridas.
  • Ejemplo: detectar que tienes 27 instalaciones de Microsoft Office con solo 25 licencias contratadas y actuar antes de que llegue una auditoría.
  • Extra: etiqueta el software crítico para tenerlo controlado en informes recurrentes.

🖥 Gestión de hardware

Objetivo: planificar renovaciones de forma proactiva.

  • Cómo: filtrar por fecha de compra/instalación o por antigüedad del hardware.
  • Ejemplo: generar un informe de portátiles con más de 5 años y menos de 8 GB de RAM, priorizando su sustitución.
  • Extra: cruzar datos con el consumo de recursos para anticipar cuellos de botella.

🚀 Despliegues remotos

Objetivo: instalar o actualizar software en varios equipos sin desplazarte.

  • Cómo: usa la función de despliegue del servidor OCS con paquetes MSI/EXE (Windows) o scripts (Linux).
  • Ejemplo: desplegar un cliente VPN a todo el departamento de Ventas en una sola operación.
  • Extra: combina con etiquetado por grupo para despliegues selectivos.

6️⃣ Buenas prácticas y mantenimiento

  • Revisión semanal de informes de cambios
    • Filtra las variaciones de hardware/software para detectar instalaciones no autorizadas o fallos inminentes.
  • Backups automáticos de la base de datos
    • Programa tareas con cron (Linux) o Programador de Tareas (Windows).
    • Guarda al menos una copia externa (otro servidor o almacenamiento en la nube segura).
mysqldump -u ocsuser -p'contraseña' ocsdb | gzip > /backups/ocs_$(date +%F).sql.gz
  • Filtros por localización o departamento
    • Segmenta los activos para generar informes personalizados y facilitar la toma de decisiones.
  • Mantener agentes y servidor al día
    • Las actualizaciones corrigen vulnerabilidades y mejoran la compatibilidad con hardware/software nuevo.
  • Documentar la instalación y configuración
    • Un simple archivo de texto con pasos clave y contraseñas seguras almacenado en un lugar protegido puede ahorrarte horas.

7️⃣ Solución de problemas comunes

🛑 El agente no reporta

  • Verificar conectividad al servidor con ping o curl.
  • Comprobar reglas del firewall.
  • Revisar logs del agente:
    • Windows: C:\ProgramData\OCS Inventory NG\Agent\ocsinventory.log
    • Linux: /var/log/ocsinventory-agent/ocsinventory-agent.log
  • Confirmar que la URL configurada es correcta y accesible.

📉 Datos incompletos

  • Asegurarse de que el agente tiene privilegios de administrador/root.
  • Comprobar que el paquete del agente incluye todos los módulos (algunos son opcionales).
  • Validar que el sistema operativo es soportado por la versión de OCS instalada.

🐢 Servidor lento

  • Optimizar la base de datos:
OPTIMIZE TABLE hardware; OPTIMIZE TABLE software;
  • Revisar el tamaño de tablas y purgar registros obsoletos.
  • Comprobar carga de CPU/RAM en el servidor y considerar escalado si es necesario.

8️⃣ Recursos y enlaces

  • 🌐 Web oficial del proyectoocsinventory-ng.org
    Sitio principal con descargas, noticias y enlaces a documentación básica.
  • 📚 Wiki oficialDocumentación en GitHub
    Manuales y guías de instalación, configuración y uso, mantenidos por el equipo y la comunidad.
  • 💻 Repositorio principal en GitHubOCSInventory-NG
    Contiene el código fuente del servidor OCS Inventory NG y los agentes oficiales. Es el punto de partida si quieres ver el código, reportar incidencias o contribuir.
  • 🐧 Unix AgentRepositorio UnixAgent
    Código fuente del agente para sistemas tipo Unix/Linux. Aquí se actualizan mejoras y compatibilidad con nuevas distribuciones.
  • 🪟 Windows AgentRepositorio WindowsAgent
    Contiene el agente para Windows (incluido Windows 11), con su código, instaladores y changelog.
  • 📱 Android AgentRepositorio AndroidAgent
    Proyecto para el agente que inventaría dispositivos Android.
  • 🐳 Docker ImageOCSInventory-Docker-Image
    Scripts y configuración para ejecutar OCS Inventory NG en contenedores Docker, ideal para pruebas rápidas o despliegues portables.

💡 Consejo de uso: si quieres clonar cualquier repo para probarlo en local:

git clone https://github.com/OCSInventory-NG/OCSInventory-Server.git

(cambia la URL por la del repositorio que te interese)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio