Cómo instalar OCS Inventory NG Server en Ubuntu 24.04

🖥️ Inventario IT · Ubuntu 24.04 LTS · OCS 2.12.6

Cómo instalar OCS Inventory NG Server en Ubuntu 24.04

Monta tu propio servidor de inventario de hardware y software con OCS Inventory NG y su consola web, desde cero: pila LAMP, dependencias, instalador y primer acceso.

¿Qué es OCS Inventory NG?


OCS Inventory NG (Open Computers and Software Inventory) es una herramienta libre que recopila información de los equipos de tu red: hardware, software instalado, sistema operativo y más. Un agente en cada máquina envía los datos al servidor y tú los consultas desde una interfaz web. Es muy útil en un homelab o en una pyme que quiere saber qué tiene y dónde.

⚠️ Usa siempre la última versiónLas versiones antiguas tienen vulnerabilidades corregidas. La 2.12.5 arregla una inclusión de archivos locales (CVE-2026-16475) y la 2.12.6 corrige más fallos, entre ellos un SSRF en la URL de despliegue. En esta guía usamos la 2.12.6; antes de empezar, comprueba en la página de releases si hay una más reciente y cambia el número en los comandos.

Requisitos previos

SistemaUbuntu 24.04 LTS actualizado
UsuarioCon privilegios sudo
RedAcceso a Internet
RecursosUna VM pequeña es suficiente para empezar
1

Instalar la pila LAMP

OCS necesita Apache, PHP y una base de datos. Si ya tienes LAMP, salta al paso 2. Si no, instálala ahora:

sudo apt update sudo apt install -y apache2 mariadb-server php libapache2-mod-php sudo systemctl enable --now apache2 mariadb

Comprueba que Apache está activo con systemctl status apache2, o abre http://IP_DEL_SERVIDOR y verás la página por defecto.

ℹ️ Nombre del servicioEn Ubuntu el servicio se llama apache2, no apache. Si ves Unit apache2.service not found, es que Apache no está instalado: vuelve a este paso.

2

Instalar las dependencias

Paquetes del sistema y módulos Perl

sudo apt install -y libapache2-mod-perl2 libapache-dbi-perl libarchive-zip-perl \ libmojolicious-perl libnet-ip-perl libplack-perl libswitch-perl \ libxml-simple-perl libdbd-mysql-perl make wget

Un módulo Perl no existe como paquete y se compila con cpan:

sudo cpan -i XML::Entities

La primera vez, cpan pregunta si debe autoconfigurarse. Responde yes.

Extensiones de PHP

sudo apt install -y php-curl php-gd php-mbstring php-xml php-mysql php-zip php-soap sudo systemctl reload apache2
3

Preparar la base de datos

sudo mysql -- dentro del cliente: CREATE DATABASE ocsweb; CREATE USER 'ocs'@'localhost' IDENTIFIED BY 'TU_CONTRASEÑA_SEGURA'; GRANT ALL PRIVILEGES ON ocsweb.* TO 'ocs'@'localhost'; EXIT;

Anota la contraseña: la necesitarás en el paso 5 y en el instalador web.

4

Descargar e instalar OCS Inventory 2.12.6

cd ~ wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.12.6/OCSNG_UNIX_SERVER-2.12.6.tar.gz tar xf OCSNG_UNIX_SERVER-2.12.6.tar.gz cd OCSNG_UNIX_SERVER-2.12.6/ sudo ./setup.sh

El script es interactivo. Si el sistema está bien preparado, acepta los valores por defecto en todas las preguntas (rutas de Apache, Perl, logs, consola web y API REST). Al terminar se genera ocs_server_setup.log; guárdalo por si necesitas ayuda.

ComponenteRuta por defecto
Configuración de Apache/etc/apache2/conf-available
Logs del servidor de comunicación/var/log/ocsinventory-server
Ficheros de la consola web/usr/share/ocsinventory-reports
Datos y caché/var/lib/ocsinventory-reports
5

Configurar Apache y la contraseña

El instalador deja la contraseña por defecto (ocs) en dos ficheros. Cámbiala en ambos por la del paso 3.

sudo nano /etc/apache2/conf-available/z-ocsinventory-server.conf # Cambia: PerlSetVar OCS_DB_PWD TU_CONTRASEÑA_SEGURA sudo nano /etc/apache2/conf-available/zz-ocsinventory-restapi.conf # Cambia (mantén las comillas): $ENV{OCS_DB_PWD} = 'TU_CONTRASEÑA_SEGURA';

Habilita la configuración, reinicia Apache y da permisos al directorio de datos:

