Páginas

quinta-feira, 18 de abril de 2013

Instalação do Openfire/Jabber no Ubuntu 12.04 Server

Openfire é um servidor de chat corporativo baseado no protocolo XMPP, opensource e gratuito. Ele foi desenvolvido usando Java (o cliente dele, Spark, também é desenvolvido em Java) e é licensiado sob a Apache License 2.0. Esta solução, desenvolvida pela empresa Ignite Realtime, conta com interface web para gerenciamento, um cliente próprio (embora um pouco pesado, muito bem desenvolvido), armazenamento de todas as mensagens trocadas entre os usuários para auditoria, etc. Mas o melhor de tudo é que ela é extremamente simples de instalar e configurar.

Instalação do Openfire no Ubuntu

O primeiro passo é fazer o download do pacote .tar.gz. Para isso, vá até www.igniterealtime.org e clique no link “Download” no topo da página. Na página que se abre, localize “Openfire 3.7.1″ e clique no botão “Linux”. Agora, basta clicar na última opção e fazer o download do pacote .tar.gz.
Quando o pacote estiver na máquina onde você vai instalá-lo, descompacte e mova o diretório criado para /opt:
$ tar xzvf openfire_3_7_1.tar.gz
$ sudo mv openfire /opt
Pronto, agora para iniciar o serviço:
$ sudo /opt/openfire/bin/openfire start
Para verificar se tudo foi inicializado corretamente:
$ sudo /opt/openfire/bin/openfire status
The daemon is running
Depois disso, vamos configurar o banco de dados e iniciar a configuração via web.

Configuração do MySQL

Os passos descritos abaixo devem ser executados independentemente de qual distribuição você está usando. É no MySQL que o Openfire vai armazenar todos os dados que ele usa para funcionar corretamente.
Primeiro, faça o login no MySQL com o usuário root e crie o banco de dados openfire:
$ mysql -u root -p
password:
mysql> create database openfire;
mysql> exit
Agora, vá até o diretório resources do Openfire e importe o arquivo openfire_mysql.sql para o BD:
$ cd /opt/openfire/resources/database/
$ mysql -u root -p -D openfire < openfire_mysql.sql
Ok, tabelas criadas. Agora, precisamos criar um usuário do BD para o Openfire usar quando precisar acessá-lo. No meu caso, criei um usuário chamado “openfire”
mysql> CREATE USER openfire IDENTIFIED BY ‘openfire’;
mysql> REVOKE ALL ON *.* FROM openfire;
mysql> GRANT ALL ON openfire.* TO openfire@localhost;
Nas linhas acima, a senha é definida pela string entre ” após IDENTIFIED BY. Recomendo que coloque uma senha forte para não ter problemas. Pronto, banco de dados pronto pra trabalhar com o Openfire. Daqui pra frente toda a configuração será feita através da interface web.


Acessando a interface web de administração e finalizando a configuração

Com todos os pré-requisitos completados com sucesso, podemos partir para o final da configuração que será feito via web.
Quando você iniciou o serviço nos passos anteriores, uma interface web foi inicializada na porta 9090. Para finalizar a configuração você precisa usar o navegador e navegar para esta porta. No meu caso, o servidor está configurado no host 192.168.1.116. Acesso com o navegador o IP e a seguinte página é exibida:
Nesta primeira tela você precisa apenas selecionar a língua que deseja usar durante o processo de instalação. Recomendo “Português Brasileiro”. Selecione a opção desejada e clique em “Continue”.
Na página seguinte, você vai definir a porta onde o console de administração irá ficar e o nome do host:
  • Domínio: Se o servidor onde você está instalando tem um nome DNS válido (mesmo que internamente), coloque este nome aqui. Se não, pode colocar o IP mesmo que não tem problema;
  • Porta do Console Admin: Porta onde este console que você acabou de acessar ficará esperando conexões. Se modificar o padrão, não esqueça de configurar o firewall para aceitar conexões nesta porta. O padrão é 9090/TCP;
  • Porta Segura do Console Admin: Esta opção define a porta onde o console de administração (usando SSL para melhorar a segurança) ficará esperando por conexões. O padrão é 9091/TCP. Se mudar, não se esqueça de configurar o firewall para permitir a conexão.
