Cómo instalar OCS Inventory NG Server en Debian 8 Jessie

Cómo instalar OCS Inventory NG Server en Debian 8 Jessie

En este artículo veremos cómo instalar OCS Inventory NG Server en Debian 8 Jessie paso a paso, de modo que dispongas de este conocido software de monitorización para tu viejo servidor o VPS Debian.

Antes de instalar OCS Inventory NG Server en Debian 8 Jessie

Si tienes intención de completar los pasos de esta guía de instalación de OCS Inventory NG Server en Debian 8 Jessie deberías cumplir al menos los siguientes requisitos:

  • Una instalación actualizada de Debian 8 Jessie.
  • Una pila tipo LAMP (servicio web Apache con PHP y bases de datos MariaDB/MySQL).
  • Un usuario con permisos de sudo o el mismo root.
  • Acceso a Internet.

En caso de no disponer aún del entorno necesario es recomendable consultar previamente nuestra guía de instalación de la pila LAMP en Debian 8 Jessie.

Si necesitas posteriormente instalar agentes que conecten máquinas remotas a tu nuevo servidor OCS Inventory, en este mismo sitio encontrarás guías para las distintas versiones de Debian.

Cómo descargar OCS Inventory NG Server para Debian 8 Jessie

Vamos a descargar OCS Inventory NG Server para Debian 8 Jessie desde el sitio web de desarrollo del proyecto, donde encontraremos la última versión estable:

como descargar ocs inventory ng server para debian 8 jessie

El paquete está disponible en formato .tar.gz que podemos descargar directamente desde el navegador o, como vamos a hacer en este artículo, también podemos copiar el enlace para realizar la descarga desde consola con el comando wget:

~$ wget -q https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.7/OCSNG_UNIX_SERVER_2.7.tar.gz

Cómo instalar OCS Inventory NG Server en Debian 8 Jessie

Para instalar OCS Inventory NG Server en Debian 8 Jessie tendremos que realizar una serie de tareas de preparación del sistema para que tanto el instalador de consola como el instalador web consigan su objetivo sin encontrar obstáculos.

Instalación de requisitos y dependencias

Como gran parte de las dependencias las obtendremos de los repositorios de Debian 8 Jessie, actualizamos las listas de paquetes:

~$ sudo apt update

E instalamos dichas dependencias:

~$ sudo apt install -y make libapache2-mod-perl2-dev libapache-dbi-perl libxml-simple-perl libnet-ip-perl libsoap-lite-perl libarchive-zip-perl libmojolicious-perl libplack-perl php-mbstring php-xml php-gd php-curl

Algunos módulos de Perl que no existen en paquetes de Debian 8 debemos obtenerlos con la utilidad cpan:

~$ sudo cpan -i Apache2::SOAP XML::Entities

Si es la primera vez que se usa cpan en Debian 8, nos preguntará si deseamos que se autoconfigure:

...
CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.

Would you like to configure as much as possible automatically? [yes]
...

Contestamos que sí y la instalación progresará automáticamente.

Al haber instalado módulos de Apache como parte de estas dependencias, habrá que reiniciar el servicio web:

~$ sudo systemctl restart apache2

Base de datos

OCS Inventory NG Server trabaja sobre el servicio de bases de datos presente en Debian 8 Jessie, que deberá ser del tipo MariaDB/MySQL.

Conectamos con el cliente de consola mysql y el usuario que utilicemos para administrar:

~$ mysql -u root -p

Creamos la base de datos para OCS Inventory:

> create database ocsweb;

En MariaDB o MysQL 5.x crearemos el usuario de la siguiente forma:

> create user ocs@localhost identified by 'XXXXXXXX';

Y en MySQL 8 especificaremos además el plugin de conexión adecuado:

> create user ocs@localhost identified with mysql_native_password by 'XXXXXXXX';

Sea como sea, concedemos suficientes permisos al usuario sobre la base:

> grant all privileges on ocsweb.* to ocs@localhost;

Y cerramos la conexión:

> exit

Instalación desde consola

Descomprimimos el paquete de OCS Inventory NG Server que descargamos antes:

~$ tar xf OCSNG_UNIX_SERVER_2.7.tar.gz

Cambiamos el directorio de trabajo al subdirectorio que se acaba de crear:

~$ cd OCSNG_UNIX_SERVER_2.7/

