Hola Comunidad;
Bueno, como ya sabrán existen soluciones libres que nos pueden apoyar al momento de realizar inventario de activos dentro de nuestra infraestructura de TI es por ello que hoy les vengo a mostrar como realizar la implementación de OCS Inventory en un entorno de Producción, todo ello corriendo bajo Hyper-V de Windows Server 2012 R2 virtualizando Ubuntu Server 17.04 (Microsoft ♥ Linux).
Para realizar la instalación primero debemos de tener en cuenta los requerimientos de hardware que nos indica la documentación de Ubuntu Server:
UBUNTU SERVER (CLI) INSTALLATION
- 300 MHz x86 processor
- 256 MiB of system memory (RAM)
- 1.5 GB of disk space
- Graphics card and monitor capable of 640×480
- CD drive
Lo primero que necesitamos es descargar la imagen del Ubuntu Server 17.04, es por ello que lo podemos realizar desde aquí:
https://www.ubuntu.com/download/server
Clic en Download y comenzará la descarga.
Ahora creamos una máquina virtual en nuestro Hyper-V de Windows Server 2012 R2.
Clic en Next.
Especificamos un nombre al Servidor, en mi caso lo usare como CS01OCS01. Si ustedes desean pueden cambiar la ruta por defecto donde se guardarán los archivos de la máquina virtual. Clic en Next.
Seleccionamos Generation 1. Clic en Next.
Asignamos un tamaño a la memoria RAM, en mi caso serian 2 GB, más que suficientes para la instalación de OCS Inventory y todo el Software necesario. Clic en Next.
Luego, seleccionamos la Connection y clic en Next.
Aquí cambiamos el tamaño a 10 GB, también será suficiente para realizar la instalación de todos los aplicativos necesarios para que OCS Inventory funcione, clic en Next.
Cargamos la imagen ISO del Ubuntu Server (Install an operating system from a bootable CD/DVD-ROM y seleccionamos Image file) y luego hacemos clic en Finish.
Clic secundario en la máquina virtual y clic en Start.
INSTALACIÓN – UBUNTU SERVER 17.04
Y con ello ya podemos empezar a realizar la instalación, lo primero que nos muestra es la pantalla del Idioma, para ello podemos seleccionar Español y presionamos Enter.
Dejamos seleccionado Instalar Ubuntu Server y presionamos Enter.
Seleccionamos nuestra ubicación, en mi caso Perú y presionamos Enter.
Nos mostrará un mensaje indicando que requiere comprobar el modelo de nuestro teclado, en mi caso No, presionamos Enter.
Seleccionamos la distribución de nuestro teclado, en mi caso es Español (Latinoamericano) y presionamos Enter.
Dejemos la distribución de Español (Latinoamericano) y presionamos Enter.
Comenzará a cargar los componentes.
En el transcurso buscará un servidor DHCP automáticamente (en mi caso no cuento con ello así que nos mostrará un mensaje de error), solo presionamos Continuar.
La IP lo configurare manualmente después de haber finalizado la instalación, para ello seleccionamos No configurar la red en este momento.
Colocamos un nombre al equipo, nos dirigimos a Continuar y presionamos Enter.
Introducimos el nombre real de la cuenta de usuario, yo le estoy colocando OCSInventory, nos dirigimos a Continuar y presionamos Enter.
Nos indicará que seleccionemos un nombre de usuario. En mi caso está tomando como referencia el valor introducido anteriormente por lo que ocsinventory está correcto, nos dirigimos a Continuar y presionamos Enter.
Escogemos una contraseña, nos dirigimos a Continuar y presionamos Enter.
Confirmamos la contraseña, nos dirigimos a Continuar y presionamos Enter.
Luego nos indicará si necesitamos cifrar nuestra carpeta personal, en mi caso le colocaré No ya que es una máquina virtual ubicada en un Data Center. Difícilmente puede ser robado.
Seleccionamos Guiado – utilizar todo el disco, presionamos Enter.
Nos mostrará el disco que vamos a particionar, lo seleccionamos y presionamos Enter.
Confirmamos que se escribirán los cambios en el disco. Seleccionamos Si y presionamos Enter.
Ahora esperamos que termine de realizar la copia de los datos al disco.
Durante el transcurso de la misma nos indicará si es que usamos un Proxy para acceder a la red, como en nuestro escenario es transparente solo debemos de seleccionar Continuar y presionar Enter.
Configuramos la frecuencia de actualizaciones, como ustedes sabrán en entorno de producción no es buena práctica que se realice de forma Automática, para ello seleccionamos Sin actualizaciones automáticas.
En esta parte y en mi caso no estoy seleccionando programa alguno ya que lo realizare después que termine la instalación, solo debemos de seleccionar Continuar y presionamos Enter.
Al ser solamente el único sistema operativo en la partición del disco duro, el arranque GRUB lo instalaremos como registro principal por lo que solamente debemos de seleccionar en Si.
Luego nos indicará que retiremos el CD-ROM de instalación y seleccionamos Continuar y presionamos Enter.
Esperamos unos minutos y comenzará a reiniciar el servidor virtual, nos mostrará la primera pantalla de Login.
CONFIGURACIÓN – UBUNTU SERVER 17.04 PARA OCS INVENTORY
Nos autenticamos con la cuenta ocsinventory, ahora vamos a configurar una Dirección IP a nuestro servidor, para ello verificamos cuales son las interfaces disponible con el siguiente comando:
ip link show
Ahora lo que nos interesa es saber el nombre que tiene asignado la interfaz de red, para ello podemos verificar que es eth0, después de ello digitamos:
sudo nano /etc/network/interfaces
Nos pedirá la clave de Root (obviamente la que asignamos durante la instalación de Ubuntu Server), lo colocamos y visualizamos la siguiente interfaz:
Por lo que llenaremos dicha información de la siguiente manera (usar las flechas para saltar de linea en linea):
# Tarjeta de Red ETH0
iface eth0 inet static
address DIRECCIONIP
netmask MASCARARED
gateway PUERTAENLACE
dns-nameservers DNS1 DNS2
Para grabar primero presionamos Ctrl + X , Luego presionamos Y y luego Enter (Desde aquí en adelante ya no repetiré como se graba por lo que será mejor que lo puedas apuntar en un papel).
Bien, ahora para encender la tarjeta de red ETH0 solamente escribimos ifup eth0 (antes de digitar ello debes de estar con la cuenta de root, para ello escribir sudo bash, ingresas la clave y mantendrás la sesión como root activa mientras te encuentres en la consola, puedes verificar que la cuenta de root empieza con root@NOMBRESERVIDOR), para verificar que se encuentre encendido escribimos ifconfig donde se mostrará todas las interfaces activas.
Después de ello, verificó por ping desde otro servidor, en mi caso si tengo respuesta.
Ahora como el servidor ya cuenta con una IP que tiene acceso a Internet actualizamos nuestro servidor. Para ello escribimos lo siguiente:
apt-get update && apt-get upgrade
Luego debemos de esperar que comience a realizar la actualización de la listas, nos aparecerá un mensaje del tamaño que se va a descargar y si deseamos continuar, debemos de presionar S.
Luego que finalice reiniciamos la Máquina Virtual presionando Ctrl + Alt + Supr si nos encontramos directamente en la Consola o pueden escribir:
shutdown -r 0
Ahora para que nos facilite las conexiones por SSH a través de Putty, debemos de instalar el OpenSSH, para ello escribimos:
apt-get install openssh-server
Presionamos S y Enter para continuar.
Esperamos hasta que termine la instalación.
Ahora desde nuestra PC Cliente ingresamos por Putty, seleccionamos SSH, digitamos la IP del Servidor y presionamos Open y nos pedirá que aceptemos la conexión, solo debemos de hacer clic en Yes, con ello ya estaremos en la consola de Ubuntu Server (obviamente debes de logearte).
Ahora, vamos a instalar Apache, MySQL y PHP:
sudo apt-get install apache2 php mysql-server
Escribimos S y presionamos Enter.
Aquí nos pedirá la contraseña de root de MySQL, escribimos una y lo guardamos en un lugar seguro, seleccionamos OK y presionamos Enter.
Volvemos a introducir la clave, seleccionamos OK y presionamos Enter.
Ahora vamos a instalar algunas librerías que vamos a necesitar, ello lo estaré haciendo en partes para que puedan ver todo el proceso.
sudo apt-get install perl libapache2-mod-perl2 libapache2-mod-php
Antes que me olvide, debemos de verificar si es que tenemos el PHP instalado y totalmente funcional. Para verificar la versión de PHP que tenemos que hacer lo siguiente.
Nos dirigimos a HTML:
cd /var/www/html
Creamos un archivo llamado index.php
nano index.php
Dentro del archivo ingresamos lo siguiente que servirá para verificar la Versión que tenemos instalado en el Servidor.
<?php
phpinfo();
?>
Guardamos el archivo y nos dirigimos a nuestro navegador desde nuestra PC Cliente, escribimos en el browser http://IPSERVIDOR/index.php y les debe de cargar una página similar a la siguiente.
Bien, después de ello continuamos con la instalación de las Librerías.
sudo apt-get install php-zip php7.0-gd
A partir de aquí ya no volveré a escribir que se necesita presionar la tecla S o Enter ya que en casi todo lo que hacemos requiere la confirmación.
sudo apt-get install libxml-simple-perl libcompress-zlib-perl libdbi-perl libsoap-lite-perl libnet-ip-perl libdbd-mysql-perl php-curl php-mbstring php-soap
sudo apt-get install make
sudo apt-get install libapache-dbi-perl
sudo apt-get install libarchive-zip-perl
apt-get install php-mysql
apt-get install php-xml
Ahora, para verificar que no estamos malogrando el servidor (hahaha), reiniciamos toda la máquina virtual y verificamos que todo se está cargando correctamente.
shutdown -r 0
Ahora, vamos a modificar el PHP.INI para ajustar los parámetros a OCS Inventory, ingresamos a PHP Ini.
nano /etc/php/7.0/apache2/php.ini
Cambiar:
memory_limit = 128M
Por:
memory_limit = 256M
Cambiar:
upload_max_filesize = 2M
Por:
upload_max_filesize = 256M
Cambiar:
post_max_size = 8M
Por:
post_max_size = 256M
Guardamos el archivo e ingresamos a con nano /etc/apache2/apache2.conf y en la última línea del archivo agregamos
ServerName localhost
Procedemos a Guardar.
Reiniciamos el servicio con:
systemctl restart apache2.service
Ahora instalamos las dependencias con CPAN:
sudo cpan -i XML::Entities Compress::Zlib Archive::Zip
Y presionamos Enter.
Reiniciamos el Servicio del Apache 2 con el siguiente comando:
systemctl restart apache2.service
INSTALACIÓN DE OCS INVENTORY
Ahora descargamos el OCS Inventory para ello ejecutamos el siguiente comando:
sudo wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.3.1/OCSNG_UNIX_SERVER-2.3.1.tar.gz
Descomprimimos:
sudo tar -xzvf OCSNG_UNIX_SERVER-2.3.1.tar.gz
Ingresamos a la Carpeta Descomprimida.
Ejecutamos:
bash ./setup.sh
Presionamos la tecla Y, luego Enter.
Presionamos Enter.
Presionamos Enter.
Presionamos Enter.
Escribimos:
/etc/apache2/apache2.conf
Y presionamos Enter.
Presionamos Enter.
Presionamos Enter.
Escribimos:
/etc/apache2/conf-available
Y presionamos Enter.
Presionamos Enter.
Presionamos Enter.
Presionamos Enter.
Presionamos Enter.
Presionamos Enter.
Nos mostrará un mensaje indicando que Apache2::SOAP PERL Module no se encuentra instalado, pero no hay problema ya que es Opcional, solo presionamos la tecla Y seguida de Enter.
En caso nos aparezca que el XML::Entities PERL Module no se encuentre instalado, de igual modo que el paso anterior es solamente opcional por lo que solamente debes de presionar Y seguida de Enter.
Presionamos Enter.
Presionamos Enter.
Presionamos Enter.
Presionamos Enter.
Presionamos Enter.
Presionamos Enter.
Listo, ahora solo nos queda reiniciar el servidor de Apache.
systemctl restart apache2.service
Ahora creamos los enlaces simbólicos, para ello ejecutamos el siguiente comando:
sudo ln -s /etc/apache2/conf-available/ocsinventory-reports.conf /etc/apache2/sites-enabled/ocsinventory-reports.conf
Y presionamos Enter.
Y ejecutamos el siguiente comando:
sudo ln -s /etc/apache2/conf-available/z-ocsinventory-server.conf /etc/apache2/sites-enabled/
Presionamos Enter.
Reiniciamos nuevamente el servicio del Apache con el siguiente comando:
systemctl restart apache2.service
Presionamos Enter.
Ahora ingresamos desde el navegador de nuestra PC Cliente a http://miipservidorocs/ocsreports/ donde se tiene que agregar el MySQL Login (root), MySQL Password (Clave de Root), Name of Database (Lo estoy dejando con su valor por defecto que es ocsweb), MySQL HostName (este valor es localhost ya que se encuentra instalado en el mismo servidor el motor de Base de Datos MySQL) y presionamos Send.
Esperamos unos minutos y la instalación finalizará, tanto el usuario como la clave es admin, luego hacemos clic en donde dice Click here to enter OCS-NG GUI.
Nos mostrará la pantalla para iniciar sesión, ahí ustedes verán que se encuentran las banderas de los idiomas. No olvidar que se hace primero clic en la Bandera para que la interfaz cambie.
Bien, con ello ya tenemos el OCS Inventory instalado pero debemos de arreglar las Alertas de Seguridad.
La alerta: The Install.php exists in ocsreports directory se soluciona quitando (valga la redundancia) el archivo install.php, para ello solamente debemos de ejecutar el siguiente comando:
rm /usr/share/ocsinventory-reports/ocsreports/install.php
Ahora vamos a instalar PhpMyAdmin para realizar el cambio de clave del usuario ocs (también se puede hacer por la consola de MySQL pero yo necesito si o si instalar PhpMyAdmin ya que necesito hacer Querys para sacar reportes y exportarlos a Excel), ejecutamos el siguiente comando:
sudo apt-get install phpmyadmin
Seleccionamos apache2, nos dirigimos a OK y luego Enter.
Configuramos la Base de Datos para PhpMyAdmin, seleccionamos Yes y presionamos Enter.
Escribimos una contraseña para que PhpMyAdmin se registre, yo usaré la misma que uso en Root de MySQL para no llenarme de Claves, nos dirigimos a OK y presionamos ENTER.
Confirmamos la contraseña, nos dirigimos a OK y presionamos ENTER.
Bien, después de ello esperamos a que termine el proceso de instalación y nos dirigimos al Browser de nuestra PC Cliente para dirigirnos a la siguiente dirección: http://MIIPOCS/phpmyadmin/ escribimos el nombre de usuario y clave de MySQL (entiéndase que es la clave de MySQL).
Luego en el panel derecho nos dirigimos a Cuentas de Usuarios y visualizaremos que existen dos cuentas con nombre del servidor diferente, ocs con % y ocs % localhost en el presente ejemplo haré un ejemplo con la que tiene por nombre del Servidor %, hacemos clic en Editar Privilegios.
Luego, nos dirigimos a Cambio de Contraseña y escribimos la nueva contraseña que vamos a usar con ocs, luego clic en Continuar.
Si todo marcha a la perfección, podremos visualizar que la contraseña se ha cambiado de manera exitosa.
Realizamos los mismos pasos con la cuenta que faltaba.
Ahora para cambiar la clave en los archivos del OCS Inventory, nos dirigimos a:
nano /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php
Y en el parámetro de PSWD_BASE (después de la coma y dentro de las comillas) escribimos la nueva contraseña (la clave anterior es ocs, borramos y escribimos la nueva):
Guardamos los cambios.
De la misma manera nos dirigimos a:
nano /etc/apache2/conf-available/z-ocsinventory-server.conf
Buscamos la linea de configuración PerlSetVar OCS_DB_PWD y remplazamos la clave (la clave anterior es ocs, borramos y escribimos la nueva).
Guardamos los cambios.
Ahora y para verificar que todo se está cargando normal en el servidor, procedemos a reiniciarlo.
shutdown -r 0
Volvemos a a nuestra web de OCS Inventory y verificamos que ahora ya no se muestran dichos mensajes de error.
INSTALACIÓN DEL AGENTE EN PC LOCAL
Ahora, voy a realizar la instalación del agente en nuestra PC que tenemos para realizar la prueba, para ello lo descargamos desde aquí.
Ejecutamos el archivo de instalación OCS-NG-Windows-Agent-Setup
Nos mostrará el Wizard, hacemos clic en Next.
Clic en I Agree.
Clic en Next.
En Server URL escribimos http://IPSERVIDOR/ocsinventory y clic en Next.
Clic en Next.
Activamos Enable verbose log y Immediately launch inventory (= /NOW) y clic en Next.
Clic en Install.
Esperamos unos segundos hasta que termine de realizar la instalación, luego seleccionamos Start OCS Inventory NG Systray Applet y clic en Finish.
Ingresamos a la web de OCS Inventory para validar que se ha replicado todo el inventario de nuestra PC, en mi caso Windows 8.1 Pro.
Muchas Gracias!