sudo a2enconf ocsinventory-reports z-ocsinventory-server zz-ocsinventory-restapi sudo systemctl restart apache2 sudo chown -R www-data:www-data /var/lib/ocsinventory-reports

⚠️ ¿Apache no arranca al reiniciar?Si ves Job for apache2.service failed, no sigas: mira la sección de solución de problemas al final para encontrar la causa.

6

Terminar con el instalador web

Abre http://IP_DEL_SERVIDOR/ocsreports. Rellena el formulario así:

CampoValor
MySQL loginocs
MySQL passwordla contraseña del paso 3
Name of Databaseocsweb
MySQL HostNamelocalhost
MySQL Port3306
Enable SSLNo (el resto de campos SSL, vacíos)

Pulsa Send. Si todo va bien aparece el mensaje de instalación terminada. Si te pide actualizar la base, pulsa Perform the update.

⚠️ Elimina el instalador webAntes de iniciar sesión, borra el fichero de instalación para que nadie pueda reconfigurar tu servidor.

sudo rm /usr/share/ocsinventory-reports/ocsreports/install.php
7

Primer acceso y seguridad

Pulsa Click here to enter OCS-NG GUI e inicia sesión con usuario admin y contraseña admin. Verás un panel con todo a cero (normal, aún no hay agentes) y una alerta roja de seguridad.

Para quitarla, pulsa el engranaje de arriba a la derecha, entra en MI CUENTA y cambia la contraseña por una segura.

8

Actualizar el contador de software

El contador de software del panel no se actualiza solo con cada inventario. Programa una tarea diaria en cron:

echo '0 0 * * * www-data cd /usr/share/ocsinventory-reports/ocsreports/crontab/ && /usr/bin/php cron_all_software.php' | sudo tee /etc/cron.d/ocsinventory

Conectar el primer agente

Instala el agente de OCS en un equipo de tu red y configúralo con la URL del servidor:

http://IP_DEL_SERVIDOR/ocsinventory

ℹ️ Dos rutas distintas/ocsreports es la consola web, para ti. /ocsinventory es la ruta a la que se conectan los agentes. No las confundas.

Actualizar una instalación existente

Si instalaste una versión anterior, actualizar es sencillo, pero con un cuidado:

cd ~ wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.12.6/OCSNG_UNIX_SERVER-2.12.6.tar.gz tar xf OCSNG_UNIX_SERVER-2.12.6.tar.gz cd OCSNG_UNIX_SERVER-2.12.6 sudo cp /etc/apache2/conf-available/z-ocsinventory-server.conf ~/z-ocs.bak sudo cp /etc/apache2/conf-available/zz-ocsinventory-restapi.conf ~/zz-ocs.bak sudo ./setup.sh sudo systemctl restart apache2
  • Revisa que setup.sh no haya dejado de nuevo la contraseña por defecto (ocs) en los dos .conf; si es así, vuelve a ponerla.
  • Abre /ocsreports y pulsa Perform the update si aparece.
  • Borra otra vez install.php.

Solución de problemas

SíntomaQué hacer
Unit apache2.service not found (o apache.service)El servicio se llama apache2. Si aun así no existe, Apache no está instalado: ve al paso 1.
Job for apache2.service failed tras a2enconfEjecuta sudo apache2ctl configtest, sudo journalctl -xeu apache2.service --no-pager | tail -n 30 y sudo tail -n 30 /var/log/apache2/error.log. Causas habituales: error de sintaxis en un .conf (comillas), un módulo Perl que falta (Can't locate ... in @INC) o mod_perl sin activar (sudo a2enmod perl).
Apache falla solo por la API RESTAíslala con sudo a2disconf zz-ocsinventory-restapi y reinicia. Si arranca, revisa los módulos Perl de la API (Mojolicious, Plack, Switch).
El instalador web no conecta con la baseComprueba php-mysql, que MariaDB esté activo y que existan ocsweb y el usuario ocs: sudo mysql -e "SHOW DATABASES; SELECT user,host FROM mysql.user;"
Error 404 en /ocsreportsConfirma que ejecutaste a2enconf y reiniciaste Apache.
Los agentes no envían inventarioComprueba que la contraseña de los dos .conf coincide con la de la base y que el agente apunta a /ocsinventory.
Alerta roja "SECURITY ALERT"Sigue activo admin/admin. Cámbiala en MI CUENTA.

Conclusión

Ya tienes OCS Inventory NG 2.12.6 funcionando en Ubuntu 24.04, con la base de datos, la consola web y la contraseña de administrador aseguradas. El siguiente paso es desplegar el agente en tus equipos y ver cómo llegan los primeros inventarios al panel.

Referencias oficiales

Sígueme

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.