Y lanzamos el script de configuración e instalación:

$ sudo ./setup.sh

El script interactivo irá realizando comprobaciones de requisitos y solicitando confirmaciones, de modo que podremos contestar por defecto a todas las preguntas:

+----------------------------------------------------------+
|                                                          |
|  Welcome to OCS Inventory NG Management server setup !   |
|                                                          |
+----------------------------------------------------------+

Trying to determine which OS or Linux distribution you use
+----------------------------------------------------------+
| Checking for Apache web server binaries !                             |
+----------------------------------------------------------+

CAUTION: If upgrading Communication server from OCS Inventory NG 1.0 RC2 and
previous, please remove any Apache configuration for Communication Server!

Do you wish to continue ([y]/n)?
Assuming Communication server 1.0 RC2 or previous is not installed
on this computer.

Starting OCS Inventory NG Management server setup from folder /home/chacho/OCSNG_UNIX_SERVER_2.7
Storing log in file /home/chacho/OCSNG_UNIX_SERVER_2.7/ocs_server_setup.log

+----------------------------------------------------------+
| Checking for database server properties...                      |
+----------------------------------------------------------+

Your MySQL client seems to be part of MySQL version 10.4.
Your computer seems to be running MySQL 4.1 or higher, good ;-)

Which host is running database server [localhost] ?
OK, database server is running on host localhost ;-)

On which port is running database server [3306] ?
OK, database server is running on port 3306 ;-)


+----------------------------------------------------------+
| Checking for Apache web server daemon...                              |
+----------------------------------------------------------+

Where is Apache daemon binary [/usr/sbin/apache2ctl] ?
OK, using Apache daemon /usr/sbin/apache2ctl ;-)


+----------------------------------------------------------+
| Checking for Apache main configuration file...                  |
+----------------------------------------------------------+

Where is Apache main configuration file [/etc/apache2/apache2.conf] ?
OK, using Apache main configuration file /etc/apache2/apache2.conf ;-)


+----------------------------------------------------------+
| Checking for Apache user account...                                    |
+----------------------------------------------------------+

Which user account is running Apache web server [www-data] ?
OK, Apache is running under user account www-data ;-)


+----------------------------------------------------------+
| Checking for Apache group...                                                  |
+----------------------------------------------------------+

Which user group is running Apache web server [www-data] ?
OK, Apache is running under users group www-data ;-)


+----------------------------------------------------------+
| Checking for Apache Include configuration directory...   |
+----------------------------------------------------------+

Setup found Apache Include configuration directory in
/etc/apache2/conf-available.
Setup will put OCS Inventory NG Apache configuration in this directory.
Where is Apache Include configuration directory [/etc/apache2/conf-available] ?
OK, Apache Include configuration directory /etc/apache2/conf-available found ;-)


+----------------------------------------------------------+
| Checking for PERL Interpreter...                                              |
+----------------------------------------------------------+

Found PERL interpreter at </usr/bin/perl> ;-)
Where is PERL interpreter binary [/usr/bin/perl] ?
OK, using PERL interpreter /usr/bin/perl ;-)


Do you wish to setup Communication server on this computer ([y]/n)?


+----------------------------------------------------------+
|             Checking for Make utility...                 |
+----------------------------------------------------------+

OK, Make utility found at </usr/bin/make> ;-)

+----------------------------------------------------------+
|        Checking for Apache mod_perl version...           |
+----------------------------------------------------------+

Checking for Apache mod_perl version 1.99_22 or higher
Found that mod_perl version 1.99_22 or higher is available.
OK, Apache is using mod_perl version 1.99_22 or higher ;-)

+----------------------------------------------------------+
|    Checking for Communication server log directory...    |
+----------------------------------------------------------+

Communication server can create detailed logs. This logs can be enabled
by setting integer value of LOGLEVEL to 1 in Administration console
menu Configuration.
Where to put Communication server log directory [/var/log/ocsinventory-server] ?

+----------------------------------------------------------------------------+
|    Checking for Communication server plugins configuration directory...    |
+----------------------------------------------------------------------------+

Communication server need a directory for plugins configuration files.
Where to put Communication server plugins configuration files [/etc/ocsinventory-server/plugins] ?
OK, Communication server will put plugins configuration files into directory /etc/ocsinventory-server/plugins ;-)