Faça as configurações conforme necessário e clique em “Continuar”.
Na tela seguinte você vai precisar configurar a conexão do Openfire com o MySQL. Aqui, você tem duas opções:
  • Conexão Padrão do Banco de Dados: Se conecta a um banco de dados externo como MySQL ou Oracle;
  • Banco de Dados Interno: Utiliza o banco de dados do próprio Openfire para armazenar os dados do software. Eu recomendo que você utilize o banco de dados externo pois você terá mais flexibilidade (no futuro, se a demanda aumentar muito, você pode separar o Openfire e o MySQL em hosts diferentes para aliviar a carga).
Selecione a opção “Conexão Padrão do Banco de Dados” e clique em “Continuar”:
Na tela seguinte você vai precisar preencher todos os dados para permitir a conexão com o servidor:
  • Predefinições do Driver de Banco de Dados: Define qual software de RDBMS você está usando. No nosso caso, MySQL;
  • Classe do Driver JDBC: É o nome da classe do driver correto para o banco de dados que você escolheu. Este campo é preenchido automaticamente e você não precisa modificar;
  • URL do Banco de Dados: Aqui você precisa colocar o IP ou nome DNS do host que tem o DB no lugar de “[host-name]” e o nome do banco de dados que você criou para o Openfire no lugar de “[database-name]“. Se o Openfire estiver na mesma máquina que o MySQL, coloque 127.0.0.1 como servidor. Se não estiver, tenha certeza de que permitiu conexões através da rede para o MySQL;
  • Nome do Usuário/Senha: Aqui você precisa colocar as credenciais do usuário do banco de dados que nós criamos anteriormente;
As outras opções não precisam ser modificadas neste momento. No final, a sua tela vai ficar parecida com esta:
Clique em “Continuar”. Na próxima tela, você vai definir como os usuários vão se autenticar:


  • Padrão: Utiliza o BD do Openfire (MySQL no nosso caso). Recomendo que você escolha esta opção;
  • Servidor de Diretório (LDAP): Usa um servidor externo LDAP para autenticar os usuários;
  • Clearspace Integration: Usa um servidor Clearspace para a autenticação.
Selecione “Padrão” e clique em “Continuar”:
Na próxima tela, você vai definir qual será a conta do administrador. Defina um e-mail válido e uma senha forte para esta conta.
A última tela vai apenas confirmar que a instalação foi concluída e vai pedir que você faça o login para entrar no painel de administração utilizando a conta de admin criada no passo anterior (apenas “admin”, não “admin@teste.com.br”). Faça isso clicando no botão “Loge-se no console de administração” para finalizarmos a configuração.
Depois do login ser feito com sucesso, você será levado para a tela inicial do console de administração:
Vamos ver algumas operações neste painel.

Adicionando usuários e grupos

Depois dessa configuração toda, chegou a hora mais chata: adicionar todos os grupos de usuários que você quer que usem o servidor. Pelo cliente do Openfire você pode permitir que os usuários criem suas contas antes de se conectarem, porém eu vejo dois pontos negativos nesse modo:
  • Os nomes de usuário nem sempre serão padronizados;
  • Os usuários não serão colocados nos grupos que você deseja.
Por isso eu prefiro adicionar tudo à mão, embora isso deixe tudo bem mais demorado. Primeiro, comece pelos grupos.
Para criar os grupos, clique no link “Usuários/Grupos” na parte superior da interface de administração. Logo abaixo desta barra aparecerão mais duas opções: Usuários e Grupos. Clique em Grupos e, no menu à esquerda, “Criar Novo Grupo”. Basta escolher um nome descritivo para o grupo que você vai criar e adicionar uma descrição que te ajude no futuro. Não vá me criar nomes/descrições tipo “Grupo1″ que isso é um tiro no pé!
Depois de ter criado todos os grupos que você precisa, comece a adicionar os usuários. Clique na opção “Usuários” ao lado do “Grupos” que você clicou antes. No menu à esquerda, clique em “Criar Novo Usuário”. Basta preencher o formulário corretamente. Se você quiser que este usuário também seja um administrador do Openfire, basta selecionar a checkbox “Is Administrator?”.
Abaixo, você vê a tela de criação de um novo usuário:
Adicione alguns usuários apenas para você conhecer o sistema, testar as conexões à partir dos clientes (como veremos mais adiante). Também fuce em todas as abas da interface de administração para conhecê-la melhor. Você vai acabar encontrando mais outras opções que vai querer mudar para deixar tudo do jeito que você precisa para o seu ambiente.


