O 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
$ 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
$ sudo /opt/openfire/bin/openfire start
Para verificar se tudo foi inicializado corretamente:
$ sudo /opt/openfire/bin/openfire status
The daemon is running
$ 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
$ 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
$ 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;
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.