+-------------------------------------------------------------------+
|   Checking for Communication server plugins perl directory...     |
+-------------------------------------------------------------------+

Communication server need a directory for plugins Perl modules files.
Where to put Communication server plugins Perl modules files [/etc/ocsinventory-server/perl] ?
OK, Communication server will put plugins Perl modules files into directory /etc/ocsinventory-server/perl ;-)


+----------------------------------------------------------+
| Checking for required Perl Modules...                                 |
+----------------------------------------------------------+

Checking for DBI PERL module...
Found that PERL module DBI is available.
Checking for Apache::DBI PERL module...
Found that PERL module Apache::DBI is available.
Checking for DBD::mysql PERL module...
Found that PERL module DBD::mysql is available.
Checking for Compress::Zlib PERL module...
Found that PERL module Compress::Zlib is available.
Checking for XML::Simple PERL module...
Found that PERL module XML::Simple is available.
Checking for Net::IP PERL module...
Found that PERL module Net::IP is available.
Checking for SOAP::Lite Perl module...
Found that PERL module SOAP::Lite is available.
Checking for Archive::Zip Perl module...
Found that PERL module Archive::Zip is available.

+----------------------------------------------------------+
|         Checking for optional Perl Modules...            |
+----------------------------------------------------------+

Checking for Apache2::SOAP PERL module...
Found that PERL module SOAP::Apache2 is available.
Checking for XML::Entities PERL module...
Found that PERL module XML::Entities is available.


Do you wish to setup Rest API server on this computer ([y]/n)?

+----------------------------------------------------------+
| Checking for REST API Dependencies ...                         |
+----------------------------------------------------------+

Found that PERL module Mojolicious::Lite is available.
Found that PERL module Switch is available.
Found that PERL module Plack::Handler is available.

+----------------------------------------------------------+
| Configuring REST API Server files ...                          |
+----------------------------------------------------------+

Where do you want the API code to be store [/usr/local/share/perl/5.20.2] ?
Copying files to /usr/local/share/perl/5.20.2

+----------------------------------------------------------+
| Configuring REST API Server configuration files ...            |
+----------------------------------------------------------+


+----------------------------------------------------------+
|                 OK, looks good ;-)                       |
|                                                          |
|     Configuring Communication server Perl modules...     |
+----------------------------------------------------------+

Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Apache::Ocsinventory
Writing MYMETA.yml and MYMETA.json

+----------------------------------------------------------+
|                 OK, looks good ;-)                       |
|                                                          |
|      Preparing Communication server Perl modules...      |
+----------------------------------------------------------+


+----------------------------------------------------------+
|                 OK, prepare finshed ;-)                  |
|                                                          |
|     Installing Communication server Perl modules...      |
+----------------------------------------------------------+


+----------------------------------------------------------+
| OK, Communication server Perl modules install finished;-)|
|                                                          |
|     Creating Communication server log directory...       |
+----------------------------------------------------------+

Creating Communication server log directory /var/log/ocsinventory-server.

Fixing Communication server log directory files permissions.
Configuring logrotate for Communication server.
Removing old communication server logrotate file /etc/logrotate.d/ocsinventory-NG
Writing communication server logrotate to file /etc/logrotate.d/ocsinventory-server


+----------------------------------------------------------------------+
|        OK, Communication server log directory created ;-)            |
|                                                                      |
|   Creating Communication server plugins configuration directory...   |
+----------------------------------------------------------------------+

Creating Communication server plugins configuration directory /etc/ocsinventory-server/plugins.


+----------------------------------------------------------------------+
| OK, Communication server plugins configuration directory created ;-) |
|                                                                      |
|        Creating Communication server plugins Perl directory...       |
+----------------------------------------------------------------------+

Creating Communication server plugins Perl directory /etc/ocsinventory-server/perl.


+----------------------------------------------------------------------+
|     OK, Communication server plugins Perl directory created ;-)      |
|                                                                      |
|               Now configuring Apache web server...                   |
+----------------------------------------------------------------------+

To ensure Apache loads mod_perl before OCS Inventory NG Communication Server,
Setup can name Communication Server Apache configuration file
'z-ocsinventory-server.conf' instead of 'ocsinventory-server.conf'.
Do you allow Setup renaming Communication Server Apache configuration file
to 'z-ocsinventory-server.conf' ([y]/n) ?
OK, using 'z-ocsinventory-server.conf' as Communication Server Apache configuration file
Removing old communication server configuration to file /etc/apache2/conf-available/ocsinventory.conf
Writing communication server configuration to file /etc/apache2/conf-available/z-ocsinventory-server.conf

