Cómo instalar el Servidor de Inventario OCS en Ubuntu 22.04

OCS Inventory Server es un software de código abierto que te permite escanear e inventariar todos los dispositivos de tu entorno o departamentos informáticos. Es una solución gratuita de inventario y gestión de activos que te ayuda a llevar un registro de toda la información de tus dispositivos y ordenadores.

Hay 4 componentes principales del Servidor de Inventario OCS: el Servidor de Base de Datos, el Servidor de Comunicaciones, el Servidor de Administración y el Servidor de Despliegue. El Servidor de Inventario OCS te permite obtener los datos más recientes y relevantes sobre tus dispositivos. Puede instalarse en varios sistemas operativos y proporciona paquetes de agentes para múltiples sistemas operativos, como Microsoft Windows, Linux, BSD, Sun Solaris, IBM AIX, HP-UX, MacOS X y Android.

En cuanto a los dispositivos de red, el Inventario OCS es compatible con la detección de redes y los Agentes SNMP. Puedes añadir e insertar información sobre el hardware de tu red: impresoras, conmutadores, ordenadores (que no tengan un agente OCS instalado), etc a través de los agentes Network Discovery y SNMP.

En esta guía, instalarás OCS Inventory Server en un servidor Ubuntu 22.04. Instalarás el Servidor de Inventario OCS con el servidor web Apache2, el servidor de base de datos MariaDB y PHP. Esto también incluye la instalación de ocsreports, que es una aplicación basada en PHP que proporciona un panel de administración web para el Servidor de Inventario OCS y se ejecutará con Apache2 y PHP.

Requisitos previos

Para completar esta guía, debes tener los siguientes requisitos:

  • Un servidor Linux que ejecute Ubuntu 22.04 – Este ejemplo utiliza un servidor Ubuntu fresco y genérico con el nombre de host‘ocs-server‘ y la dirección IP‘192.168.5.20‘.
  • Un usuario no root con privilegios de administrador sudo/root.

Cuando estos requisitos estén listos, continúa e inicia la instalación del Servidor de Inventario OCS.

Instalación de dependencias

En esta primera sección, debes instalar algunas dependencias que se utilizarán para instalar y ejecutar OCS Inventory Server. Esta instalación incluirá los siguientes paquetes:

  • Dependencias básicas – Estos paquetes se utilizarán para compilar algunos módulos Perl.
  • Perl y algunos paquetes Perl adicionales – OCS Inventory Server está escrito en Perl, por lo que debes instalar Perl en tu servidor. Algunos paquetes Perl adicionales incluyen el controlador de base de datos Perl y el paquete Perl soap para la API REST.
  • Pila LAMP – El Servidor de Inventario OCS funcionará con Apache2, base de datos MariaDB. Los paquetes PHP serán utilizados por‘ocsreports‘, que es el panel de control de la aplicación web del Servidor de Inventario OCS.
  • Módulos Perl adicionales – Instalarás algunos módulos Perl a través de CPAN (The Comprehensive Perl Archive Network).

Antes de empezar, introduce el siguiente comando para actualizar y refrescar tu índice de paquetes de Ubuntu.

sudo apt update

Introduce el siguiente comando‘apt install‘ para instalar algunas dependencias básicas de desarrollo. Estos paquetes se utilizan principalmente para compilar algunos módulos de Perl.

sudo apt install git curl wget make cmake gcc make

Cuando se te pida, introduce y para confirmar y pulsa ENTER para continuar.

instalar deps básicos

Ahora instala Perl y algunos paquetes Perl mediante el siguiente comando ‘aptinstall‘. El Servidor de Inventario OCS está escrito principalmente en Perl, por lo que debes instalar los paquetes Perl antes de instalar el Servidor de Inventario OCS.

sudo apt install perl libxml-simple-perl libcompress-zlib-perl libdbi-perl libdbd-mysql-perl libnet-ip-perl libsoap-lite-perl libio-compress-perl

Introduce y cuando se te pida y pulsa ENTER para continuar.

instala Perl y las dependencias de Perl

