Instalacion de OCS Inventory sobre Ubuntu Server
¿Qué es OCS Iventory? Open Computer and Software Inventory Next Generation (OCS) es un software libre que permite a los usuarios administrar el inventario de sus activos de TI. OCS-NG recopila información sobre el hardware y software de equipos que hay en la red que ejecutan el programa de cliente OCS ("agente OCS de inventario"). OCS puede utilizarse para visualizar 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. Además, tiene muchas opciones más como escanear la red por medio del IPDiscovery, o instalar aplicaciones remotamente creando Builds.
Requerimientos. El administrador del servidor esta diseñado en 4 componentes principales: 1. Servidor de Base de Datos, Donde se guarda la información del inventario 2. Servidor de Comunicación, Es el que se encarga de las comunicaciones HTTP entre el servidor y los agentes. 3. Consola Administrativa, Es el que permite a los administradores consultar la base de datos del servidor utilizando su navegador favorito. 4. Servidor de Despliegue, Almacena toda la información de implementación de paquetes (Requiere HTTPS).
NOTA: Los 4 componentes pueden estar instalados en el mismo servidor o en diferentes. Servidor de Base de Datos Actualmente solo soporta MySQL 4.1 o superior con el Engine InnoDB activo.
Servidor de Comunicación Necesita Apache Web Server 1.3.X/2.X y estar escrito en PERL como un modulo Apache. ¿Porqué?. Porque los Scripts están compilados en PERL cuando inicia APACHE, y no por cada request. Esto obtiene mejor rendimiento. El servidor de Comunicación puede requerir algunos módulos adicionales de PERL dependiendo de la distribución seleccionada.
Servidor
de
Despliegue Necesita
cualquier
Servidor
Web
con
soporte
de
SSL
Habilitado.
Consola Administrativa esta escrita en PHP 4.1 (o superior) y puede ser ejecutada bajo Apache Web Server 1.3.X/2.X. La consola Administrativa requiere soporte a archivos ZIP y GD habilitados en PHP para poder utilizar el despliegue de paquetes.
Apache versión 1.3.33 o superior / Apache versión 2.0.46 o superior .
Mod_perl versión 1.29 o superior.
Mod_php versión 4.3.2 o superior.
PHP 4.3.2 o superior, con soporte para ZIP y GD habilitado.
PERL 5.6 o superior.
Perl module XML::Simple versión 2.12 o superior.
Perl module Compress::Zlib versión 1.33 o superior.
Perl module DBI versión 1.40 o superior.
Perl module DBD::Mysql versión 2.9004 o superior.
Perl module Apache::DBI versión 0.93 o superior.
Perl module Net::IP versión 1.21 o superior.
Perl module SOAP::Lite versión 0.66 o superior(opcional)
MySQL versión 4.1.0 o superior con el motor InnoDB activo.
Utileria Make como en GNU make.
Paso 1: Instalar dependencias: Seguramente en nuestro servidor ya tenemos instalado y configurado los servicios web con Apache y bases de datos con MySQL, pero necesitaremos algunos paquetes adicionales para poder continuar, pueden ejecutar el siguiente comando todo estará listo como por arte de magia:
1.
sudo apt-get
install libapache2-mod-perl2
libcompress-zlib-perl
libdbi-perl
libapache-dbi-perl
libdbd-mysql-perl
libxml-simple-perl
libnet-ip-perl
php5-gd
php5-
mysql
Adicionalmente
1. 2. 3. 4. 5. 6. 7. 8.
necesitaremos
unos
paquetes
para
Perl:
#Abrimos el shell de Perl en como super usuario ubuntu-server$ sudo perl -MCPAN -e shell #Una vez iniciado (tal vez dure unos minutos), instalamos el paquete SOAP::Lite: CPAN> install SOAP::Lite #... #Despues de cientos de lineas de mensajes instalamos el paquete XML::Entities CPAN> install XML::Entities #suficiente con eso
Paso 2: Descomprimir e instalar Una vez descargado el archivo de la web de OCS Inventory, tenemos que descomprimirlo en algún directorio temporal y ejecutar el archivo setup.sh:
1.
#descomprimiendo el archivo
2.
ubuntu-server$ tar zxf OCSNG_UNIX_SERVER-2.0.x.tar.gz
3.
#ejecutando la instalación
4.
ubuntu-server$ cd OCSNG_UNIX_SERVER-2.0.x
5.
ubuntu-server$ sudo sh setup.sh
Si todo anda bien, solo será necesario presionar ENTER varias veces hasta que termine la instalación, a menos que deseen cambiar los valores por defecto. El resultado de la instalación es mas o menos así:
Luego
de
1.
esta
instalación
debemos reiniciar
apache:
ubuntu-server$ sudo service apache2 restart
Paso 3: Configurar la base de datos OCS Iventory esta listo para que podamos establecer los parámetros de base de datos:
1. Acceder a http://localhost/ocsreports/
1. OCS Inventory -Configuración de base de datos 2. Establecer
o o o o
los
valores
de
nuestro
servidor
MySQL
local
o
remoto:
MySQL Login: root (o algun usuario con privilegios de super admin) MySQL Password: [contraseña del usuario root] Name of database: ocsweb (o algun otro nombre) MySQL hostname: localhost (si el host es remoto indicar el numero de IP o nombre de host) Importante: En este punto OCS Inventory creara la base de datos y también creara un usuario en la base de datos MySQL con el nombre ocs. Esta no va a ser la configuración final.
OCS Inventory - Mensajes post instalación de base de datos
visualizado en las terminales (opcional). En este punto también nos indicará que el usuario y password por defecto es: admin y la contraseña es: admin, simplemente finalizar el proceso haciendo clic en el botón. ocs en mysql (via sql): CODE: SELECCIONAR TODO
1.
SET PASSWORD FOR 'ocs'@'localhost' = PASSWORD('NUEVO_PASS');
2.
SET PASSWORD FOR
3.
FLUSH PRIVILEGES;
O
pueden
'ocs'@'%' = PASSWORD('NUEVO_PASS');
optar
por
otro
método:
CODE: SELECCIONAR TODO
1.
UPDATE mysql.user SET user.password = PASSWORD('NUEVO_PASS') WHRE user.user = 'ocs';
2.
FLUSH PRIVILEGES;
Paso 4: Modificar los archivos de configuración
1. Eliminamos 1.
el
archivo install.php
ubuntu-server$ sudo rm /usr/share/ocsinventory-reports/ocsreports/install.php
2. Luego de cambiar la contraseña al usuario ocs es necesario actualizar el valor en los archivos de configuración:
1. /etc/apache2/conf.d/z-ocsinventory-server.conf
1.
# Master Database settings
2.
# Replace localhost by hostname or ip of MySQL server for WRITE
3.
PerlSetEnv OCS_DB_HOST localhost
4.
# Replace 3306 by port where running MySQL server, generally 3306
5.
PerlSetEnv OCS_DB_PORT 3306
6.
# Name of database
7.
PerlSetEnv OCS_DB_NAME ocsweb
8.
PerlSetEnv OCS_DB_LOCAL ocsweb
9.
# User allowed to connect to database
10.
PerlSetEnv OCS_DB_USER ocs
11.
# Password for user
12.
PerlSetVar OCS_DB_PWD NUEVO_PASS
13.
2. /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php
CODE: SELECCIONAR TODO
1.
2.
define("DB_NAME", "ocsweb");
3.
define("SERVER_READ","localhost");
4.
define("SERVER_WRITE","localhost");
5.
define("COMPTE_BASE","ocs");
6.
define("PSWD_BASE","NUEVO_PASS");
7.
?>
8.
Será necesario reiniciar el servidor apache para que la nueva configuración surta efecto.
0.
ubuntu-server$ sudo service apache2 restart
Paso 5: Configurar los clientes Aun que este podría ser tema de otro articulo mas extenso, puedo resumir con un par de consejos:
1. Para instalar el programa que se va a encargar de recopilar la información de toda nuestra red (Inventory Agent) debemos crear un usuario como teledeploy requester con el nombre inventory_agent y alguna clave que deseen, para este caso vamos a usar AGENT_PASSWORD (ustedes pueden elegir el que quieran) 1.
user ID: inventory_agent
2.
Name: Inventory Agent
3.
Password: AGENT_PASSWORD
El resto de campos pueden estar en blanco.