logo openfire

Montando um servidor XMPP (Jabber) no Debian 8 - Jessie

Introdução:

Um servidor XMPP é um protocolo de mensagens baseado em cliente/servidor, funciona da mesma forma que o antigo MSN, Skype etc., mas o diferencial é que ele é gerenciável, desta forma, o administrador de redes pode controlar todas as informações e configurá-lo conforme as necessidades da empresa. Outra vantagem é que irá rodar na rede interna, não consumindo banda larga da empresa.

 

XMPP Wikipédia:

Extensible Messaging and Presence Protocol (XMPP) (conhecido anteriormente como Jabber) é um protocolo aberto, extensível, baseado em XML, para sistemas de mensagens instantâneas, desenvolvido originalmente para mensagens instantâneas e informação de presença formalizada pelo IETF. Softwares com base XMPP são distribuídos em milhares de servidores através da internet, e usados por cerca de dez milhões de pessoas em todo mundo, de acordo com a XMPP Standards Foundation .

 

 

História:

Jeremie Miller iniciou o projecto Jabber em 1998; a principal versão pública ocorreu em Maio de 2000. O produto principal do projeto é o jabberd, um servidor em que os clientes XMPP se ligam para comunicar. Este servidor pode criar uma rede privada XMPP (por detrás de um firewall, por exemplo) ou pode se juntar à rede XMPP global e pública. o XMPP surgiu como alternativa aos protocolos fechados de comunicação predominantemente utilizados em aplicações com ICQ, MSN Messenger, etc. Por ser um protocolo aberto, o desenvolvimento de aplicações que fazem uso do mesmo pode ser feito sem a necessidade de permissões especiais ou pagamento de royalties.

Um conceito chave do sistema XMPP são os transportes, também conhecido como gateways, que permite aos utilizadores acederem a redes usando outros protocolos - tais como o AIM, o ICQ (usando o OSCAR), MSN Messenger e Windows Messenger (usando o .NET Messenger Service), SMS ou E-mail. Ao contrário dos clientes de multiprotocolo, como o Trillian ou Pidgin, XMPP fornece este acesso no nível de servidor comunicando via serviços especiais de gateway em um computador remoto. Qualquer utilizador XMPP pode se registrar com uma destes gateways fornecendo a informação necessária para aceder a essa rede, e pode então comunicar-se com os utilizadores dessa rede como se fossem utilizadores de XMPP. Isto significa que qualquer cliente que suportar inteiramente o protocolo XMPP pode ser usado para aceder a qualquer rede em que exista um gateway, sem necessitar de código extra no cliente.

Por ser um padrão aberto, o XMPP favorece a interoperabilidade. Usuários podem escolher a aplicação que mais lhe convém desde que ela compreenda o protocolo. Existem diversas aplicações que usam XMPP como Pidgin, Miranda, Kopete, Adium, etc.

Jabber, agora administrado pela XMPP Standards Foundation (conhecido anteriormente como Jabber Software Foundation), foram aceitas pela IETF como padrão sob o nome XMPP, com RFC número 3920. É frequentemente considerado como estando na competição com o SIMPLE, baseado no protocolo do SIP, como protocolo padrão da notificação de presença e de instant messaging; no entanto, o design do XMPP tem por finalidade fornecer uma plataforma de interface mais geral entre aplicações.

Em agosto de 2005, a empresa Google lançou o Google Talk, baseado em XMPP, o que ajudou a popularizar o protocolo, em função da grande quantidade de usuários deste produto. Mais tarde o protocolo continuou sendo usado nos outros serviços de comunicação da empresa, mais precisamente, os serviços de comunicação instantânea embutidos no Gmail e Orkut.

 

Mãos a obra:

Iremos subir um Servidor XMPP com o OPENFIRE, MySQL, Java em um Debian 8.

 

Precisaremos instalar o Java, MySQL, Apache e o Openfire.

 

Instalando o Apache:

apt-get install apache2

 

Após a instalação, abra o navegador e teste se o apache está funcionando corretamente.

http://ip-do-servidor

 

Instalando o java

apt-get install openjdk-7-jre

https://wiki.debian.org/Java

Se quiser instalar o java atualizado, tem que adicionar back-ports nos repositórios do debian ou instalar manualmente

 

