Instalar OCS Inventory en Debian 10

Published:

Open Computer and Software Inventory Next Generation (OCS) es un software libre que permite a los Administradores de TI (Tecnología de Información) gestionar el inventario de los activos de Tecnológicos. OCS-NG recopila información sobre el hardware y software de equipos por medio de un agente que debe ser instalado en cada host. Lo mejor es que puede utilizarse para visualizar el inventario a través de una interfaz web.

Pre-requisitos son tener LAMP instalado, lo voy a mostrar en un Debian 10 recién instalado, sin explicar mucho los pasos, podes entender bien como funciona LAMP podes verlo en publicaciones anterior.

Paso 1: Instalación de LAMP

apt install -y apache2 php libapache2-mod-php php-mysql php-mbstring php-xml php-zip mariadb-server

Ejecutamos el script de instalación de Mariadb

mysql_secure_installation

Le damos un enter cuando pregunte la contraseña, colocamos el password para el usuario root de la base de datos y después enter hasta el final.

Paso 2: Carga de módulos

Voy a dividir la instalación de módulos en 2, esta primer parte deben estar si o si para que funcione bien.

apt install -y libapache2-mod-php libapache2-mod-perl2 libapache-dbi-perl libapache-db-perl

Los siguientes son necesarios para la interface web.

apt install -y php-soap php-curl php-json php-xml php-mbstring php-gd php-pclzip php-xmlrpc

Paso 3: En este punto es importante tener instaladas las herramientas de desarrollo para Debian 10 y que nada falle en la instalación:

apt install -y cmake gcc make build-essential make

Paso 4: Creando la base para OCS Inventory

Como ya instalamos MariaDB vamos a generar la base de datos, un usuario con contraseña y asignarle los permisos para administrar la base de datos.

mysql -u root -p

CREATE DATABASE ocsdb;
GRANT ALL PRIVILEGES ON ocsdb.* TO 'ocsuser'@'localhost' IDENTIFIED BY 'ocspassword';
FLUSH PRIVILEGES;
exit;

Paso 5: Cargando módulos de Perl

Como OCS inventory esta desarrollado en Perl vamos a necesitar lo siguiente.

apt install -y perl libnet-ip-perl libxml-simple-perl libarchive-zip-perl libxml-simple-perl libcompress-zlib-perl libdbi-perl libdbd-mysql-perl libnet-ip-perl libsoap-lite-perl libio-compress-perl libapache-dbi-perl libapache2-mod-perl2 libapache2-mod-perl2-dev libdbd-mysql-perl

Y es necesario hacer un paso que deberemos tener pasciencia, dado que algunos módulos de Perl necesarios no se encuentran en formato de paquetes de Debian 10, así que los instalaremos con la utilidad cpan de Perl:

cpan install XML::Entities Apache2::SOAP Net::IP Apache::DBI Mojolicious Switch Plack::Handler Archive::Zip

Paso 6: Descargar e instalar OCS Inventory

Vamos a instalar la última versión desde su sitio de github, https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases

cd /opt
wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.8.1/OCSNG_UNIX_SERVER_2.8.1.tar.gz

Descomprimimos

tar -xvzf OCSNG_UNIX_SERVER_2.8.1.tar.gz

Antes de lanzar el instalador te recomiendo hacer un paso adicional, que nos ahorrará tiempo a futuro. Ingresamos al directorio y modificamos el archivo setup.sh y ajustamos los valores de la base de datos:

cd OCSNG_UNIX_SERVER_2.8.1
nano setup.sh

Los parámetros son los que usamos en pasos previos

DB_SERVER_HOST="localhost"
DB_SERVER_PORT="3306"
DB_SERVER_USER="ocsuser"
DB_SERVER_PWD="ocspassword"

Guardamos los cambios y lanzamos el script, a cada pregunta que haga le vamos a dar Enter para que tome los valores por defecto hasta que llegue al final.

./setup.sh

No deberíamos ver ningún error, caso contrario hay que solucionarlo.

Paso 7: Ajustes finales

Vamos a crear unos enlaces para hacer que la interface web de OCS Inventory funcione correctamente.

ln -s /etc/apache2/conf-available/ocsinventory-reports.conf /etc/apache2/conf-enabled/ocsinventory-reports.conf

ln -s /etc/apache2/conf-available/z-ocsinventory-server.conf /etc/apache2/conf-enabled/z-ocsinventory-server.conf

Ajustamos permisos de ejecución

chown -R www-data:www-data /var/lib/ocsinventory-reports/

Y finalmente ajustamos la configuración de los parámetros de la base de datos en el archivo de configuración de OCS. Lo más importante es ajustar OCS_DB_NAME, OCS_DB_LOCAL, OCS_DB_USER

nano /etc/apache2/conf-available/z-ocsinventory-server.conf

Y reinciamos apache para que tome los cambios.

systemctl restart apache2

Firewall: en el caso de usar UFW recordá habilitar el puerto remoto.

ufw allow 3306/tcp

Paso 8: Iniciar la aplicación

En mi caso tengo un Debian con instalación mínima, así que desde otro equipo ejecutamos en el navegador http://ip-server/ocsreports/

Donde vamos a colocar los parámetros de la base de datos, solo 4 que se muestran a continuación el resto queda como esta:

MySQL Login: ocsuser
MySQL Password: ocspassword
Name of Database ocsdb
MySQL HostName: localhost

Si todo salió bien, hacemos clic en el enlace OCS-NG GUI y nos llevará a la interface principal donde pide usuario y contraseña, que por defecto OCS Inventory usa admin para nombre de usuario y admin para la contraseña.

Si nos da un mensaje

SECURITY ALERT!
Your install.php exists in your installation directory.
The default SQL login/password is activate on your database: ocsweb
The default login/password is activate on OCS-NG GUI

Hay que eliminar el archivo install.php, puede dar otros mensajes por lo que te recomiendo no usar los parámetros por defecto y cambiar la contraseña del usuario admin que es admin por defecto.

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

Y con esto ya podemos comenzar a cargar equipos.

- Advertisement -
Jorge
Jorgehttps://nksistemas.com
Soy Jorge, Sr Sysadmin Linux/DevOps/SRE y creador de NKSistemas.com Trabajo con plataformas: Linux, Windows, AWS, GCP, VMware, Helm, kubernetes, Docker, etc.

Related articles