Hola a todos.
Hace un tiempo se había tratado la instalación de OCS Inventory 2.2.1 en CentOS 7.2.
En esta ocasión se hará una instalación de OCS Inventory 2.3.1 en CentOS 7.3 de forma manual y también con repositorio.
- - - - - - - - - - - - - - - - - - - - -
INSTALACIÓN MANUAL
- - - - - - - - - - - - - - - - - - - - -
No haré mucho énfasis en este artículo sobre este método, ya que en una entrada anterior se hizo la instalación de esta forma, y con las pruebas respectivas comprobé que es perfectamente válido para las versión de OCS 2.3.1 y CentOS 7.3.
Instalación de OCS Inventory 2.2.1 en CentOS 7.2
La primera diferencia, obvia, es la versión de OCS Server que hay que descargar (Paso 10)
# wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.3.1/OCSNG_UNIX_SERVER-2.3.1.tar.gz
La otra diferencia es que CentOS 7.3 SI trae el firewall instalado y ejecutando, por lo que solo hay que agregar la excepción en el mismo:
# firewall-cmd --permanent --zone=public --add-port=80/tcp
# firewall-cmd --reload
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
INSTALACIÓN [FÁCIL] DESDE REPOSITORIO
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
A partir de junio de 2017, el team de OCS Inventory anunció la disponibilidad de un repositorio desde el cual se puede instalar el software más facilmente. Si bien, ya existían otros repositorios desde donde se podía hacer lo mismo, como remi, estos no eran soportados oficialmente.
Instalar algunos paquetes útiles
# yum install wget net-tools nano
Agregar repositorios EPEL y OCS
# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# wget https://rpm.ocsinventory-ng.org/enterprise/7/x86_64/ocsinventory-release-7-4.el7.ocs.noarch.rpm
# yum install epel-release-latest-7.noarch.rpm ocsinventory-release-7-4.el7.ocs.noarch.rpm
[Recomendable] Deshabilitar SELinux
# nano /etc/sysconfig/selinux
Cambiar la linea SELINUX=enforcing a SELINUX=disabled
Reiniciar el servidor para que se apliquen los cambios
Instalar OCS Inventory
# yum install ocsinventory
(Esto intalará todas las dependencias, httpd, mariadb, php, librerías de perl, etc)
Activar arranque automático de Apache y MariaDB
# systemctl enable httpd
# systemctl start httpd
# systemctl enable mariadb
# systemctl start mariadb
Configuración de seguridad de MariaDB
# mysql_secure_installation
(Agregar una contraseña para el usuario root)
Crear una base de datos para OCS Inventory.
En este caso se llamará como siempre, ocsweb, pero se puede indicar otro nombre.
# mysql -u root -p
Enter password: [Escribir la contraseña del paso anterior]
MariaDB[(none)]> CREATE DATABASE ocsweb CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB[(none)]> exit;
Configurar el Firewall
# firewall-cmd --permanent --zone=public --add-port=80/tcp
# firewall-cmd --reload
Configuracion final de OCS
Desde una PC de escritorio abrir un navegador web e ir a la dirección:
http://ip-del-server/ocsreports
*** reemplazar "ip-del-server" por el IP que tiene el servidor (en mi caso 10.0.1.94).
Entrar los parámetros de base de datos configurados previamente.
Ya se puede ingresar al OCS usando el usuario y contraseña por default: admin // admin
Eliminar install.php
Por cuestiones de seguridad, eliminar archivo intall.php en el directorio de instalacion de OCS.
# rm -f /usr/share/ocsinventory-reports/ocsreports/install.php
¡Y listo! El servidor está andando y esperando conexiones desde los clientes, a los cuales hay que instalarles el "agente OCS" para que comiencen a enviar información.
[ Actualización Sept-2017 ] La versión 2.3.1 desde repositorio, al menos en mi caso, ha sido imposible instalar plugins. Investigando, al parecer, es un problema de OCSInventory que sería arreglado en futuras actualizaciones. Si no vas a usar plugins, entonces puedes instalar desde repositorio sin problemas, de lo contrario, con el método manual si funcionan.
5 comentarios:
hola, excelente manual ya lo pude instalar en Centos 7, pero ahora no me detecta ningun cliente al server, mis clientes son windows ni el OCSNG-Windows-Agent-2.1.1 ni OCSNG-Windows-Agent-2.3.0.0 se reflejan en mi server 2.3.1 es un centos 7, mas sin embargo si se reflejan en otro server 2.1.2 que es windows 7...ambos seerver virtualizados...
sabras a que se debe que no se reflejan en la version linux pero si en windows....
gracias
Efectivamente no encuentra ningún cliente :(
Esto es lo que sale en el log del agente
Starting OCS Inventory NG Agent on Friday, August 11, 2017 14:26:12.
AGENT => Running OCS Inventory NG Agent Version 2.1.1.1
AGENT => Using OCS Inventory NG FrameWork Version 2.1.1.1
AGENT => Loading plug-in(s)
AGENT => Using network connection with Communication Server
AGENT => Using Communication Provider Version <2.1.1.1>
AGENT => Sending Prolog
ERROR *** AGENT => Failed to send Prolog
AGENT => Unloading communication provider
AGENT => Unloading plug-in(s)
AGENT => Execution duration: 00:00:00.
El log del acces_log del httpd:
******** - - [11/Aug/2017:14:31:13 -0500] "POST /ocsinventory HTTP/1.1" 500 527 "-" "OCS-NG_WINDOWS_AGENT_v2.1.1.1"
y esto en el error_log del httpd:
[Fri Aug 11 14:25:13.779162 2017] [perl:error] [pid 11313] [client ************] Can't call method "do" on an undefined value at /usr/share/perl5/vendor_perl/Apache/Ocsinventory/Server/System.pm line 189.\n
y lo que dice en la parte de la linea 189 del archivo System.pm
# Connection...
my $dbh = DBI->connect("DBI:mysql:database=$database;host=$host;port=$port", $user, $password, \%params);
$dbh->do("SET NAMES 'utf8'") if($dbh && $ENV{'OCS_OPT_UNICODE_SUPPORT'});
$dbh->do("SET sql_mode='NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'");
return $dbh;
Alguien que pueda ayudar en esto por favor
hola, yo tengo el mismo problema, lograste solucionarlo?
Hola, muchisimas garcias pro el tutorial esta muy completo y a prueba de dummys como yo, me podrias ayudar conesto: quiero que desde cualquier pc en la red local digiten la ip_servidor/ocsreports y puedan acceder a la pantalla de logue, ya que si intento hacerlo me aparece que la conexion fue rechazada y pues para esto del linux si no tengo mucho conocimiento...
Buen post, yo he tenido que configurar el fichero:
nano /etc/httpd/conf.d/ocsinventory-server.conf
Localizar en el fichero el usuario y la password, y modificarlo con las establecidas en la bbdd configurada.
# Master Database settings
# Replace localhost by hostname or ip of MySQL server for WRITE
PerlSetEnv OCS_DB_HOST localhost
# Replace 3306 by port where running MySQL server, generally 3306
PerlSetEnv OCS_DB_PORT 3306
# Name of database
PerlSetEnv OCS_DB_NAME ocsweb
PerlSetEnv OCS_DB_LOCAL ocsweb
# User allowed to connect to database
PerlSetEnv OCS_DB_USER ocsuser
# Password for user
PerlSetVar OCS_DB_PWD ocspassword
Publicar un comentario