A continuación, instala la Pila LAMP con algunos paquetes adicionales como‘libapache2-mod-perl2‘ y‘composer‘ mediante el siguiente comando‘apt install‘. El servidor web Apache y los paquetes PHP se utilizarán para ejecutar el panel de administración web del Servidor de Inventario OCS, y MariaDB se utiliza como base de datos.

sudo apt install apache2 libapache2-mod-perl2 libapache2-mod-perl2-dev libapache-dbi-perl libapache-db-perl libapache2-mod-php libarchive-zip-perl mariadb-server composer php-mbstring php-xml php-mysql php-zip php-pclzip php-gd php-soap php-curl php-json

Introduce y cuando se te solicite, y pulsa ENTER.

instalar LAMP Stack y Composer

Con la Pila LAMP y Composer instalados, introduce los siguientes comandos para verificar el estado de los servicios Apache2 y MariaDB, y luego verifica la versión de PHP y Composer.

Verifica el servicio Apache2 mediante el siguiente comando‘systemctl‘. La salida ‘enabled’ confirma que el servidor web Apache2 se iniciará automáticamente al arrancar el sistema, y la salida‘active (running)‘ confirma que el servidor web Apache2 se está ejecutando.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

verificar apache2

Verifica el servicio MariaDB mediante el siguiente comando«systemctl«. La salida ‘enabled’ confirma que el servidor MariaDB se iniciará automáticamente al arrancar el sistema, y la salida ‘active (running )‘ confirma que el servicio MariaDB se está ejecutando.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

verificar mariadb

Comprueba la versión de PHP utilizando el comando siguiente. En el momento de escribir esto, en el servidor está instalado PHP 8.1, proporcionado por el repositorio de Ubuntu.

php -v

verificar php

Verifica la versión de Composer introduciendo el siguiente comando.

sudo -u www-data composer -v

verificar compositor

Con las dependencias básicas instaladas, introduce el siguiente comando para instalar algunos módulos Perl que necesita el Servidor de Inventario OCS.

sudo perl -MCPAN -e 'install Apache2::SOAP'
sudo perl -MCPAN -e 'install XML::Entities'
sudo perl -MCPAN -e 'install Net::IP'
sudo perl -MCPAN -e 'install Apache::DBI'
sudo perl -MCPAN -e 'install Mojolicious'
sudo perl -MCPAN -e 'install Switch'
sudo perl -MCPAN -e 'install Plack::Handler'

Se te pedirá que instales CPAN por primera vez. Introduce«sí» para confirmar y configurar CPAN automáticamente. Ahora debería comenzar la instalación de los módulos Perl.

instalar módulos perl

Cuando finalice la instalación de los módulos Perl, se confirmará que ya están instaladas las dependencias de los paquetes para OCS Inventory Server. En el siguiente paso, configurarás el servidor MariaDB y PHP.

Configurar el servidor MariaDB

En esta sección, configurarás y asegurarás la instalación del servidor MariaDB mediante el comando‘mariadb-secure-installation‘. A continuación, crearás una nueva base de datos y un nuevo usuario que utilizará el Servidor de Inventario OCS.

Introduce el siguiente comando para empezar a configurar y asegurar el despliegue del servidor MariaDB.

sudo mariadb-secure-installation

Se te preguntará por las siguientes configuraciones de MariaDB:

  • ¿Cambiar la autenticación local a unix_socket? Introduce n.
  • ¿Configurar la nueva contraseña raíz de MariaDB? Introduce y para confirmar, luego escribe la nueva contraseña para tu despliegue del servidor MariaDB.
  • ¿Eliminar el usuario anónimo? Introduce y para confirmar.
  • ¿Eliminar la prueba de base de datos por defecto del despliegue?. Introduce y para confirmar.
  • ¿Deshabilitar el inicio de sesión root de MariaDB desde conexiones remotas? Introduce y para confirmar.
  • ¿Recargar los privilegios de tabla y aplicar los cambios? Introduce y y pulsa ENTER.

