Instalação e configuração de um servidor Jabber com Openfire e MySQL. Integração do Openfire com o MySQL, dois clientes locais e um cliente web, gerar logs de todas as conversas, integração do Openfire com o cliente MSN, como efetuar a configuração dos clientes Spark e Pidgin.
Instalação do MySQL e configuração da base de dados para o Openfire
Precisamos instalar o MySQL Server para podermos preparar uma base de dados para o nosso Openfire.
Vamos instalar o mysql server:
# aptitude install mysql-server
Após a instalação aparecerá uma tela de wizard para a definição da senha do root da base de dados. Defina uma senha e confirme-a.
Agora vamos acessar o banco de dados e criar a nossa base.
# mysql -u root -p
Digite a senha que foi definida na instalação do MySQL.
Agora que já estamos no MySQL, digite os seguintes comandos:
mysql> CREATE DATABASE openfire;
mysql> GRANT ALL PRIVILEGES ON openfire.* TO openfire@localhost IDENTIFIED BY ´senha´;
mysql> QUIT;
Explicando:
Na primeira linha estamos criando um banco de dados com o nome "openfire", que será utilizado pelo servidor Openfire.
Na segunda linha estamos dando para o usuário "openfire" todos os privilégios neste banco de dados e estamos definindo para ele uma senha denominada "senha".
Na terceira linha estamos saindo do banco de dados.
Pronto, agora já temos a nossa base de dados onde ficaram armazenados todos os dados pertinentes ao nosso servidor Openfire.
Instalação do Java e do Apache
Como o Openfire trabalha em cima de Java, temos que instalá-lo.
Nos repositórios do Debian já temos o Java, precisamos somente instalá-lo.
# aptitude install sun-java6-jre
Pronto, com isso o Java já será instalado e suas dependências.
Como pretendemos colocar para trabalhar um cliente web e a administração do servidor Openfire é web, vamos instalar o Apache:
# aptitude install apache2
Pronto, temos a nossa base web para trabalharmos.
Instalação do Openfire
No repositório do Debian temos o Openfire, podemos instalá-lo com o seguinte comando:
# aptitude install openfire
Porém vou utilizar a última versão.
Vamos baixar a última versão pertinente a hoje do site.
[2] Comentário enviado por nislid em 22/08/2009 - 02:45h
Douglashx, fiz exatamente como orientado... mas na hora de autenticar o openfire com o user admin eu nao acesso... da erro na senha... instalei 2x e ocorre o mesmo erro.. poderia me ajudar a terminar de instalar?
[3] Comentário enviado por scherer89 em 22/08/2009 - 09:48h
Quando está tudo pronto, na tela do console admin e senha correta não autentica. Foi o que aconteceu comigo, minha solução:
faltava o java driver para o mysql. Então:
[6] Comentário enviado por gregh em 23/08/2009 - 14:06h
Ok, testado e funcionando.
Agora me surgiu um pequeno problema, quando reinicio o micro, o http://localhost:9090 nao se ativa sozinho, ou seja, penso que o daemon
nao esta carregando automaticamente com o sistema.
Toda vez preciso digitar o seguinte no console:
root@gregh:/opt# cd /opt/openfire/bin/
root@gregh:/opt/openfire/bin# ./openfire start
Starting openfire
root@gregh:/opt/openfire/bin# nohup: appending output to `nohup.out'
[13] Comentário enviado por feliperossi em 16/10/2009 - 18:13h
Boa noite.
Primeiramente parabens pelo artigo.
instalei ele perfeito. esta funcionando 101%.
so estou com uma duvida ou problema.
nunca tinha trabalhado com jabber.
tenho uma empresa que administro com 6 filiais.
tenho vpn interligando as mesmas.
gostaria de verificar se existe a possibilidade de interligar as mesmas
pelo servidor jabber, para todas se comunicarem.
[15] Comentário enviado por feliperossi em 16/10/2009 - 22:47h
ok perfeito. como tenho um ip fixo vou centralizar o mesmo e disponibilizar via web e openvpn.
agora apareceu um problema.
do nada nao aceita mais o login e senha
admin e senha que estabeleci.
tentei desinstalar e instalar novamente
e nao consigo mais acessar o painel.
[17] Comentário enviado por ramalhoneto em 25/10/2009 - 18:41h
Olá pessoal!
Eu acabei de instalar e na tela do console admin, digito usuário e senha correto e não autentica e não aparece erro nenhum. Instalei o driver libmysql-java e continua do mesmo jeito.
[19] Comentário enviado por ramalhoneto em 26/10/2009 - 13:02h
Olá douglashx,
Obrigado pela ajuda.
É exatamente com o usuário admin que estou tentando. Eu digito o usuário e senha ele retorna para a página de login novamente, e quando digito a senha errada aí me aparece informando que o usuário e senha esta icorreta.
[21] Comentário enviado por doomk em 29/10/2009 - 11:02h
Bom Dia Galera,
Uma dúvida, essa solução necessita de uma máquina potente? como ele precisa de java e banco de dados, estou na dúvida.
Quero fazer em uma maquina virtual, de qto de memória RAM eu precisaria e qto de HD? inicialmente 10 pessoas utilizarão o serviço, mas com certeza esse número aumentará.
[25] Comentário enviado por removido em 22/11/2009 - 11:34h
Ola,
A principio não é para dar nem um erro, se voce já trabalha com vpn para a internet então o jabber vai funcionar normalmente.
Só não te garanto que a porta vai estar habilitada, pois como é um link dinamico de adsl nem todas as portas são disponiveis.
se a porta não estiver disponivel so veja alguma porta que estaja disponivel e faça um NAT no modem ou firewall para o redirecionamento de uma porta habilitada no link para a porta 5222 interna.
[26] Comentário enviado por assuncao.claudio em 25/03/2010 - 15:11h
Parabéns pelo artigo, muito bom mesmo, segui e deu tudo certo.
Queria apenas tirar uma dúvida: o que preciso liberar nesse servidor (iptables) para que o SPARK web fique disponível externamente ?
Esse servidor está dentro da minha rede interna e não é o gateway de internet.
A primeira regra faz o redirecionamento do seu ip externo 200.200.200.200 para o interno 192.168.0.1 e você pode liberar como coloquei no exemplo somente a parte web a porta 80 ou a porta 5222 que é a do openfire mesmo, com isso os clientes do spark conseguem conectar externamente na porta 5222.
Não esqueça de liberar o FORWARD no seu firewall se ele tiver as políticas como DROP.
[28] Comentário enviado por assuncao.claudio em 25/03/2010 - 22:04h
Olá Douglas, obrigado pela ajuda, mas estou com 2 situações em que fiz alguns testes e até agora não resolveu.
O primeiro foi liberar as portas conforme você falou: consigo acessar via web, mas não consigo conectar (se quiser testar tenta acessar http://interno.ldsoft.com.br:3402/sparkweb/). Esse servidor tem IP publico fixo.
A outra situação foi a seguinte: tinha um link do VELOX aqui sobrando, então coloquei outra placa de rede e tentei separar para que a entrada fosse diretamente por um link separado, até porque tenho liberar alguns acessos externos e queria usar o mesmo para não afetar minha internet. Mas como liberar as portas já que o IP é dinâmico ? Tentei alguns comandos mas não obtive sucesso. Não tenho certeza, mas acho que está faltando liberar portas no modem, tentei mas ainda assim não funciona.
Sem querer abusar da sua boa vontade, fico grato se puder ajudar.
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:209)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.logicalcobwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConnectionBuilder.java:39)
at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:159)
at org.logicalcobwebs.proxool.Prototyper.sweep(Prototyper.java:102)
at org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java:44)
[30] Comentário enviado por SPH em 16/08/2010 - 22:04h
Meu Passo a Passo exatamente como deve ser, so tive um pt no instalar o java6 la mas acertei colocando os repositorios non-free no sources.list daew fico show....Otima tuto pap ou seja la como vc chama me ajudo pra caramba. na prefeitura foi show
[31] Comentário enviado por rodrigo.pereira em 18/04/2011 - 16:27h
Olá pessoal, gostaria de saber porque o meu sparkweb não está aceitando o usuário e senha que eu coloco.... no momento que clico no botão para acessar, a tela carrega e quando terminar o mesmo volta para a tela de login, alguém poderia me ajudar ? grande abraço ...
[32] Comentário enviado por israelsoares em 16/03/2012 - 13:46h
Prezado Douglas Q. dos Santos ;
Artigo perfeito, só qua na integração com msn, eu não consigo ver os meus contatos. o contato logado no msn consegue me enchergar e me chamar para uma conversa, mais eu não os vejo.
Outra coisa, favor informar forma de fazer backup do banco de dados para que não tenhamos que refazer tudo caso haja algum problema com o servidor.
Obrigado.
Abraços.
Israel Soares
[33] Comentário enviado por aniel em 19/07/2014 - 11:21h
[31] Comentário enviado por rodrigo.pereira em 18/04/2011 - 16:27h:
Olá pessoal, gostaria de saber porque o meu sparkweb não está aceitando o usuário e senha que eu coloco.... no momento que clico no botão para acessar, a tela carrega e quando terminar o mesmo volta para a tela de login, alguém poderia me ajudar ? grande abraço ...
O MESMO ACONTECE COMIGO, COMO FAÇO PARA RESOLVER ESTA SITUAÇÃO???????????