El siguiente error se puede presentar al ejecutar ocsinventory-agent desde un cliente contra el servidor de OCS:
# ocsinventory-agent [error] Cannot establish communication : 500 Internal Server Error
Si la petición desde el cliente se lanza en modo debug, en los logs de Apache en el servidor de OCS se genera el siguiente error:
[Wed May 22 09:37:07.722434 2019] [perl:error] [pid 22158] [client 10.11.3.61:54396] Can't call method "rollback" on an undefined value at /usr/local/share/perl5/Apache/Ocsinventory/Server/System.pm line 282.\n
Can’t call method «rollback» on an undefined value at /usr/local/share/perl5/Apache/Ocsinventory/Server/System.pm
Si el error tiene lugar tras actualizar OCS Inventory, confirmad que no se han sobreescrito la configuración de acceso a MySQL tanto en el fichero global de configuración de base de datos de ocs inventory reports dbconfig.inc.php
como en el archivo de configuración de apache z-ocsinventory-server.conf
:
# vim /etc/httpd/conf.d/z-ocsinventory-server.conf # vim /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php
Es probable que ahí aparezcan los datos por defecto de usuario/contraseña de acceso a MySQL:
Verificadlo. Si están mal, basta con corregirlo y reiniciar Apache para que el funcionamiento vuelva a ser el correcto. Ejemplo del archivo de Apache:
# 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 ocs # Password for user PerlSetVar OCS_DB_PWD ocs