Con esto, ya has asegurado el despliegue del servidor MariaDB y configurado la contraseña para el usuario raíz de MariaDB.

Ahora accede al shell de MariaDB utilizando el siguiente comando. Estarás creando una nueva base de datos MariaDB y un nuevo usuario para la aplicación OCS Inventory Server.

sudo mariadb -u root -p

Introduce las siguientes consultas para crear una nueva base de datos‘ocsdb‘ y el usuario ‘ocs@localhost’. Además, asegúrate de cambiar la siguiente contraseña del usuario MariaDB.

CREATE DATABASE ocsdb;
GRANT ALL PRIVILEGES ON ocsdb.* TO ocs@localhost IDENTIFIED BY "ocsP4ssw0rd";
FLUSH PRIVILEGES;

crear base de datos y usuario

Por último, introduce la siguiente consulta para verificar los privilegios de lista del nuevo usuario ‘ocs@localhost‘. Deberías ver que el usuario MariaDB‘ocs@localhost‘ tiene acceso a la base de datos‘ocsdb‘ que utilizará el Servidor de Inventario OCS.

SHOW GRANTS FOR ocs@localhost;
QUIT;

mostrar usuario db

En esta sección, has asegurado la instalación del servidor MariaDB y configurado la contraseña raíz de MariaDB mediante el comando‘mariadb-secure-installation‘. También has creado una nueva base de datos MariaDB y un nuevo usuario para la instalación del Servidor de Inventario OCS. En el siguiente paso, establecerás una configuración PHP que se utilizará para ejecutar el‘ocsreports‘ o panel de administración de OCS.

Configurar PHP

Después de configurar el servidor MariaDB, ahora configurarás la instalación de PHP que utilizará el ocsreports o Servidor de Administración de OCS. Tendrás que cambiar algunos parámetros en el archivo‘php.ini‘ y reiniciar el servicio Apache2 para aplicar los cambios que hayas realizado.

Abre el archivo de configuración de PHP‘/etc/php/8.1/apache2/php.ini ‘ utilizando el siguiente comando del editor nano.

sudo nano /etc/php/8.1/apache2/php.ini

Cambia los parámetros por defecto con las siguientes líneas. Asegúrate de ajustar el parámetro‘date.timezone‘ con tu zona horaria.

memory_limit = 512M
post_max_size = 100M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Europe/Stockholm

Guarda y cierra el archivo cuando hayas terminado.

Ahora introduce el siguiente comando systemctl para reiniciar el servicio Apache2 y aplicar los cambios.

sudo systemctl restart apache2

Con esto, la configuración básica de la Pila LAMP para el Servidor de Inventario OCS está terminada. En el siguiente paso, configurarás el cortafuegos UFW y abrirás algunos puertos o servicios.

Configurar el cortafuegos UFW

En el servidor Ubuntu, ufw es el cortafuegos instalado por defecto. Está instalado, pero aún no se ejecuta en el sistema. En esta sección, añadirás los servicios OpenSSH y‘Apache Full‘ al ufw. A continuación, iniciarás ufw en tu servidor y lo habilitarás para que se ejecute automáticamente al arrancar el sistema.

Introduce el siguiente comando‘ufw allow‘ para abrir las aplicaciones OpenSSH y ‘Apache Full’. La aplicación OpenSSH abrirá el puerto SSH por defecto 22/tcp y el servicio ‘Apache Full’ abrirá los puertos HTTP y HTTPS por defecto – 80/tcp y 443/tcp.

sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'

Ahora ejecuta el siguiente comando para iniciar y habilitar el cortafuegos UFW. Cuando se te solicite, introduce y para confirmar y pulsa ENTER para continuar.

sudo ufw enable

La salida«El cortafuegos está activo y habilitado al iniciar el sistema» confirma que el UFW está habilitado y se ejecutará automáticamente al arrancar el sistema. Y el UFW debería estar ejecutándose después de ejecutar el comando.

configurar ufw firewall