Plugins

Uma das grandes vantagens do Openfire é o uso de plug-ins para extender a gama de funcionalidades que você tem à sua disposição. Você tem plug-ins para as mais variadas tarefas como integração com Asterisk, envio de mensagens para todos os usuários do sistema (broadcast), monitoração de conversas e estatísticas, executar ações quando um usuário se cadastrar/for cadastrado, administração de usuários via requisições HTTP, etc. Plug-in é o que não falta e todos podem ser instalados facilmente.
Para acessar a página de plug-ins, clique no link “Plugins” no todo da interface web. Depois, no menu à esquerda, clique em “Plugins disponíveis”. Você irá ver toda a lista de plugins disponíveis atualmente para você. Se você quiser, pode também fazer o upload de um que não esteja na lista. Basta clicar em “Plugins” no menu à esquerda, clicar no botão “Escolher arquivo” e, depois de selecionar o arquivo correto, clicar no botão “Upload Plugin”. Pronto, plugin instalado.
Se quiser instalar um dos plugins que estão na lista de “Plugins disponíveis”, basta clicar no botão verde com um “+” na coluna da direita.

Configuração do Spark

O Spark é o cliente “oficial” do Openfire. A integração entre os dois é excelente, porém o Spark é consideravelmente pesado e pode acabar não sendo a opção mais adequada quando se tem máquinas mais antigas, com pouca memória RAM. Neste casos, você pode usar qualquer cliente compatível com o protocolo XMPP do Openfire (e de vários outros servidores por aí afora). Aqui vou te mostrar como configurar o Spark. Outros clientes terão a configuração bem parecida, basta adaptar um pouco o que você vai ver aqui.
O download do Spark é feito no mesmo lugar que baixamos os pacotes do Openfire anteriormente. Porém, na página de download você precisa procurar por “Spark 2.6.3″, clicar no sistema operacional adequado e fazer o download. A instalação é extremamente simples, basta seguir as instruções nas telas.
Na imagem acima você pode ver tudo o que você precisa preencher para fazer o login:
  • Usuário: é o login que você definiu quando criou o usuário, sem o domínio. Por exemplo, “admin”;
  • Senha: senha que você colocou para o usuário;
  • Servidor: nome DNS ou endereço IP do servidor onde você quer se conectar.
Se você analisar as opções disponíveis em “Avançado” no Spark, vai ver que ele é capaz de muita coisa. Vale a pena dar uma olhada mais a fundo nele para ver o que ele pode fazer para melhorar o desempenho e a experiência do usuário quando estiver usando ele.

Conclusão

O chat além de ser muito mais rápido que o e-mail, pode ajudar a sua empresa também mantendo ramais livres, melhorando a comunicação e transferindo arquivos sem precisar configurar FTP, compartilhar um diretório no computador, etc. O Openfire disponibiliza tudo isso sem que você tenha que gastar nem um centavo. Além disso tudo, ainda conta com vários plugins que você pode instalar facilmente para expandir a funcionalidade que o Openfire te oferece. Implemente esta solução na sua empresa, adicione os usuários e veja como ela vai ajudar muito à você e à sua empresa.
Vimos também o Spark, que é o cliente “oficial” do Openfire. O problema do Spark é ser muito pesado. Geralmente, quando se instala ele em máquinas antigas, nada mais roda direito! Você precisa de máquinas com uma quantidade decente de memória RAM pra conseguir usar ele tranquilamente. Se você precisar instalar o cliente em máquinas mais antigas, dê preferência a outros clientes mais leves. Você pode usar qualquer um de sua preferência que seja compatível com o protocolo XMPP. Alguns exemplos que você pode preferir usar são Pidgin, Adium, Miranda IM, Trillian, Empathy, Gajim, entre vários outros. Basta escolher o que mais te agrada e instalar para os seus usuários.


Nenhum comentário:

Postar um comentário