Open Computer and Software Inventory Next Generation, OCS Inventory NG, es un software libre que permite a los Administradores de TI gestionar el inventario de sus activos de TI, recopila información sobre el hardware y software de equipos que hay en la red que ejecutan el programa de cliente OCS, más conocido como Agente OCS.
OCS Inventory visualiza el inventario a través de una interfaz web. Además, OCS comprende la posibilidad de implementación de aplicaciones en los equipos de acuerdo a criterios de búsqueda.
En esta primera entrada vamos a cubrir la instalación de OCS Inventory NG en un Linux Ubuntu Server con certificado SSL, imprescindible para el despliegue de aplicaciones (deployment).
Requisitos de paquetería
Actualiza Ubuntu.
sudo apt-get update
Una vez actualizado, instalamos los siguientes paquetes, aceptando también la instalación de todas sus dependencias:
sudo apt-get install openssl apache2 php5 make perl mysql-server libxml-simple-perl libxml-perl libarchive-zip-perl libio-compress-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl libphp-pclzip php5-gd php5-mysql
Instala OCS Inventory Server
Descargamos el instalador desde su web: OCSNG_UNIX_SERVER-2.2.tar.gz
Descomprimos el instalador en una carpeta
tar -xvf OCSNG_UNIX_SERVER-2.2.tar.gz cd OCSNG_UNIX_SERVER-2.2
Instalamos:
sudo sh ./setup.sh
Por defecto, al presionar ENTER, se aplicará la configuración por defecto indicada entre [], corchetes.
Habilita el módulo SSL y los sitios Apache de OCS Inventory
sudo a2enmod ssl ; sudo a2ensite default-ssl.conf ; sudo a2ensite ocsinventory-reports.conf ; sudo a2ensite z-ocsinventory-server.conf
Reiniciamos el servicio apache.
sudo /etc/init.d/apache2 restart
Crear un Certificado SSL para utilizar el Deploy de Software
Debemos utilizar un Certificado SSL para poder distribuir Software desde OCS Inventory Server a los Agentes. Esto es imprescindible.
Comentar que existen múltiples herramientas para la distribución de Software, si ya dispones de una que lo haga bien, no te líes. OCS Inventory NG está diseñado como aplicación de Inventario y no como aplicación de distribución de software, no sé si me explico.
openssl genrsa -des3 -out ocsng.key 2048 (Ingresa dos veces y recuerda una clave para el certificado). mv ocsng.key ocsng-old.key
openssl rsa -in ocsng-old.key -out ocsng.key
Ingresa nuevamente tu clave
openssl req -new -key ocsng.key -out ocsng.csr
Ingresa datos de tu certificado (país, ciudad, empresa…) Cuando te consulte por… Common Name ingresamos la IP estática de nuestro servidor Ubuntu.
openssl x509 -req -days 3650 -in ocsng.csr -signkey ocsng.key -out ocsng.pem
El parámetro -days 3650 es el tiempo de «vida» del certificado. Aquí, configurado para 10 años. No debemos escatimar en el tiempo de vida del certificado, pues cuando caduque no podremos usar la característica deploy.
Copia el certificado en las rutas por defecto, para ello:
sudo cp ocsng.pem /etc/ssl/certs/ ; sudo cp ocsng.key /etc/ssl/private/
Realiza un backup de la configuración de tus Sitios Apache (siempre recomendado)
sudo cp /etc/apache2/sites-enabled/default-ssl.conf /etc/apache2/sites-enabled/default-ssl.conf.bak ; sudo cp /etc/apache2/sites-enabled/ocsinventory-reports.conf /etc/apache2/sites-enabled/ocsinventory-reports.conf.bak ; sudo cp /etc/apache2/sites-enabled/z-ocsinventory-server.conf /etc/apache2/sites-enabled/z-ocsinventory-server.conf.bak
Cambia la ruta de los certificados en default-ssl.conf
sudo vim /etc/apache2/sites-enabled/default-ssl.conf SSLCertificateFile /etc/ssl/certs/ocsng.pem SSLCertificateKeyFile /etc/ssl/private/ocsng.key
Generamos un auto-login al certificado en apache, para ello generaremos un archivo con la contraseña provista para el certificado.
sudo vim /usr/share/apache2/pass
Tecleamos:
#!/bin/sh echo "TU-CONTRASEÑA" sudo chmod +x /usr/share/apache2/pass
Guardamos y salimos del archivo.
Agregamos el archivo en default-ssl.conf
sudo vim /etc/apache2/sites-enabled/default-ssl.conf
Ingresamos la cadena en una nueva línea entre /VirtualHost y /IfModule
SSLPassPhraseDialog exec:/usr/share/apache2/pass
Guardamos y salimos del archivo.
Habilitar SSL en la carpeta /download en default-ssl.conf
La carpeta /download es donde se alojarán los paquetes para hacer Deploy de Software. Para ello, deberemos SI O SI habilitar SSL sobre la misma.
sudo vim /etc/apache2/sites-enabled/default-ssl.conf
Ingresamos la cadena en una nueva línea entre ServerAdmin webmaster@localhost y DocumentRoot /var/www/html
Alias /download /var/lib/ocsinventory-reports/download <Directory /var/lib/ocsinventory-reports/download> #Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory>
Guardamos y salimos del archivo.
Deshabilitar HTTP en la carpeta /download en ocsinventory-reports.conf
Para asegurarnos de que nadie sin el certificado SSL generado pueda descargar Paquetes, desactivaremos SSL en el archivo ocsinventory-reports.conf.
sudo vim /etc/apache2/sites-enabled/ocsinventory-reports.conf
Ingresa la cadena en una nueva línea entre Directory /var/lib/ocsinventory-reports/download y IfModule mod_authz_core.c
Require all granted
Guardamos y salimos.
Reiniciamos apache.
Copia el certificado generado a tu /home/usuario:
sudo cp /etc/ssl/certs/ocsng.pem /home/usuario
Renómbralo a «cacert.pem» (el nombre admitido por defecto en los Agentes de OCS Inventory)
mv ocsng.pem cacert.pem
Extrae el certificado generado a un lugar seguro, al que tengas acceso.
Copia utilizando WinSCP el certificado «cacert.pem» a un lugar «seguro» accesible para implementarlo en tus Agentes Windows.
Configuración final vía Consola Accede ahora mediante tu navegador a la URL
http://tuipestatica/ocsreports
Veremos la siguiente pantalla, si todo ha ido bien:
Teclearemos en mi caso:
MySQL login: root
MySQL password: TU-CONTRASEÑA-DE-ROOT-MYSQL
Name of Database: ocsweb
MySQL hostname: localhost
La aplicación terminará de configurarse y accederemos a la siguiente pantalla de acceso:
Tanto el usuario como la contraseña por defecto son admin/admin.