Finalmente consegui instalar o servidor (sem erros). Após algumas horas e muita pesquisa na net lá consegui. Agora o problema é este:
Instalei o controlador de paineis no mesmo computador onde está instalado o servidor. Será que está correcto ?
Depois configurei o ficheiro server.
Noutra máquina instalei o painel, só que ao executar diz que não encontra unidades.
O que devo fazer.
Ajudem por favor.
Obrigado
Autor: Luis Durao

1111 comentários
Sim, tanto faz a maquina, pode ser na mesma ou em outra. Para configurar o Controlador de Paineis, edite o arquivo server.conf, configure a parte referende ao banco de dados(host, login e password), e depois as URLs trocando o HOST pelo host da maquina onde roda o servidor WEB, esse host precisa ser um IP de rede, pois as maquinas da rede irão usa-lo. Exemplo: Suponha que as maquinas da rede(Atendentes e etc...) acessem o painel em 192.168.0.123/sgalivre/ então a config do server.conf fica como: urlUnidades = 192.168.0.123/sgalivre/painel/get_unidades.php
[...]
urlServicos = 192.168.0.123/sgalivre/painel/get_servicos.php?id_uni=%id_unidade% Depois de configurar e executar o Controlador de Paineis você agora pode configurar um ou mais paineis de exibição de senha, para obter unidades insira o IP de REDE da máquina onde o Controlador está rodando.
Depois de alguns ajustes, consegui passar todas as etapas da configuração.
Depois do servidor instalado, fiz login na página e fui no config para criar os grupos, usuários etc.
Até aqui tudo ok. Então passei para a instalação do controlador de paineis. Coloquei numa pasta com o nome Controladorpaineis em c:\ e ao tentar correr o ficheiro controladorpaineis.sh recebo esta mensagem de erro. O que poderá ser ??? Já edit o server.conf, coloquei todos os dados como o IP da máquina, fui no rooter e libertei os ports necessários, conforme refere o anual, fui na firewall do windows e fiz o mesmo, verifiquei o postdegres e tá tudo ok.
Mas continuo a receber esta mensagem. Claro que ao instalar o painel numa outra máquina ele não está encontrando o servidor. Agradeço a ajuda por favor, pois gostaria de implementar esse sistema aqui na empresa e estou a ficar desesperado. Muito obrigado.
Luís Mensagem de erro que aparece: Exception in thread "main" java.lang.NoClassDefFoundError: br/gov/dataprev/controladorpainel/ControladorPainel
Caused by: java.lang.ClassNotFoundException: br.gov.dataprev.controladorpainel.ControladorPainel
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:264)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)
Could not find the main class: br.gov.dataprev.controladorpainel.ControladorPainel. Program will exit.
INFO: Iniciando Controlador de Paineis
1/Fev/2010 17:37:17 br.gov.dataprev.controladorpainel.ControladorPainel main
INFO: Carregando Configurações
1/Fev/2010 17:37:17 br.gov.dataprev.controladorpainel.ConfigManager <init>
INFO: Agendando primeira tarefa de limpeza para Mon Feb 01 23:50:00 GMT 2010 com repetição a cada 24 horas
1/Fev/2010 17:37:17 br.gov.dataprev.controladorpainel.ControladorPainel main
INFO: Carregando Gerenciador de Conexões SQL...
1/Fev/2010 17:37:17 com.mchange.v2.log.MLog <clinit>
INFO: MLog clients using java 1.4+ standard logging.
1/Fev/2010 17:37:17 com.mchange.v2.c3p0.C3P0Registry banner
INFO: Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true; trace: 10]
1/Fev/2010 17:37:17 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager
INFO: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ java.beans.IntrospectionException: java.lang.reflect.InvocationTargetException [numThreadsAwaitingCheckoutDefaultUser] ]
1/Fev/2010 17:37:17 br.gov.dataprev.controladorpainel.ControladorPainel main
SEVERE: Erro carregando Gerenciador de Conexões SQL
org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "192.168.1.70", user "kovukiara", database "sgalivre", SSL off
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:276)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:95)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:124)
at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:29)
at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24)
at org.postgresql.Driver.makeConnection(Driver.java:386)
at org.postgresql.Driver.connect(Driver.java:260)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:119)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:143)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:132)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.initializeAutomaticTestTable(C3P0PooledConnectionPoolManager.java:772)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.createPooledConnectionPool(C3P0PooledConnectionPoolManager.java:696)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.getPool(C3P0PooledConnectionPoolManager.java:257)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.getPool(C3P0PooledConnectionPoolManager.java:271)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
at br.gov.dataprev.controladorpainel.SQLConnectionPool.test(SQLConnectionPool.java:120)
at br.gov.dataprev.controladorpainel.ControladorPainel.main(ControladorPainel.java:63) Já agora coloco o que eu tenho no server.conf: #
#
# Copyright (C) 2009 DATAPREV - Empresa de Tecnologia e Informações da Previdência Social - Brasil
#
# Este arquivo é parte do programa SGA Livre - Sistema de Gerenciamento do Atendimento - Versão Livre
#
# O SGA é um software livre; você pode redistribuí-lo e/ou modificá-lo dentro dos termos da Licença Pública Geral GNU como
# publicada pela Fundação do Software Livre (FSF); na versão 2 da Licença, ou (na sua opnião) qualquer versão.
#
# Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer
# MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU para maiores detalhes.
#
# Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", junto com este programa, se não, escreva para a
# Fundação do Software Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# # DATAPREV 2009
# SGA Livre
# CONTROLADOR DE PAINEIS 1.0.0
# ARQUIVO DE CONFIGURAÇÃO DO CONTROLADOR DE PAINEIS
# server.conf
# # Define a classe do Driver SQL a ser usado.
# O Driver deve ser adequado ao RDMBS em uso.
# PostgreSQL -> org.postgresql.Driver
jdbcDriver = org.postgresql.Driver # Define a URL JDBC
# Exemplo: jdbc:<rdbms>://<host>/<database>
jdbcUrl = jdbc:postgresql://192.168.1.70/sgalivre # Define o usuario do SQL
jdbcUser = kovukiara # Define o password do login SQL
jdbcPass = 00001515 # URL do Servidor Web
# Define a URL que irá retornar a lista de Unidades
# Essa URL é enviada para o painel, que a utiliza para obter a lista de unidades
# Não utilizar endereço de loopback (l27.0.0.1)
urlUnidades = 192.168.1.70/sgalivre/painel/get_unidades.php # URL do Servidor Web
# Define a URL que irá retornar a lista de Serviços
# Essa URL é enviada para o painel, que a utiliza para obter a lista de serviços a partir de uma unidade
# O token %unidade_id% é substituido no cliente pela unidade selecionada
# Não utilizar endereço localhost, nem 127.0.0.1
urlServicos = 192.168.1.70/sgalivre/painel/get_servicos.php?id_uni=%id_unidade% # Intervalo de consulta (em milésimos de segundo)
# Define o intervalo de consultas SQL em busca de novas senhas
# Um intervalo muito grande aumenta o tempo de resposta e pode permitir que uma quantidade grande de senhas
# acumule, causando um pico de processamento.
# Um intervalo muito pequeno pode causar impacto na performance do banco devido ao excesso de consultas.
intervaloConsulta = 100 # Tempo limite (em segundos) que um Painel será considerado como inativo caso nao faça contato.
# Os painéis enviam sinais de vida baseados nesse intervalo.
# Um painel continua recebendo mensagens até ser dado como inativo.
timeoutPainel = 600 # Tempo limite (em segundos) que um Painel será considerado inexistente, e será removido da memória do Controlador e do Banco de Dados.
# Esta tarefa permite a liberação de recursos da maquina executando o controlador de paineis e impede o acumulo de lixo na tabela.
# Caso o Painel de Senhas na unidade esteja ativo, ou seja, iniciado antes deste tempo limite não será removido.
# padrão: 345600 segundos (96 horas)
removerPaineisIntervalo = 345600 # Horario(HH:MM:SS) no formato 24 horas em que o controlador de paineis irá executar a tarefa de limpeza de paineis inativos
# Esta tarefa passa por todos paineis e remove aqueles que estao inativos por tempo superior a <removerPaineisIntervalo>
# É altamente recomendado que esta tarefa execute em um horário de ociosidade do sistema.
removerPaineisHora = 23:50:00 Obrigado pela ajuda.
INFO: Iniciando Controlador de Paineis
21/05/2010 14:57:13 br.gov.dataprev.controladorpainel.ControladorPainel main
INFO: Carregando Configurações
21/05/2010 14:57:13 br.gov.dataprev.controladorpainel.ConfigManager <init>
INFO: Agendando primeira tarefa de limpeza para Fri May 21 20:00:00 BRT 2010 com repetição a cada 24 horas
21/05/2010 14:57:13 br.gov.dataprev.controladorpainel.ControladorPainel main
INFO: Carregando Gerenciador de Conexões SQL...
21/05/2010 14:57:13 com.mchange.v2.log.MLog <clinit>
INFO: MLog clients using java 1.4+ standard logging.
21/05/2010 14:57:13 com.mchange.v2.c3p0.C3P0Registry banner
INFO: Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true; trace: 10]
21/05/2010 14:57:13 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager
INFO: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ java.beans.IntrospectionException: java.lang.reflect.InvocationTargetException [numThreadsAwaitingCheckoutDefaultUser] ]
21/05/2010 14:57:13 br.gov.dataprev.controladorpainel.ControladorPainel main
SEVERE: Erro carregando Gerenciador de Conexões SQL
org.postgresql.util.PSQLException: Conexão negada. Verifique se o nome da máquina e a porta estão corretos e se o postmaster está aceitando conexões TCP/IP.
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:123)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:124)
at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:29)
at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24)
at org.postgresql.Driver.makeConnection(Driver.java:386)
at org.postgresql.Driver.connect(Driver.java:260)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:119)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:143)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:132)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.initializeAutomaticTestTable(C3P0PooledConnectionPoolManager.java:772)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.createPooledConnectionPool(C3P0PooledConnectionPoolManager.java:696)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.getPool(C3P0PooledConnectionPoolManager.java:257)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.getPool(C3P0PooledConnectionPoolManager.java:271)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
at br.gov.dataprev.controladorpainel.SQLConnectionPool.test(SQLConnectionPool.java:120)
at br.gov.dataprev.controladorpainel.ControladorPainel.main(ControladorPainel.java:63)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:176)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:163)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:381)
at java.net.Socket.connect(Socket.java:537)
at java.net.Socket.connect(Socket.java:487)
at java.net.Socket.<init>(Socket.java:384)
at java.net.Socket.<init>(Socket.java:198)
at org.postgresql.core.PGStream.<init>(PGStream.java:62)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:77)
... 17 more