Instalação do OCSINVENTORY no Ubuntu Server

Iniciado por Rui_Guimaraes, 26 de Junho de 2015, 16:21

tópico anterior - próximo tópico

Rui_Guimaraes

Amigos estou lutando para instalar, configurar e conseguir que o OCSInventary faça o inventário da minha rede.
Tentei seguir vários tutoriais, nenhum da certo, todos dão problema. Seja na versão, na instalação dos pacotes relacionados ou na identificação dos parâmetros de instalação relarionados ao Apache.
Consegui instalar via Ubuntu Softwea Center, não sou fã, pois muito dos procedimentos ficam transparentes para mim, mesmo assim, não consigo fazer o Agente publicar o conteúdo do inventario no server. Estou usando o Ubuntu Server 14.04 LTS.  Se alguém tiver um tutorial que de certo por favor me informe.

Dá erro: ERROR *** AGENT => Failed to send Prolog <HTTP Status Code #407> , na geração do xml.


Grato.

zekkerj

"HTTP Status Code #407" significa "Proxy Authentication Required". O programa precisou se comunicar com algum destino via HTTP, mas no meio do caminho há um proxy que exige autenticação.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Rui_Guimaraes

Tinha pensado nisso, mais no  C:\ProgramData\OCS Inventory NG\Agent, conta a informação do login e da senha:

ocsinventory.ini

[OCS Inventory Agent]
ComProvider=ComHTTP.dll
Debug=0
Local=
NoSoftware=0
HKCU=0
NoTAG=0
IpDisc=
[HTTP]
Server=http://192.168.0.71/ocsinventory
SSL=1
CaBundle=cacert.pem
AuthRequired=0
User=
Pwd=
ProxyType=1
Proxy=192.168.0.254
ProxyPort=3128
ProxyAuthRequired=1
ProxyUser=08fYvNd0E37LY5+ahCLhIw==|||nu9Vr6p7R7eZ2jGtU3jZUQ==
ProxyPwd=ouWrFWPFvOztDPLm8gseJA==|||VOnNJ7BCNfOJos2yavir5A==
[OCS Inventory Service]
TTO_WAIT=2340

Estou usando uma versão OCSNG-Windows-Agent-2.0.5 do agente, a versão mais recente (OCSNG-Windows-Agent-2.1.1) não grava os parâmetros do prooxy.

Você tem um tutorial recente da instalação do OCSInventory? Os que eu encontro no net, parecem que usam uma versão antiga, principalmente na parte de path do apache2.

Grato pela atenção, já estou quase duas semanas nessa luta, já tentei até usar o CentoOS 7, mais dá o mesmo problema. Estou querendo integrar com o GLPI, que consegui instalar sem problemas; mais o OCSInventory esta me dando um baile.

Agradeço toda ajuda. ;D

OBS: Eu estou usando como servidor o UbuntuServer 14.04 lts 64 bits, virtualizado no virtualbox, consegui instalar o ocsinventory via Central de Programas do Ubuntu, os tutoriais todos davam problemas quando chegavam na informação dos caminhos do apache. Mesmo instalando, mencionavam arquivos de configuração inesistentes, z-ocsinventory-server.conf, que não encontrei.


zekkerj

Bem, tente sniffar a comunicação entre cliente, servidor e proxy, pra confirmar o que ocorre. Principalmente, determinar quem obriga o seu tráfego local a passar pelo proxy, pq se for o caso, vc pode colocar esse site como exceção, permitindo o acesso direto.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Rui_Guimaraes

coloquei  para toda navegação local (192.*), não passarem pelo proxy. Fiz para essa maquina especifica onde esta instado o agente. Mais mesmo assim não vai. Não sei se isso é sniffar.  :)
O agente não consegui fazer o inventario da própria máquina local onde ele esta instalado.
No servidor, no access.log (/var/log/apache2/access.log), é registrado toda vez que eu chamo o agente da máquina cliente: http://snag.gy/xmde2.jpg , ou seja, a máquina do agente enxerga e criar log no servidor Ubuntu. Quando o agente manda leituras vazias ele cria algum registro? Qual a tabela onde eu vejo se há algum registro?
Acho que é algo na minha máquina (w7), que esta bloqueando o agente. Ele deveria gerar o xml do inventário, não é? Independente se o proxy não deixa ele sair para o servidor. Onde ele guarda o xml?
Já desabilitei o firewall e o anti-virus.
A máquina virtual esta rodando dentro de um windows server 2008 r2 (192.168.0.70), que esta no domínio, mais a máquina virtual UbuntuServer (192.168.0.71) e a minha máquina windows 7 (192.168.0.210) estão fora.
Persistindo.... tem que dar certo.  :D
A parte de proxy aqui é terceirizada, tem alguma porta especifica que tenha que liberar? Li que só quando se usa o hhtps que utiliza-se a porta 8443.
Grato pela ajuda.

zekkerj

CitarO agente não consegui fazer o inventario da própria máquina local onde ele esta instalado.
Você tem algum firewall nessa máquina? Se tiver, lembre-se de liberar todo o tráfego de/para a interface loopback (lo).
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Rui_Guimaraes

No servidor Ubuntu após o comando sudo ufw status, mostrou que estava inativo.
No cliente W7 o firewall esta off.
No log do servidor:
access.log
http://snag.gy/Okrbj.jpg
error.log
http://snag.gy/Q8LTO.jpg
No error.log diz que tem um erro de conexão ao banco mais eu conferi e os parâmetros estão corretos.
connexion.php
http://snag.gy/4PiqO.jpg
http://snag.gy/noSue.jpg
http://snag.gy/DyqFt.jpg
Não entendo, os parâmetros estão corretos.

Rui_Guimaraes

Parece que é um problema de atualização da consulta referente a escape para evitar sql inject.

Rui_Guimaraes

Vou troca a conexao por:

PHP mysqli_connect() Function
PHP MySQLi Reference PHP MySQLi Reference

Example

Open a new connection to the MySQL server:

<?php
$con = mysqli_connect("localhost","my_user","my_password","my_db");

// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
?>

Depois posto no que deu.