Apresento-lhes o WILDFIRE: um excelente servidor baseado no protocolo Jabber que lhes fornecerá a solução definitiva para comunicação instantânea na sua rede. Os recursos ficarão ainda melhores quando integrado ao Active Directory e gerenciado pelo conceituado PostgreSQL.
Talvez um dos "servidores Jabber" mais utilizados atualmente, o Wildfire conta com uma interface muito bonita, completa e de fácil administração.
Descompacte o pacote onde lhe for mais cômodo. Neste exemplo, logado como root, extrai em /usr/local:
# cd /usr/local
# tar zxvf wildfire_3_0_1.tar.gz
# ls wildfire
Os scripts para criação do banco a ser utilizado pelo Wildfire estarão dentro de /usr/local/wildfire/resources/database. Há um script para cada um dos SGBDs suportados. No nosso caso, utilizaremos o arquivo chamado "wildfire_postgresql.sql". Por questões de estética* para elaboração deste documento, copiei este arquivo para o diretório /tmp, com acesso de leitura para todos os usuários.
Vamos então criar o banco. Primeiramente devemos nos logar como "postgres" (se ainda estivermos logado como root) e então importar o script:
# su postgres
$ psql -d wildfire -f /tmp/wildfire_postgresql.sql
* Aqui entra a questão de estética que mencionei agora há pouco: se eu fosse utilizar todo o caminho original onde o arquivo se encontrava, não caberia todo o comando em uma única linha. Coloquei-o em um "path" menor para adequar às margens deste documento. Depois de importado o script, o mesmo pode ser excluído do /tmp (pelo usuário root).
Você verá uma grande quantidade de "notices" de CREATE TABLE e alguns INSERTs. Para dar uma olhada na estrutura das tabelas que foram criadas, execute:
$ psql wildfire
wildfire=# \d
wildfire=# SELECT * FROM jiveusers;
Você poderá observar que somente um usuário foi criado, e exatamente o administrador do Wildfire. Note que o usuário é "admin" e a senha também. Nesta etapa, te aconselho a abrir outra console e logar como root, assim teríamos uma logada com o usuário postgres e outra com o super-usuário. Então, na console do root, execute:
Quando lhe for solicitado que pare o serviço, basta executar:
# /usr/local/wildfire/bin/wildfire stop
Ótimo: nosso servidor está sendo executado, e está escutando a porta 9090. Verifique:
# nmap localhost
A saída deve ser algo semelhante à:
Starting nmap 3.93 ( http://www.insecure.org/nmap) at 2006-07-26 02:34 BRT
Interesting ports on localhost (127.0.0.1):
(The 1666 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
22/tcp open ssh
5432/tcp open postgres
9090/tcp open zeus-admin
Nmap finished: 1 IP address (1 host up) scanned in 0.291 seconds
Parabéns. A parte de instalações do servidor foi concluída com sucesso. Podemos acessar a console administrativa e configurá-lo a partir do navegador de qualquer estação, informando o IP do servidor ou o seu hostname no DNS (http://messenger.playboy.com.br:9090 ou http://69.171.38.254:9090).
Na primeira tela do "Setup", vamos informar o idioma em que preferimos utilizá-lo. Por comodidade, vamos alterar a seleção para Português Brasileiro (pt_BR) e acionar o botão Continue:
Agora, já com a interface toda traduzida, vamos dar continuidade no processo de configuração, informando o endereço IP ou hostname do servidor, e as portas (segura e não-segura) de acesso da console e então acione o botão Continuar. Sugiro que você configure bem o seu DNS e utilize o hostname, para ficar mais elegante:
Na tela que se segue, iremos informar se pretendemos utilizar uma conexão padrão de banco de dados externo ou o banco de dados interno do wildfire (HSQLDB). Como utilizaremos o PostgreSQL, selecionaremos a primeira opção e acionaremos o botão Continuar:
Vamos agora configurar as informações que o driver JDBC irá utilizar para se conectar ao PostgreSQL. Dentro do formulário, vamos selecionar as predefinições do driver de banco de dados adequadas ao PostgreSQL. Automaticamente será selecionada org.postgresql.Driver como sendo a classe do driver JDBD. Na URL do banco de dados, vamos informar qual é a máquina onde o PostgreSQL está instalado e a base que será utilizada pelo Wildfire.
Como o SGBD está instalado na mesma máquina que está instalado o Wildfire, na porta padrão e utilizaremos o banco de dados que criamos anteriormente, devemos então informar a seguinte URL:
jdbc:postgresql://localhost:5432/wildfire
No nome de usuário, vamos informar aquele login que criamos anteriormente para administrar o PostgreSQL, ou seja, postgres. Como não atribuímos uma senha a este usuário, o campo destinado à senha deve ficar em branco. Obviamente, em uma máquina de produção, você irá querer que tal usuário tenha uma senha e irá informá-la aqui. Nas três próximas textboxes iremos informar as quantidades mínimas e máximas, respectivamente, de conexões ao banco que o pool de conexões irá manter e o tempo (em dias) para que o pool de conexões seja reciclado. Não precisa alterar os valores padrões.
Na próxima tela (a última da parte de configuração inicial do servidor), iremos cadastrar o e-mail e a senha do usuário admin que, no nosso caso, será, respectivamente administrator@playboy.com.br e asdfasdf. Feito isso, pressione o botão Continuar:
Muito bem, você deve receber uma mensagem informando que a configuração básica foi concluída com sucesso, e você poderá clicar no link que aparece na tela seguinte para efetuar logon na console administrativa. E como é bonita esta tela de login do Wildfire!!!
[5] Comentário enviado por marcelogpl em 27/08/2006 - 11:07h
Cara,
seu artigo está um verdadeiro Guia de Instalação.
São estas colaborações que fazem a área de T.I. forte e crescente, surgindo a mais e mais colaboradores.
[9] Comentário enviado por rbnamerico em 29/08/2006 - 11:34h
Kleber, show de bola teu artigo! muito bom mesmo, ótima linguagem! Mas eu fiquei com uma dúvida: há algum meio de fazer auditoria no que foi enviado pelos usuários? Fica algum tipo de histórico no servidor? Fui, valeu!
[10] Comentário enviado por fabiolourenco em 29/08/2006 - 13:46h
Nossa nunca vi um artigo tão bem feito e detalhado como esse, nota dez mesmo, esta tão bem explicado que nem se quer teve como existir aqueles típicos problemas que as pessoas sempre tem, compilar ou não encontrou algum arquivo e etc.
[11] Comentário enviado por leandrov em 31/08/2006 - 08:48h
Bem feito, recomendo também para os usuários de LDAP usem também o GOSA, eu sei parece um nome estranho ... mas é um programa para gerenciar usuários que roda em cima do LDAP muito bom.
Thanx
[12] Comentário enviado por Renatim em 12/10/2006 - 16:29h
eu gostaria de saber se tem como eu configurar grupos de usuarios no jabber,,, tipo,,, autenticando no Active Directory, ai quero que só os usuarios que tem são do grupo j.TI se encherguem, e os do j.financeiro so encherguem quem é do j.financeiro e quem é do j.administrativo so enchergue quem é do j.administrativo, isto tudo são grupos no Active directory que coloco pra pessoa, gostaria de saber se tem como fazer isso.
[13] Comentário enviado por silvio_soft em 30/11/2006 - 15:12h
Eu não consigo incluir usuários nos grupos! O grupos e usários estão listados, eu consigo me conectar e conversar com os contatos, mas os grupos possuem membros 0 e não consigo incluir também, o que devo fazer?
[14] Comentário enviado por malungo em 12/12/2006 - 18:12h
Excelente tutorial Kléber....agora esbarrei em um probleminha aqui...ao terminar as configurações e restartar o wildfire, recebo a seguinte mensagem: nohup: appending output to `nohup.out' ....vc se deparou com esta mensagem????
[15] Comentário enviado por fbione em 16/01/2007 - 18:06h
Caro colega, parabéns pelo tutorial, mas gostaria de tirar uma duvida, na minha organização o login padrão para acesso a rede é a matricula do funcionario, esse é o grando problema, como faço quando eu adicionar um usuario exiba o "display nome" nome completo do usuario cadastrado no AD e não o login que é a matricula.
Fabrício.
[16] Comentário enviado por fbione em 16/01/2007 - 18:13h
Uma outra dúvida é um grande furo de segurança, pois fiz a instalação com administrador de dominio, então quando editei o arquivo Wildfire.xml tava lá exibindo o usuario e a senha do usuario de dominio, caso alguem ter acesso a esse servidor, tará conhecimento esse senha importantissima. Você tem algo relativo a isso?
Obrigado. Fabrício
[17] Comentário enviado por ponciocosta em 26/01/2007 - 17:00h
Estou tendo problemas com a integração do ldap ao wildfire, fiz todas as configurações que estão descritas no site e mesmo assim o wildfire nao loga, o que ode ser????
[18] Comentário enviado por rogeriosap em 11/04/2007 - 14:16h
Muito bom este artigo, mas me deparei com um problema que não foi abordado neste artigo que é a instalação do java virtual machine e pode ser isso que esta dando estes erros.
[22] Comentário enviado por tiagotavares em 17/08/2007 - 22:31h
kl3b3r, meus parabéns pelo artigo, isso foi mais mais que uma receita de bolo, é praticamente um guia definitivo para qualquer implantação do Wildfire/Openfire.
Eu apenas tive um problema, não sei exatamamente se foi por causa de algum bug do Openfire ou se foi algo com o sistema operacional (CentOS), mas simplesmente eu tentei implantar direto integrado ao AD, e na hora de adicionar os administrador e finalizar a instalação, não funcionava! Quase fiquei louco! ele parecia reconhecer os usuários do AD mas não adicionava e nem me permitia continuar e finalizar a instalação.
Depois de tanto quebrar a cabeça e xingar usuários que não me deixavam em paz para desenvolver uma solução, só consegui meu objetivo fazendo uma instação sem integração ao AD, aí depois recomecei uma nova instalação com integração, aí sim FUNCIONOU!
Aconteceu o mesmo com alguém ae?
[26] Comentário enviado por saulo_junior em 04/12/2007 - 13:57h
o Artigo e mto bom mesmo. aqui na empresa ja usamos o Open
fire com o cliente Spark, porem estou deparando com um problema nos meus testes com o cliente neo, que e muito mais leve que o spark(o Grande problema do spark, consume mtos recursos da mkna)
mas no neo nao estou conseguindo mandar mensagens em massa para todos os usuarios de todos os grupos, so consigo para um grupo de cada vez. existe algum caminho para isso.
a versao que uso e a 1.2.1(u)
[27] Comentário enviado por kalib em 30/01/2008 - 18:46h
Beleza...amigo muito show seu artigo..mto bom mesmo..parabéns..
Apenas tenho uma dúvida..
O Wildfire permite fazer auditoria destas conversas, correto?!
Como faço para ler esses logs que foram auditados?? o.O
parabéns pelo artigo e obrigado pela excelente contribuição
[28] Comentário enviado por tecnet em 03/04/2008 - 19:59h
Kleber,
Bom artigo, mais ainda tenho uma duvida, ahi vai:
01 - Como faco auditoria com WildFire, se o usuario usa Spark ou Neos?
02 - Como faco para ver os logs das mensagens?
[29] Comentário enviado por edupopov em 18/08/2008 - 21:12h
Olha, realmente... você salvou meu dia... eu estava realmente tentando identificar exatamente a maneira mais apropriada de poder colocar minha rede em comunicação economizando a largura de banda em uma esfera global.