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.
Apesar de não ser absolutamente necessária, a instalação de um SGBD (Sistema de Gerenciamento de Banco de dados) é altamente recomendada. O servidor Jabber (Wildfire) que vamos utilizar, suporta, em sua versão atual, os mais populares SGBDs: Microsoft SQL Server, PostgreSQL, MySQL, IBM DB2 e Oracle. Por uma preferência pessoal, utilizaremos neste artigo a versão "stable" (8.1.4) do PostgreSQL. Se você prefere (ou pretende) utilizar outro banco não se preocupe, pois o Wildfire é bastante flexível no que diz respeito à configuração para estes SGBDs. Ele se conecta ao banco via jdbc (conector java) e exige configurações mínimas. Veremos maiores detalhes adiante.
Descarregue o source do PostgreSQL, descompacte-o e instale assim:
# tar jxvf postgresql-8.1.4.tar.bz2
# cd postgresql-8.1.4
# ./configure --prefix=/usr --enable-largefile --with-krb5 --with-openssl
# make
# checkinstall
Bem, neste ponto precisamos definir qual será o diretório que o PostgreSQL irá utilizar para armazenar as bases do sistema. É neste diretório que ele irá gerenciar seu catálogo, logs, e as bases que você criar. Para esta instalação utilizaremos o seguinte diretório:
# mkdir /usr/dados
Por medidas de segurança, vamos criar uma conta de usuário e grupo exclusivos para executar o PostgreSQL:
Iremos definir o usuário e seu respectivo grupo como sendo proprietário do diretório de dados:
# chown postgres.postgres -R /usr/dados
Agora vamos inicializar a estrutura hierárquica do banco para que possamos colocar o PostgreSQL para funcionar. Para tanto não devemos realizar estas operações como root, e sim como o usuário que acabamos de criar:
# su postgres
$ initdb -D /usr/dados
Pronto: o PostgreSQL está instalado. Em sua configuração padrão, ele aceita conexão somente a partir de sua interface de loopback, ou seja, você não conseguirá se conectar diretamente ao banco a partir de outro host a menos que configure-o para isso. Como para atender as expectativas deste artigo só nos conectaremos no banco localmente, nenhuma configuração é necessária. Para maiores informações, pesquise a respeito do arquivo pg_hba.conf.
Por padrão, o PostgreSQL fica escutando requisições na porta 5432. Podemos verificar sua execução executando um portscan na interface lo:
$ nmap localhost
Dentre as portas listadas, a porta 5432 deve aparecer como "aberta". O resultado da 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
Nmap finished: 1 IP address (1 host up) scanned in 0.235 seconds
No meu caso, o serviço do sshd e PosgreSQL são os únicos que estão "escutando" alguma porta. Vamos então nos conectar à console administrativa do PostgreSQL. Ainda logado com o usuário postgres, execute:
$ psql postgres
Uma breve mensagem de boas-vindas (seguida de um mini-help) deverá aparecer indicando que você está conectado ao banco postgres. Este é um banco padrão do sistema, assim como template0 e template1. Na verdade, para se conectar a um banco com o mesmo nome do usuário logado, basta chamar o utilitário "psql" sem informar nenhum parâmetro. Saia da console e faça o teste:
postgres=# \q $ psql
Vamos então criar o banco que o Wildfire irá usar para controlar seu sistema. Dentro da console (postgres=#), digite:
CREATE DATABASE wildfire;
O sistema deverá lhe retornar uma mensagem do tipo "CREATE DATABASE", informando que a operação foi bem sucedida. Mais tarde voltaremos aqui, para importar o script que gera a estrutura de dados do Wildfire, e por falar em 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.