+----------------------------------------------------------------------+
|       OK, Communication server setup successfully finished ;-)       |
|                                                                      |
| Please, review /etc/apache2/conf-available/z-ocsinventory-server.conf |
|         to ensure all is good. Then restart Apache daemon.           |
+----------------------------------------------------------------------+


Do you wish to setup Administration Server (Web Administration Console)
on this computer ([y]/n)?

+----------------------------------------------------------+
|    Checking for Administration Server directories...     |
+----------------------------------------------------------+

CAUTION: Setup now install files in accordance with Filesystem Hierarchy
Standard. So, no file is installed under Apache root document directory
(Refer to Apache configuration files to locate it).
If you're upgrading from OCS Inventory NG Server 1.01 and previous, YOU
MUST REMOVE (or move) directories 'ocsreports' and 'download' from Apache
root document directory.
If you choose to move directory, YOU MUST MOVE 'download' directory to
Administration Server writable/cache directory (by default
/var/lib/ocsinventory-reports), especially if you use deployment feature.

Do you wish to continue ([y]/n)?
Assuming directories 'ocsreports' and 'download' removed from
Apache root document directory.

Where to copy Administration Server static files for PHP Web Console
[/usr/share/ocsinventory-reports] ?
OK, using directory /usr/share/ocsinventory-reports to install static files ;-)

Where to create writable/cache directories for deployment packages,
administration console logs, IPDiscover and SNMP [/var/lib/ocsinventory-reports] ?
OK, writable/cache directory is /var/lib/ocsinventory-reports ;-)


+----------------------------------------------------------+
|         Checking for required Perl Modules...            |
+----------------------------------------------------------+

Checking for DBI PERL module...
Found that PERL module DBI is available.
Checking for DBD::mysql PERL module...
Found that PERL module DBD::mysql is available.
Checking for XML::Simple PERL module...
Found that PERL module XML::Simple is available.
Checking for Net::IP PERL module...
Found that PERL module Net::IP is available.

+----------------------------------------------------------+
|      Installing files for Administration server...       |
+----------------------------------------------------------+

Creating PHP directory /usr/share/ocsinventory-reports/ocsreports.
Copying PHP files to /usr/share/ocsinventory-reports/ocsreports.
Fixing permissions on directory /usr/share/ocsinventory-reports/ocsreports.
Creating database configuration file /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php.
Creating IPDiscover directory /var/lib/ocsinventory-reports/ipd.
Fixing permissions on directory /var/lib/ocsinventory-reports/ipd.
Creating packages directory /var/lib/ocsinventory-reports/download.
Fixing permissions on directory /var/lib/ocsinventory-reports/download.
Creating snmp mibs directory /var/lib/ocsinventory-reports/snmp.
Fixing permissions on directory /var/lib/ocsinventory-reports/snmp.
Creating Administration server log files directory /var/lib/ocsinventory-reports/logs.
Fixing permissions on directory /var/lib/ocsinventory-reports/logs.
Creating Administration server scripts log files directory /var/lib/ocsinventory-reports/scripts.
Fixing permissions on directory /var/lib/ocsinventory-reports/scripts.
Configuring IPDISCOVER-UTIL Perl script.
Installing IPDISCOVER-UTIL Perl script.
Fixing permissions on IPDISCOVER-UTIL Perl script.
Writing Administration server configuration to file /etc/apache2/conf-available/ocsinventory-reports.conf

+----------------------------------------------------------------------+
|        OK, Administration server installation finished ;-)           |
|                                                                      |
| Please, review /etc/apache2/conf-available/ocsinventory-reports.conf
|          to ensure all is good and restart Apache daemon.            |
|                                                                      |
| Then, point your browser to http://server//ocsreports
|        to configure database server and create/update schema.        |
+----------------------------------------------------------------------+


Setup has created a log file /home/chacho/OCSNG_UNIX_SERVER_2.7/ocs_server_setup.log. Please, save this file.
If you encounter error while running OCS Inventory NG Management server,
we can ask you to show us its content !