Introduce el siguiente comando para verificar el estado del cortafuegos UFW. La salida‘Estado: Activo‘ confirma que el UFW se está ejecutando, también verás las aplicaciones‘OpenSSH‘ y‘Apache Full‘ añadidas y disponibles en el cortafuegos UFW.

sudo ufw status

verificar cortafuegos ufw

Llegados a este punto, ya has finalizado la instalación y las configuraciones básicas de las dependencias de los paquetes para la instalación del Servidor de Inventario OCS. Pasa a la siguiente sección para iniciar la instalación del Servidor de Inventario OCS.

Instalación de OCS Inventory Server

OCS Inventory Server puede instalarse en distintos sistemas operativos como Linux, Unix y Windows. Está disponible en distintos paquetes y proporciona repositorios oficiales para distintas distribuciones de Linux, como Ubuntu, Debian y CentOS.

Para este ejemplo, instalarás OCS Inventory Server manualmente desde el código fuente y lo configurarás con el servidor de bases de datos MariaDB. También instalarás ocsreports que se utilizará como aplicación gráfica y proporciona un panel de administración web para la aplicación OCS Inventory Server.

Mueve tu directorio de trabajo a‘/var/www‘ y descarga el código fuente del Servidor de Inventario OCS mediante el comando‘git clone‘ que aparece a continuación. El código fuente debería estar disponible en el directorio‘OCSInventory-Server‘.

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

descarga el servidor de inventario ocs

Desplázate al directorio ‘OCSInventory-Server’ y descarga la aplicación‘ocsreports’ mediante el comando ‘gitclone‘ que aparece a continuación.ocsreports‘ es una aplicación web PHP que se utilizará como consola web o panel de administración web del Servidor de Inventario OCS, y se almacenará en el directorio‘ocsreports‘.

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

descargar ocsreports

Ve al directorio ‘ocsreports‘ y ejecuta el comando‘composer install‘ para instalar las dependencias PHP de la aplicación web ocsreports.

cd ocsreports/
sudo -u www-data composer install

A continuación, ve al directorio raíz de la instalación del Servidor de Inventario OCS‘/var/www/OCSInventory-Server/‘ y abre el script bash‘setup.sh‘ utilizando el siguiente comando del editor nano. El script ‘setup .sh’ se utilizará para instalar el Servidor de Inventario OCS.

cd /var/www/OCSInventory-Server/
nano setup.sh

Cambia los parámetros de la base de datos con los detalles de tu base de datos, que incluyen el nombre de la base de datos, el nombre de usuario y la contraseña.

DB_SERVER_HOST="localhost"
DB_SERVER_PORT="3306"
DB_SERVER_USER="ocs"
DB_SERVER_PWD="ocsP4ssw0rd"

Guarda y cierra el archivo cuando hayas terminado.

Ahora ejecuta el script‘setup.sh‘ para iniciar la instalación del Servidor de Inventario OCS. Durante la instalación, se te pedirán algunas configuraciones del servidor OCS.

./setup.sh

En primer lugar, el script ‘setup.sh’ comprobará y verificará las dependencias para la instalación del Servidor de Inventario OCS. Si la configuración del servidor cumple con los requisitos del servidor OCS, deberías recibir el mensaje de bienvenida del script instalador.

Introduce y para continuar.

instalación del servidor ocs

Ahora el script instalador verificará los detalles de la base de datos que utilizará OCS Inventory Server. Pulsa ENTER para utilizar el valor por defecto para el host y el puerto de la base de datos.

detalles de la base de datos

A continuación, se te preguntará por la configuración del servidor web Apache2. Esto incluye datos como la ubicación del archivo binario‘apachectl‘, la configuración por defecto de Apache ‘apache.conf’, el usuario y grupo por defecto que ejecuta el servicio Apache2, y la ruta por defecto que utiliza Apache2 para almacenar archivos de configuración adicionales.

Pulsa ENTER para utilizar la configuración por defecto del servidor web Apache2.

comprobar la configuración de apache

Ahora se te preguntará por el archivo binario de‘perl‘. Déjalo por defecto y pulsa ENTER para continuar.

comprobar perlas

