Una de las cosas más tediosas de las TI, es que se debe de llevar un control del hardware y software de los equipos informáticos… Realmente es un trabajo duro, pero hay herramientas que facilitan la vida para éste control; Una de esas herramientas, es OCS Inventory!, el cual es una solución cliente/servidor Open Source que nos permite llevar un inventario del hardware y software de una computadora de forma automática y actualizada.
El funcionamiento es sencillo… Se tiene un servidor LAMP en la LAN, al cual se le instala el OCS Inventory Server y a las demás computadoras (sean Windows o sistemas GNU/Linux), se les instala un agente (cliente) para que éste reporte la información de HW y SW del equipo.
Ahora, sé que hay mucha más información que es necesaria para el inventario… UPS, Monitor, códigos de activo, etc., pero esto se puede integrar con otra muy buena herramienta como lo es GLPI (por cierto, esta un poco desactualizada la versión… veré si más adelante actualizo la entrada), pero la integración será un tema para otra entrada de blog.
Sin más, veremos cómo se realiza la instalación del OCS Inventory Server 2.2.1 en una máquina virtual con Ubuntu Server 16.04 y el agente en los clientes.
Instalación de OCS Invetory Server 2.2.1 en Ubuntu Server 16.04
Primero! Necesitamos instalar la plataforma LAMP, la cual lo hacemos fácilmente ejecutando la siguiente línea de comando:
sudo tasksel
Ahora seleccionamos LAMP Server; con las teclas cursoras nos movemos, con espacio de barra seleccionamos y con TAB nos vamos al botón «Aceptar».
Se nos solicitará crear una clave de root de MySQL, la ingresamos y damos ENTER.
Confirmamos la clave…
Continua instalando los paquetes necesarios hasta finalizar. Ahora, descargaremos el OCS Inventory Server del sitio oficial. Se puede hacer de la siguiente manera:
wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.2.1/OCSNG_UNIX_SERVER-2.2.1.tar.gz
(Se trata de una sola línea de comando…)
Instalamos las dependencias necesarios
sudo apt install libapache2-mod-perl2 make gcc php-gd libxml-simple-perl libdbi-perl libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl php-pclzip libarchive-zip-perl libsoap-lite-perl libxml-simple-perl libnet-ip-perl libio-compress-perl php-mbstring php-soap
Ejecutamos una línea para instalar un módulo de Perl (aunque no estoy muy seguro para qué… :S )
sudo perl -MCPAN -e ‘install XML::Entities’
Descomprimimos el paquete, entramos a la carpeta y procedamos a ejecutar el proceso de instalación.
sudo -s
tar xvfz OCSNG_UNIX_SERVER-2.2.1.tar.gz
cd OCSNG_UNIX_SERVER-2.2.1
./setup
El instalador es como un asistente que estará solicitando confirmar parámetros e información importante. A continuación las preguntas y respuestas que se deben de dar. Cuando aparezcan preguntas con las posibles opciones (y & n) y una de ellas está encerrada entre corchetes como lo es [y], esto significa que si presionamos ENTER es como aceptar que ésa opción por defecto es seleccionada. En éste caso, solo presionamos ENTER porque vamos a continuar la instalación.
En nuestro caso, en el mismo servidor tenemos nuestro MySQL, por lo tanto, ENTER. Referente al puerto, también damos ENTER porque es el por defecto.
Aparecerán varios parámetros relacionados al Apache, la cual en todas, por lo menos en el caso de Ubuntu 16.04 y lo que se ha realizado al pie de la letra de éste manual, básicamente se da ENTER a todas éstas preguntas. Lo del error que se muestra ahí, es por una configuración que le hace falta al apache (con respecto al nombre de equipo), pero luego lo solventamos… Es una advertencia realmente.
Falta una pregunta más de Apache, y luego viene una sobre Perl. Realmente, las opciones por defecto nos van bien, por cuanto dar ENTER a las 2.
Ahora vamos con más preguntas referentes a la propia instalación, configuración del OCS Inventory y sobre los módulos de PERL; igual, las opciones por defecto nos van bien… ENTER, ENTER… >:v
Luego, unas cuantas comprobaciones (no hay que hacer nada… solo ver…)
De ahí, solo es informativo hasta llegar a lo último! y si todo salga bien, verán ésto 🙂
Arreglemos ahora lo del mensaje de advertencia sobre el nombre del servidor en Apache…
sudo echo «ServerName localhost» >> /etc/apache2/apache2.conf
Y ahora debemos de activar las configuraciones de OCS en el apache con el comando a2enconf así:
sudo a2enconf ocsinventory-reports
sudo a2enconf z-ocsinventory-server
Excelente!, ahora, tal como lo indicó el instalador de OCS, Hay que reiniciar el apache.
sudo service apache2 restart
Ok, podemos ir a nuestro navegador favorito y comprobar que esté funcionando bien el servicio en:
http://[ip o nombre DNS del servidor OCS]/ocsreports
Aparecerá algo parecido a lo siguiente (ignoren la IP… esa es con la que yo trabaje xD en su caso sería la de ustedes o el nombre de equipo):
En mi caso, estoy usando el usuario root (para no complicarme), pero lo ideal es crear un usuario en específico en MySQL con los privilegios totales de la base de datos ocs. Por defecto, se crea un usuario llamado ocs, pero en éste caso lo haré con root. La clave de root es la que se colocó durante la instalación de LAMP. Clic en «Send»
Nos dice que ya se instaló y nos muestra información importante! el usuario y clave por defecto. Damos clic al enlace en color azul.
Nos aparece otra página que no sé porqué sale… pero bueno, damos clic en «Perform the update».
Finalmente damos clic en el enlace color azul.
Ahora haremos unos cambios a un par de archivos de configuración. Primero, nos vamos con nuestro editor de texto a modificar el archivo dbconfig.inc.php ciertos parámetros (no necesariamente todos!).
sudo nano /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php
define(«DB_NAME», «ocs«);
define(«COMPTE_BASE»,»root«);
define(«PSWD_BASE»,»miclave:v«);
Esos campos hay que personalizar… el primero es el nombre de la base de datos, que en mi ejemplo solo lo deje como ocs. El segundo es el nombre de usuario; en mi caso utilicé root, pero ustedes pudieron haber creado un usuario de MySQL específico y colocarlo ahí (ojo con los permisos en la BD que se creó). Finalmente, la clave… creo que es obvio verdad?
Nos vamos a editar entonces el archivo z-ocsinventory-server.conf en ciertos lugares específicos:
sudo nano /etc/apache2/conf-available/z-ocsinventory-server.conf
PerlSetEnv OCS_DB_NAME ocs
PerlSetEnv OCS_DB_LOCAL ocs
PerlSetEnv OCS_DB_USER root
PerlSetVar OCS_DB_PWD miclave:v
Básicamente lo mismo… el nombre de la BD, el nombre de usuario y la clave de MySQL.
Ok, ya debería de funcionar bien… Debería de aparecer al entrar en http://[ip o nombre DNS del servidor OCS]/ocsreports
Al entrar con el usuario admin y clave admin
Como se menciona en la página principal, hay que eliminar el archivo install.php del directorio ocsreports y hay que cambiar la clave o eliminar el usuario de MySQL que se crea por defecto en la instalación de OCS… se llama ocs. Veamos cómo podemos hacer ambas cosas:
sudo rm /usr/share/ocsinventory-reports/ocsreports/install.ph
mysql -u root -p
(Pide la clave de root :v )drop user ocs;
exit
Ok, con eso ya debería de estar (aunque sigue saliendo el mensaje… :S pero bueno, ahí está la X para que le den clic). Bien, eso es todo.
En próxima entrada, colocaré los pasos para instalar el agente OCS (cliente) en un Windows y en un sistema GNU/Linux.
Saludos! y cualquier duda, en la caja de comentarios.