DON'T FORGET TO RESTART APACHE DAEMON !

Enjoy OCS Inventory NG ;-)

Salimos del directorio de instalación:

$ cd ..

Y podemos eliminarlo sin problema:

~$ sudo rm -rf OCSNG_UNIX_SERVER_2.7

Debemos editar la configuración de OCS Inventory NG Server para que pueda conectar con la base de datos:

~$ sudo nano /etc/apache2/conf-available/z-ocsinventory-server.conf

Y buscamos esta línea:

...
  PerlSetVar OCS_DB_PWD ocs
...

Cambiamos el valor por defecto por la contraseña tal como la creamos en pasos anteriores:

...
  PerlSetVar OCS_DB_PWD XXXXXXXX
...

Guardamos los cambios, cerramos el archivo y activamos esta y otras configuraciones de Apache que ha preparado el instalador:

~$ sudo a2enconf ocsinventory-reports z-ocsinventory-server zz-ocsinventory-restapi

Y recargamos la configuración de Apache para aplicar todos estos ajustes:

~$ sudo systemctl reload apache2

También es importante que OCS Inventory pueda escribir en /var/lib/ocsinventory-reports/, cosa que conseguiremos cambiando el propiertario de esta carpeta al usuario con el que corre el servicio web en Debian 8:

~$ sudo chown www-data /var/lib/ocsinventory-reports/

Instalador web

El último paso de la instalación corre a cargo del instalador web, que lanzaremos desde un navegador añadiendo la ruta /ocsreports a la dirección IP, nombre DNS o dominio del servidor.

Por ejemplo, el servidor Debian 8 Jessie sobre el que realizamos este artículo es accesible en el subdominio debian8.local.lan, así que podemos utilizar http://debian8.local.lan/ocsreports como URL.

como instalar ocs inventory ng server en debian 8 jessie

La página inicial nos mostrará el formulario de conexión al servicio de bases de datos, donde cumplimentaremos usuario, contraseña y base de datos.

En unos instantes se completa el proceso de instalación:

instalar ocs inventory ng server en debian 8 jessie

Se nos recuerda que el usuario por defecto es admin, y su contraseña también es admin.

Continuamos para acceder a la aplicación siguiendo el enlace «Click here to enter OCS-NG GUI«, pero encontraremos que existe una actualización de la base de datos:

instalacion de ocs inventory ng server en debian 8 jessie

Aplicaremos esta actualización siguiendo el enlace «Perform the update» y en unos instantes se nos volverá a mostrar el enlace para iniciar la sesión:

instalador de ocs inventory ng server para debian 8 jessie

Ahora sí se nos mostrará la página de inicio de sesión de OCS Inventory NG Server en Debian 8 Jessie:

Seleccionamos el idioma de la aplicación e introducimos usuario y contraseña por defecto (admin/admin), pero antes de acceder por seguridad sería buena idea borrar el instalador:

~$ sudo rm /usr/share/ocsinventory-reports/ocsreports/install.php

Y por fin accedemos a la página principal:

ocs inventory ng server en debian 8 jessie

La aplicación queda a la espera de recibir conexiones desde máquinas remotas que se configuren para conectar con OCS Inventory NG Server en esta máquina Debian 8 Jessie.

No olvides cambiar cuanto antes la contraseña del usuario administrador, tarea que puedes realizar desde la opción «MI CUENTA» que aparece en el menú del icono con forma de engranaje.

Se mostrará un formulario donde además de la contraseña puedes cambiar otros datos sobre el usuario:

ocsinventory ng server en debian 8 jessie

Los cambios se aplican al pulsar «OK«.

Conclusión

Ahora que sabes cómo instalar OCS Inventory NG Server en Debian 8 Jessie podrás aprovechar tu viejo servidor para monitorizar otros sistemas en red, utilizando una de las más afamadas suites de monitorización.

En caso de que te hayan surgido dudas, preguntas, tengas sugerencias de mejora o actualización del artículo, o quieras proponer correcciones o notificaciones de errores, puedes dejar un comentario.

Ah, y si esta breve guía de instalación de OCS Inventory NG Server en Debian 8 Jessie ha cubierto tus expectativas, puedes invitarme a un café si te apetece:

 

O también puedes dejar 1 $ de propina a través de PayPal:

¡Gracias!

 

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando...

Deja una respuesta