Cuando se te pida que configures el ‘Servidor de comunicaciones‘ en la máquina actual, introduce y para confirmar. Ahora el script instalador comprobará algunas dependencias para instalar el «Servidor de comunicaciones».

También te preguntará por algunos ajustes que utilizará el «Servidor de comunicaciones». Pulsa ENTER para utilizar la configuración por defecto.

servidor de comunicaciones confgire

A continuación, el script de instalación‘setup.sh‘ se asegurará de que los módulos Perl necesarios están disponibles en tu sistema. La salida‘Se ha encontrado que el módulo PERL … está disponible‘ confirma que el módulo está disponible.

A continuación, se te pedirá que configures la API REST del Servidor de Inventario OCS. Introduce y para confirmar y pulsa ENTER para el resto de configuraciones.

activar api

Con esto, se iniciará la instalación del«Servidor de comunicaciones» o Servidor de Inventario OCS. A continuación se muestran algunas capturas de pantalla de la instalación del Servidor de Inventario OCS.

Instalación y configuración de los módulos Perl del ‘Servidor de comunicaciones’.

configurar el servidor de inventario ocs

Instalación de los directorios de configuración del ‘Servidorde comunicaciones’.

configurar el servidor de inventario ocs

La instalacióndel‘Servidor de comunicaciones’ ha finalizado. Además, cuando se te pida que cambies el nombre del archivo de configuración Apache2 por defecto para OCS Inventory Server, introduce y para confirmar y pulsa ENTER para continuar.

configuración del servidor de inventario ocs

A continuación, se te pedirá que configures e instales el panel de administración web ‘ocsreports’. Introduce y para confirmar.

A continuación, el instalador te preguntará por la fuente ‘ocsreports‘, que se descarga y se instalan las dependencias PHP a través de Composer. Introduce y de nuevo para confirmar la instalación y pulsa ENTER para que el resto de las configuraciones utilicen la configuración por defecto.

instalar ocsreports

Ahora se iniciará la instalación de ocsreports.

instalar ocsreports

Una vez finalizada, deberías tener impreso en tu terminal el mensaje‘OK, instalación del servidor de Administración finalizada‘.

instalar con éxito

Con esto, la instalación del«Servidor de Comunicaciones» o Servidor de Inventario OCS y del«Servidor de Administración» u ocsreports ha finalizado.

En este punto, la instalación básica y la configuración del Servidor de Inventario OCS han finalizado, también se han generado algunos archivos y directorios de configuración por defecto. En el siguiente paso, activarás los archivos de configuración Apache2 adicionales que utilizan el Servidor de Inventario OCS y ocsreports.

Aplicar la configuración de Apache2 para el Servidor de Inventario OCS

Tras instalar el Servidor de Inventario de OCS y ocsreports, ahora aplicarás las configuraciones de Apache2 generadas para la instalación de OCS. Configuraciones adicionales de Apache2 generadas por el script ‘setup.sh’ de OCS en el directorio ‘/etc/apache2/conf-available/‘.

Ahora activarás las configuraciones de Apache2 que se utilizarán para el Servidor de Inventario de OCS creando un enlace simbólico del archivo config al directorio de destino‘/etc/apache2/conf-enabled/‘.

Introduce el siguiente comando para habilitar los archivos de configuración Apache2 para el Servidor de Inventario OCS.

El archivo‘ocsinventory-reports.conf’ se utiliza para ejecutar la aplicación web ocsreports, el archivo‘z-ocsinventory-server.conf ‘ lo utiliza el Servidor de inventario OCS, y el archivo‘zz-ocsinventory-restapi.conf‘ lo utiliza la API REST del Servidor OCS.

sudo ln -s /etc/apache2/conf-available/ocsinventory-reports.conf /etc/apache2/conf-enabled/ocsinventory-reports.conf
sudo ln -s /etc/apache2/conf-available/z-ocsinventory-server.conf /etc/apache2/conf-enabled/z-ocsinventory-server.conf
sudo ln -s /etc/apache2/conf-available/zz-ocsinventory-restapi.conf /etc/apache2/conf-enabled/zz-ocsinventory-restapi.conf