Instalando o MySQL

apt-get install mysql-server

 

1

Defina uma senha para o usuário root.

 

Criando um banco de dados no MySQL

mysql -u root -p

CREATE DATABASE openfire;

GRANT ALL PRIVILEGES ON openfire.* TO openfire@localhost IDENTIFIED BY ‘senha’;

 

2

Criamos a base de dados chamada openfire

Garantimos acesso total do banco de dados ao usuário openfire de senha ‘senha’

 

Baixando o OpenFire

http://www.igniterealtime.org/downloads/index.jsp#openfire

Pesquise a versão recente para o Debian e baixe a mesma

Para baixar direto do terminal:

Wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.0.2_all.deb

 

Instalando o openfire

dpkg –i openfire_4.0.2_all.deb

obs: Certamente substituindo os nomes do que você baixou.

 

Bom se tudo ocorreu Ok até aqui já podemos acessar a página de configuração pelo navegador.

http://ip-do-servidor:9090

Se estiver acessando do próprio servidor http://localhost:9090 ou http://127.0.0.1:9090 ou o próprio IP da máquina tanto faz!

 

3

Iremos fazer as configurações básicas para começar a utilizar o Openfire. Escolha o Idioma de preferência.

4

Defina um nome de domínio da rede, pode deixar o restante como está ou modifique como quiser as portas de acesso ao console de Admin e o método de criptografia escolhido.

 

5

Existem duas opções, Conexão Padrão do Banco de Dados e Banco de dados Interno, este segundo não exige uma conexão com banco externo e se poucos usuários irão utilizar do serviço de mensagens, nada impede de usar este. Em nosso exemplo nós iremos usar o Conexão Padrão do Banco de Dados.

 

6

Em Predefinições do Driver de Banco de Dados escolha MySQL

Em URL do banco de dados modifique como na imagem acima, se o seu servidor de banco de dados for outro, coloque o IP do mesmo no lugar de localhost, lembrando que openfire foi o nome do banco que criamos anteriormente.

Insira o nome de usuário que criamos: openfire

Senha: senha

Máximo e mínimo de conexões fica a seu critério.

 

7

Você pode integrar o openfire com um servidor de diretórios, do contrário mantenha o Padrão e clique em continuar.

 

8

Aqui iremos definir um endereço de e-mail válido para o Admin e a senha para acesso ao Console de configuração. MUITO IMPORTANTE

 

9

Tudo ok, clique para logar-se no console de administração

 

10

Agora é tudo bem simples e intuitivo, iremos usar mais a aba Usuários/Grupos para criar os mesmos.

 

11

Vá até Usuários / Grupos e clique em Criar novo usuário

Aqui você irá criar todos os usuários que quiser.

 

12

Vá até Grupos e criar novo grupo.

 

13

Entre no grupo que criou e em Membros deste grupo, vá adicionando os usuários pelo nome de usuário de cada um.

 

 

15

Uma função bem útil é o compartilhamento de lista de contatos de grupo, onde o grupo não ficará isolado somente aos usuários pertencentes ao grupo, mas usuários de outros grupos poderão enxergar também estes usuários, você poderá escolher quais grupos poderão se comunicar com quais ou escolher todos os usuários. O nome que você digitar para a lista é o que os usuários visualizarão.

 

16

Iremos usar o Cliente Spark para se conectar ao servidor.

Clique neste link para baixá-lo: http://www.igniterealtime.org/projects/spark/

 

17

Outras definições importantes estão na imagem acima como: Se o usuário poderá criar seu próprio cadastro, se poderá alterar sua senha, ou se qualquer um poderá se conectar ao servidor.

Eu particularmente deixo desativado o login anônimo e a criação de contas pelo usuário, mas se muitos usuários irão utilizar deste serviço, deixar desativado pode ser inviável.

 

 

Instalando o Plugin de monitoramento de conversas:

18

Vá até a aba Plugins e depois em Plugins --> Plugins disponíveis. Procure por Monitoring Service e clique no (+) para instalar.

 

19

Depois de instalado vá até arquivamento:

 

20

Em Ajustes de Arquivamento você escolhe como quer arquivar a conversa.

 

 

É isso pessoal, qualquer dúvida me mandem um e-mail, ficarei feliz em retornar.

Abraços.