En este artículo veremos cómo instalar OCS Inventory NG Server en Ubuntu 20.04 LTS Focal Fossa, el conocido OCS Reports, de modo que puedas monitorizar otras máquinas y sistemas desde tu servidor o VPS Ubuntu.
Contenido
Antes de instalar OCS Inventory NG Server en Ubuntu 20.04 LTS Focal Fossa
Si quieres completar esta guía de instalación de OCS Inventory NG Server en Ubuntu 20.04 LTS Focal Fossa necesitas satisfacer una serie de requerimientos mínimos:
- Una máquina Ubuntu 20.04 LTS Focal Fossa actualizada.
- Una pila o entorno tipo LAMP (servicio web Apache con PHP y bases de datos MariaDB/MySQL).
- Acceso a línea de comandos con un usuario con permisos de sudo.
- Conexión a Internet.
En caso de no disponer todavía del entorno necesario, no dejes de consultar nuestra guía de instalación de la pila LAMP en Ubuntu 20.04 LTS.
Cómo descargar OCS Inventory NG Server para Ubuntu 20.04 LTS
Vamos a descargar OCS Inventory NG Server para Ubuntu 20.04 LTS Focal Fossa desde el sitio oficial de desarrollo de la aplicación, donde podremos encontrar la última versión estable:
Encontraremos el paquete en formato .tar.gz que podremos descargar directamente desde el navegador, aunque en este artículo realizaremos la descarga desde consola con el comando wget:
~$ wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.11.1/OCSNG_UNIX_SERVER-2.11.1.tar.gz
Cómo instalar OCS Inventory NG Server en Ubuntu 20.04 LTS
Para instalar OCS Inventory NG Server en Ubuntu 20.04 LTS es necesario realizar una serie de preparativos del sistema, de modo que tanto el script de consola como el instalador web no encuentren problemas durante su ejecución. Veamos detenidamente el proceso.
Dependencias
Vamos a instalar requerimientos y dependencias de OCS Inventory NG Server en su mayoría desde los repositorios de Ubuntu 20.04 LTS, por lo que actualizamos las listas de paquetes:
~$ sudo apt update
E instalamos:
~$ sudo apt install -y libapache-dbi-perl libapache2-mod-perl2 libarchive-zip-perl libdbd-mysql-perl libmojolicious-perl libnet-ip-perl libplack-perl libswitch-perl libxml-simple-perl make
Hay un módulo de Perl que se necesita pero no está disponible en forma de paquete, aunque afortunadamente lo podemos compilar con la herramienta cpan:
~$ sudo cpan -i XML::Entities
La primera vez que se usa esta herramienta nos pregunta si queremos que funcione de forma automática tanto como sea posible:
... Would you like to configure as much as possible automatically? [yes]
Es buena idea contestar afirmativamente.
También necesitaremos algunas extensiones de PHP que instalaremos igualmente con apt.
Si usamos la versión de PHP nativa de Ubuntu 20.04 o la versión por defecto de un repositorio alternativo, indicaremos los nombres de los paquetes sin número de versión:
~$ sudo apt install -y php-{curl,gd,mbstring,xml}
Pero si usamos una versión del repositorio alternativo habrá que indicar el número de versión en el nombre de los paquetes. Por ejemplo, para PHP 7.4:
~$ sudo apt install -y php7.4-{curl,gd,mbstring,xml}
O para la versión 8.0:
~$ sudo apt install -y php8.0-{curl,gd,mbstring,xml}
Base de datos
OCS Inventory NG Server trabaja en Ubuntu 20.04 LTS sobre una base de datos MariaDB/MySQL que prepararemos a continuación, conectando al servicio con el cliente de consola mysql y un usuario administrador:
~$ mysql -u root -p
Creamos la base de datos:
> create database ocsweb;
Si usamos MariaDB o MySQL 5.x creamos el usuario como de costumbre:
> create user ocs@localhost identified by 'XXXXXXXX';
Pero si usamos MySQL 8 conviene especificar el plugin de autenticación compatible:
> create user ocs@localhost identified with mysql_native_password by 'XXXXXXXX';
Concedemos los permisos necesarios al usuario sobre la base:
> grant all privileges on ocsweb.* to ocs@localhost;
Y cerramos la conexión:
> exit
Instalación
Descomprimimos el archivo de OCS Inventory NG que descargamos anteriormente:
~$ tar xf OCSNG_UNIX_SERVER-2.11.1.tar.gz
Cambiamos el directorio de trabajo al subdirectorio que se acaba de crear:
~$ cd OCSNG_UNIX_SERVER-2.11.1/
Y ejecutamos el script de instalación con permisos administrativos:
$ sudo ./setup.sh
Este script realiza muchas comprobaciones y operaciones, pero básicamente podemos contestar a todo con las respuestas por defecto (usando la tecla intro sin introducir datos). Los preparativos anteriores nos garantizan que dispondremos de todo lo necesario y no deberían producirse errores:
+----------------------------------------------------------+ | | | 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.11.1 Storing log in file /home/chacho/OCSNG_UNIX_SERVER-2.11.1/ocs_server_setup.log +----------------------------------------------------------+ | Checking for database server properties... | +----------------------------------------------------------+ Your MySQL client seems to be part of MySQL version 10.3. 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] ? OK, Communication server will put logs into 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 Archive::Zip Perl module... Found that PERL module Archive::Zip 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.30.0] ? Copying files to /usr/local/share/perl/5.30.0 +----------------------------------------------------------+ | 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 temporary files directory /var/lib/ocsinventory-reports/tmp_dir. Fixing permissions on directory /var/lib/ocsinventory-reports/tmp_dir. 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.11.1/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 ;-)
Este proceso de instalación, entre otras cosas, ha creado ciertas configuraciones de Apache que debemos ajustar y activar.
Ya podemos salir del subdirectorio:
$ cd ..
Y eliminarlo:
~$ sudo rm -rf OCSNG_UNIX_SERVER-2.11.1
Editaremos el archivo de OCS Inventory NG Server:
~$ sudo nano /etc/apache2/conf-available/z-ocsinventory-server.conf
Hemos creado anteriormente la base de datos y el usuario con los nombres por defecto que usa OCS Inventory, pero la contraseña por seguridad es nueva, así que buscaremos la siguiente directiva PerlSetVar para actualizarla:
... # Password for user PerlSetVar OCS_DB_PWD ocs ...
Y la cambiamos:
... PerlSetVar OCS_DB_PWD XXXXXXXX ...
Guardamos los cambios y editamos también el archivo para la configuración de la API REST:
~$ sudo nano /etc/apache2/conf-available/zz-ocsinventory-restapi.conf
Buscamos la siguiente línea:
... $ENV{OCS_DB_PWD} = 'ocs'; ...
Y cambiamos el valor de la contraseña del mismo modo:
... $ENV{OCS_DB_PWD} = 'XXXXXXXX'; ...
Guardamos y cerramos el archivo y activamos estas configuraciones en Apache:
~$ sudo a2enconf ocsinventory-reports z-ocsinventory-server zz-ocsinventory-restapi
Finalmente, reiniciamos el servicio web para aplicar las nuevas configuraciones:
~$ sudo systemctl restart apache2
OCS Inventory también debe poder escribir en el directorio /var/lib/ocsinventory-reports, por lo que concederemos la propiedad de este directorio al usuario con el que corre el servicio web en Ubuntu 20.04 LTS:
~$ sudo chown www-data /var/lib/ocsinventory-reports/
Cómo acceder a OCS Inventory NG Server en Ubuntu 20.04 LTS
Ya podemos acceder a OCS Inventory NG Server en Ubuntu 20.04 LTS desde un navegador, para lo que añadiremos la ruta /ocsreports a la dirección IP, nombre DNS, dominio o localhost (si trabajamos localmente).
Por ejemplo, la máquina Ubuntu 20.04 LTS sobre la que realizamos este artículo es accesible en el subdominio ubuntu2004.local.lan, por lo que empleamos http://ubuntu2004.local.lan/ocsreports como URL.
Al ser la primera vez que accedemos, se ejecutará el instalador web de OCS Inventory NG:
Indicamos la información de la conexión a la base de datos, tal como la creamos en pasos anteriores y continuamos.
El instalador realiza su trabajo y nos avisa de que las credenciales por defecto del usuario administrador son admin/admin:
Dependiendo de la versión que estemos instalando es posible que sea necesario aplicar una actualización a la base de datos. Si es el caso la aplicaremos para poder continuar.
Accedemos a la página de inicio de sesión, donde elegiremos el idioma de OCS Reports:
Pero antes de iniciar sesión, borraremos el instalador web por motivos de seguridad, ya que si no lo hacemos un molesto aviso nos lo recordará constatemente en la aplicación. Esto lo haremos desde consola:
~$ sudo rm /usr/share/ocsinventory-reports/ocsreports/install.php
Recuerda que debemos introducir admin como usuario y como contraseña por defecto.
Tras iniciar sesión aparece la página principal de OCS Reports:
Es importante aprovechar la ocasión para cambiar la clave por defecto del administrador, lo que haremos accediendo al menú que ofrece el icono con forma de engranaje y accediendo a la opción «MI CUENTA«. En el último campo del formulario que se muestra podremos escribir la nueva contraseña:
Podríamos aprovechar para cambiar otros datos del administrador pero, en cualquier caso, al terminar con los cambiamos pulsaremos «OK» para actualizar la información.
Y ya tenemos listo OCS Inventory NG Server y OCS Reports listos para recibir y mostrar información de los clientes que conecten con el servicio.
Post-Instalación
A partir de la versión 2.9 el dato general de software instalado, mostrado en el panel principal o en «Inventario / Todos los programas» no se calcula por defecto. Si queremos tener disponible este dato podemos crear una tarea programada del servicio Cron de Ubuntu 20.04 para OCS Inventory:
~$ sudo nano /etc/cron.d/ocsinventory
El contenido será una línea como la siguiente:
0 0 * * * www-data cd /usr/share/ocsinventory-reports/ocsreports/crontab/ && /usr/bin/php cron_all_software.php
Esta configuración indica que a las 0:00 horas de cada día se actualice el total de software registrado en el servidor. Por supuesto, puedes cambiar la hora a otra que te interese o programar la tarea para que se ejecute cada tantos minutos o cada tantas horas.
Una vez guardado el archivo la tarea queda lista para su ejecución en el intervalo u hora programada.
Conclusión
Ahora que sabes cómo instalar OCS Inventory NG Server en Ubuntu 20.04 LTS Focal Fossa ya puedes usar este servicio para monitorizar y administrar tus sistemas en red de forma sencilla gracias a la potencia de esta aplicación web.
Si tienes dudas, preguntas, sugerencias de mejor del artículo, crees que hay que actualizarlo o quieres notificar algún error, puedes dejar un comentario que revisaremos lo antes posible.
¡Apoya comoinstalar.me!
¿Ya puedes monitorizar tus dispositivos en red gracias a nuestra guía de instalación de OCS Inventory NG Server en Ubuntu 20.04 LTS? Si es así y quieres agradecérnoslo, podrías colaborar con el mantenimiento de este sitio y la creación de nuevos artículos y guías dejando una propina a partir de 1 $ para una Coca Cola desde PayPal:
O, si te sientes especialmente agradecido, invitándonos a un café:
¡Gracias!
Actualizado a la versión 2.11.1.
Hola, hice todo y al tratar de acceder a la página inicial de la consola me aparece:
Please install php mbstring extension
Ya lo instalé, pero sigue diciendo lo mismo.
Ayuda, por favor.
Hola, Crispín. Hay que tener en cuenta qué versión de PHP existe en tu sistema y qué versión de mbstring has instalado (deben coincidir). Además, hay que recargar la configuración del servicio web (o reiniciarlo) tras la instalación de la extensión. No debería haber problemas, ya que acabdo de comprobar el tutorial sobre Ubuntu 20.04 LTS para OCS Inventory Server 2.11.1.
Actualizado a la versión 2.10.0.
Actualizado a la versión 2.9.2.
Excelente herramienta y muy buen tutorial. Tengo un inconveniente y es que no logro que el agente acceda por la IP pública. ¿Es alguna configuración adicional?
¡Hola, Jairo! Si el servidor OCS está tras un router, firewall, etc. habría que comprobar que el puerto para el servicio web está adecuadamente redirigido, abierto, etc. Si el servidor está directamente expuesto a Internet habría que asegurarse de que el firewall deja pasar las peticiones web y que el servicio web atiende conexiones en la interfaz de red de la dirección IP pública.
Hola. De veras que es una maravilla este proceso de instalación. Todo ha pinchado bien, pero tengo una preguntica. El OCS Inventory hace un inventario perfecto de todo lo que tiene la PC, pero, ¿cómo sé si hay cambios de un inventario a otro en la misma PC?
Muchas gracias por este how-to, es muy útil realmente.
De nada, ¡por eso lo hicimos!
Hola, buenos días, muy buen tutorial. Lo que me sucede a mí es que me aparece la página en blanco, no me tira error, solo en blanco y no me ejecuta el ocsreports.
¡Hola, Jose! En realidad sí se trata de un error, pero en lugar de visualizarlo en el navegador tienes que buscarlo en el registro de errores del servicio web.
Hola maestro, disculpe que lo moleste. Tengo un problema, y recién me doy cuenta. En la parte donde dice software no me aparece la cantidad, siempre figura como 0, en máquina, Windows y sistema operativo no tengo problemas. Quedo atento a sus comentarios.
El funcionamiento de ese contador cambió recientemente. Acabo de actualizar el tutorial de modo que ahora sí se actualiza la cantidad.
Joder, vaya crack. ¡Todo a la perfección!
¡Al próximo café te invito yo!
El propósito de estas guías es precisamente que el proceso de instalación fluya sin obstáculos, en la medida de lo posible. ¡Y gracias por el café!
Me arroja estos errores cuando intento ejecutar ocsreports:
Warning: Undefined array key «HTTP_REFERER» in /usr/share/ocsinventory-reports/ocsreports/require/header.php on line 39
Warning: Undefined array key «OCS» in /usr/share/ocsinventory-reports/ocsreports/require/header.php on line 43
Warning: Trying to access array offset on value of type null in /usr/share/ocsinventory-reports/ocsreports/require/header.php on line 43
Deprecated: Required parameter $list_col_cant_del follows optional parameter $option in /usr/share/ocsinventory-reports/ocsreports/require/function_table_html.php on line 131
Warning: Undefined array key «RELOAD_CONF» in /usr/share/ocsinventory-reports/ocsreports/require/header.php on line 64
Warning: Undefined array key «OCS» in /usr/share/ocsinventory-reports/ocsreports/require/function_commun.php on line 37
Warning: Trying to access array offset on value of type null in /usr/share/ocsinventory-reports/ocsreports/require/function_commun.php on line 37
Warning: Undefined array key «OCS» in /usr/share/ocsinventory-reports/ocsreports/require/function_commun.php on line 67
Warning: Trying to access array offset on value of type null in /usr/share/ocsinventory-reports/ocsreports/require/function_commun.php on line 67
Fatal error: Uncaught TypeError: mysqli_real_escape_string(): Argument #1 ($mysql) must be of type mysqli, null given in /usr/share/ocsinventory-reports/ocsreports/require/function_commun.php:67 Stack trace: #0 /usr/share/ocsinventory-reports/ocsreports/require/function_commun.php(67): mysqli_real_escape_string() #1 /usr/share/ocsinventory-reports/ocsreports/require/function_commun.php(85): generate_secure_sql() #2 /usr/share/ocsinventory-reports/ocsreports/require/function_commun.php(37): mysql2_query_secure() #3 /usr/share/ocsinventory-reports/ocsreports/require/function_commun.php(346): look_config_default_values() #4 /usr/share/ocsinventory-reports/ocsreports/install.php(30): html_header() #5 /usr/share/ocsinventory-reports/ocsreports/require/header.php(92): require(‘…’) #6 /usr/share/ocsinventory-reports/ocsreports/index.php(44): require(‘…’) #7 {main} thrown in /usr/share/ocsinventory-reports/ocsreports/require/function_commun.php on line 67
¡Hola, Jose! Hasta donde tengo entendido OCS Inventory aún no trabaja sobre PHP 8.0.
Buenas,
Siguiendo los pasos uno por uno no funciona. Hay algo que se escapa en el manual. Da el mismo error que los mensajes anteriores. En mi caso uso Ubuntu también pero con PHP 8.0.1 y es imposible instalarlo.
Hace unos meses seguí este mismo manual y funcionaba, pero ahora algo falta o se ha saltado. Lo he repetido más de 4 veces y siempre sale el mismo error. Salta un error 500 al intentar acceder por la IP. Las variables del fichero de configuración de OCS salen vacías.
Hola, Eneko. Los comentarios anteriores hacen referencia a otros problemas que están resueltos. En cuanto al tuyo creo que radica en que OCS Inventory tiene compatibilidad de PHP a partir de la versión 5.5, pero debido a los cambios que introduce la versión 8.0 a día de hoy no es compatible. De hecho, no he leído en ningún sitio que sea expresamente compatible con la última versión del lenguaje.
Lo instalé usando PHP 8.0 al inicio y no me funcionó, me apareció el mismo error 500 al entrar a la página /ocsreport , probé después con la versión 7.4 de PHP y seguí los pasos sólo cambiando lo necesario para esa versión. Me arroja el mismo error 500.
Hola, Ángel. Puede que aunque hayas instalado la versión 7.4 el servicio web siga funcionando el módulo de la 8.0, por lo que te sugiero que eches un vistazo rápido a nuestra guía de instalación de la pila LAMP en Ubuntu 20.04 para comprobar sobre qué versión corre realmente OCS Reports. De todas formas, puedes obtener mayor información sobre ese error 500 revisando el registro de errores del servicio web.
Hola, instalé en base al tutorial pero me arrojó unos warnings.
¿Pueden afectar el funcionar del OCS?
De antemano muchas gracias.
¡Hola, Iván! En principio es normal y se debe a la versión de PHP usada. A mí también me sucede, pero para desarrollar el tutorial oculté la muestra de mensajes en php.ini.
Oh, vaya, imaginé que por ahí iba el asunto; ya que en sí no me ha arrojado problemas.
Gracias por la pronta respuesta.
Hola. Sigue estos pasos, por favor.
Tienes que borrarlo o renombrar el archivo de nombre ‘install.php’, así que decido cambiarle el nombre, si quieren borrarlo no hay problema.
~$ cd /usr/share/ocsinventory-reports/ocsreports
$ mv install.php old-install.php
Ahora refrescamos nuestro navegador y debe desaparecer ese WARNING.