Ahora introduce el siguiente comando para asegurarte de que el usuario y grupo‘www-data‘ pueden escribir en el directorio de datos ocsreports ‘/var/lib/ocsinventory-reports‘. A continuación, verifica la configuración de Apache2 mediante el comando‘apachectl‘ que aparece a continuación.

sudo chown -R www-data:www-data /var/lib/ocsinventory-reports
sudo apachectl configtest

La salida‘Sintaxis OK‘ confirma que tienes los archivos de configuración de Apache2 correctos y adecuados.

aplicar las configuraciones de apache2

Introduce la siguiente utilidad de comandos systemctl para reiniciar el servicio Apache2 y aplicar los cambios. Con esto, el Servidor de Inventario OCS debería ser ahora accesible a través de la dirección IP del servidor.

sudo systemctl restart apache2

Instalar el Servidor de Inventario OCS y los Informes OCS

Abre tu navegador web y visita la dirección IP del servidor seguida de la ruta del panel de administración web‘ocsreports‘ (es decir: http://192.168.5.20/ocsreports/install.php).

Introduce los detalles de la base de datos para la instalación de tu Servidor de Inventario OCS y haz clic en«Enviar» para confirmar.

instalar el servidor de inventario ocs

Una vez finalizada la instalación, deberías recibir una página como ésta – En la parte inferior de la página, deberías recibir un mensaje como‘Instalación finalizada..‘. También obtendrás el enlace al panel de administración web de ocsreports.

Haz clic en el enlace para obtener la página de inicio de sesión de ocsreports.

instalación finalizada

En la página de inicio de sesión de OCS, introduce el usuario y contraseña de administración por defecto‘admin‘. A continuación, haz clic en«Enviar» para continuar.

acceso ocs

Cuando lo hayas conseguido, deberías obtener el panel de administración ocsreports, que es la gestión gráfica del Servidor de Inventario OCS.

tablero ocs

En la parte superior del panel de ocsreports, deberías ver el mensaje«ALERTA DE SEGURIDAD«. Esto te indicará que elimines el script de instalación ‘/usr/share/ocsinventory-reports/ocsreports/install.php‘ y que cambies el usuario y la contraseña de administrador predeterminados.

Vuelve al terminal del Servidor de Inventario OCS y ejecuta el siguiente comando para eliminar el script de instalación ‘install.php’.

rm -f /usr/share/ocsinventory-reports/ocsreports/install.php

A continuación, vuelve al panel de ocsreports y haz clic en el menú de configuración de la parte superior derecha, luego selecciona el menú«Mi cuenta«.

Cambia el usuario administrador predeterminado, el correo electrónico y la contraseña. A continuación, haz clic en «Aceptar» para confirmar.

cambiar contraseña admin

Una vez eliminado el script de instalación «install.php» y cambiados el usuario y la contraseña de administrador predeterminados, el mensaje«ALERTA DE SEGURIDAD» desaparecerá del panel de administración web de ocsreports.

instalación finalizada

Conclusión

En esta guía, has instalado y configurado el Servidor de Inventario OCS en un servidor Ubuntu 22.04. Has instalado manualmente el Servidor de Inventario OCS desde el código fuente y configurado la Pila LAMP (Apache2, MariaDB y PHP) utilizada para ejecutar el Servidor de Inventario OCS y la aplicación web ocsreports.

Además, también has instalado ocsreports como consola web y panel de administración del Servidor de Inventario OCS. Has terminado de instalar la aplicación web OCS reports con la Pila LAMP.

Con esto en mente, ahora puedes fácilmente tus dispositivos a través del Agente OCS, que puede instalarse en múltiples sistemas operativos como Distribuciones Linux, Windows, macOS y BSD. También puedes proteger tu Servidor de Inventario OCS implementando el HTTPS seguro en el servidor web Apache. Para saber más, visita la documentación oficial del Servidor de Inventario OCS.

Scroll al inicio