instalacao_e_configuracao_do_openfire_com_mysql_no_debian_squeeze_pt_br [2019/08/08 15:23] (current)
+ ====== Servidor Jabber com Openfire + MySQL + Debian Squeeze ​ ======
+ Instalação e configuração de um servidor Jabber com Openfire e MySQL. Integração do Openfire com o MySQL, dois clientes locais e um cliente web, integração do Openfire com o cliente MSN, como efetuar a configuração dos clientes Spark e Pidgin. ​
+ **Definição do Jabber pelo Wikipédia:​**
+ Jabber é um protocolo aberto, com bases XML, para sistemas de mensagens instantâneas. Softwares com base Jabber 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 Fundação Jabber Software. ​
+ Jeremie Miller iniciou o projecto em 1988; a principal versão pública ocorreu em Maio de 2000. O produto principal do projecto é o jabberd, um servidor em que os clientes Jabber se ligam para comunicar. Este servidor pode criar uma rede privada Jabber (por detrás de um firewall, por exemplo) ou pode se juntar à rede Jabber global e pública. ​
+ Um conceito chave do sistema Jabber 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 Gaim, Jabber fornece este acesso no nível de servidor comunicando via serviços especiais de gateway em um computador remoto. ​
+ Qualquer utilizador Jabber pode se registrar com uma destas 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 Jabber. Isto significa que qualquer cliente que suportar inteiramente o protocolo Jabber pode ser usado para aceder a qualquer rede em que exista uma gateway, sem necessitar de código extra no cliente. ​
+ As bases do protocolo Jabber, agora administrado pela fundação Jabber Software, 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. ​
+ Fonte: http://​pt.wikipedia.org/​wiki/​Jabber
+ Precisamos instalar o MySQL Server para podermos preparar uma base de dados para o nosso Openfire. ​
+ **Vamos instalar o mysql server **
+ aptitude update && aptitude dist-upgrade -y && aptitude install mysql-server -y
+ Após a instalação aparecerá uma tela de wizard para a definição da senha do root da base de dados. Defina uma senha e confirme-a. ​
+ Agora vamos acessar o banco de dados e criar a nossa base.
+ mysql> CREATE DATABASE openfire;
+ mysql> GRANT ALL PRIVILEGES ON openfire.* TO openfire@localhost IDENTIFIED BY '​senha';​
+ - Na primeira linha estamos criando um banco de dados com o nome openfire, que será utilizado pelo servidor Openfire.
+ - Na segunda linha estamos dando para o usuário **openfire** todos os privilégios neste banco de dados e estamos definindo para ele uma senha.
+ - Na terceira linha estamos saindo do banco de dados. ​
+ Pronto, agora já temos a nossa base de dados onde ficaram armazenados todos os dados pertinentes ao nosso servidor Openfire. ​
+ ====== Instalação do Java e do Apache ======
+ Como o Openfire trabalha em cima de Java, temos que instalá-lo. ​
+ Nos repositórios do Debian já temos o Java, precisamos somente instalá-lo. ​
+ aptitude install sun-java6-jre libmysql-java libapache2-mod-auth-mysql -y
+ Pronto, com isso o Java já será instalado e suas dependências. ​
+ Como pretendemos colocar para trabalhar um cliente web e a administração do servidor Openfire é web, vamos instalar o Apache: ​
+ Pronto, temos a nossa base web para trabalharmos. ​
+ ====== Instalação do Openfire ======
+ Porém vou utilizar a última versão na Data 04/08/2012
+ Vamos baixar a última versão pertinente a hoje do site.
+ wget -c http://​wiki.douglasqsantos.com.br/​Downloads/​jabber/​openfire_3.7.1_all.deb
+ Vamos instalar: ​
+ dpkg -i openfire_3.7.1_all.deb
+ Acertando as permissões
+ chown -R openfire:​openfire /​var/​lib/​openfire
+ Agora vamos testar a porta, para confirmar que ela esta escutando
+ Starting Nmap 5.00 ( http://​nmap.org ) at 2011-10-10 10:09 BRT
+ 9090/tcp open zeus-admin
+ Nmap done: 1 IP address (1 host up) scanned in 0.35 seconds
+ Pronto, já estamos com o Openfire e o Java instalados com o MySQL instalado e configurado.
+ ====== Agora vamos configurar o Openfire. ======
+ Acesse pelo navegador http://​ip_servidor:​9090 ​
+ - Aparecerá uma tela de boas vindas perguntando o idioma, selecione o que você achar mais conveniente e clique em continuar. ​
+ - Nesta tela vamos começar a configuração do servidor, informe um domínio e as portas para administração do servidor, uma porta para trabalhar via HTTP e uma para trabalhar via HTTPS.
+ - Informe um domínio: douglasqsantos.com.br
+ - Porta do console admin: 9090
+ - Porta segura do console admin: 9091
+ - Depois de definir o domínio e as portas, clique em continuar.
+ - Nesta tela podemos definir o tipo de banco de dados, como pretendemos configurar o Openfire com o MySQL, utilizaremos a primeira opção: conexão padrão do banco de dados.
+ - Clique em continuar.
+ - Nesta tela, na opção Predefinições do driver de banco de dados, utilizaremos a opção MySQL.
+ - Classe do driver JDBC podemos manter a padrão: com.mysql.jdbc.Driver
+ - URL do banco de dados, utilizaremos o local onde está a nossa base de dados MySQL. Aqui temos que definir a maquina que esta o banco no nosso caso localhost e o nome da base que vai ser openfire.
+ - Nome do usuário fica como definimos na base de dados mysql: openfire
+ - Senha: a que você definiu para o usuário na opção IDENTIFIED BY no MySQL no exemplo foi definido senha.
+ - Minimum Connections:​ fica por sua conta.
+ - Maximum Connections:​ fica por sua conta.
+ - Tempo de expiração da conexão: 1.0
+ - Selecione Continuar. ​
+ - Se for preenchido tudo corretamente,​ passaremos para a próxima pagina, a de configuração de perfis. Podemos utilizar a primeira opção e selecione Continuar.
+ - Agora vamos definir o endereço de email do admin e a senha.
+ - Sempre utilize senhas fortes com caracteres maiúsculos e minúsculos,​ caracteres especiais para deixar a sua senha mais difícil de ser descoberta.
+ - Após definir a senha, clique em continuar e pode se logar no console de administração.
+ - Logue com o usuário admin e a senha que você definiu. ​
+ Criação de usuários e grupos e configuração do compartilhamento de lista de contatos ​
+ Vamos criar um grupo.
+ O padrão é você criar grupos e atribuir aos grupos os usuários. ​
+ Então vamos criar um grupo chamado TI:
+ - Clique em Grupos.
+ - Clique em Criar Novo Grupo.
+ - Defina um Nome do Grupo.
+ - Clique em Criar.
+ **Ex.:**
+ - Nome do Grupo: TI
+ - Descrição:​ Departamento de Tecnologia ​
+ Pronto, o primeiro grupo está criado. ​
+ Agora vamos criar um usuário.
+ - Clique em Usuário
+ - Criar Novo usuário.
+ O nome de usuário é o nome que será utilizado pelo cliente. Pode ser utilizada nomenclatura como nome+sobrenome. ​
+ - Nome de usuário: jose.silva
+ - Nome: José da Silva
+ - Email: jose.silva@dominio.com.br
+ - Confirmar senha: senha
+ - Is Administrator?​ Nesta opção você define se o usuário é administrador ou não do seu servidor. ​
+ - Clique em criar Usuário.
+ Na senha defina uma senha padrão para o primeiro acesso e peça para que os usuários a troquem no primeiro logon. ​
+ Pronto, agora temos um usuário e um grupo. ​
+ Agora vamos atribuir este usuário a um grupo. ​
+ - Aparecerá o grupo TI e que acabamos de criar. ​
+ - Clique em Editar. ​
+ - Agora podemos adicionar o jose.silva ao grupo TI.
+ - Na parte da tela, onde está escrito Membros deste grupo, temos um campo Adicionar Usuário(s):​
+ - Aqui vamos digitar o nome do jose.silva
+ - Selecione Adicionar.
+ Pronto, agora o usuário jose.silva faz parte do grupo de TI.
+ Vamos criar mais um grupo
+ - Clique em: Grupos > Criar novo grupo
+ - Nome do grupo: Administração
+ - Descrição:​ Administração.
+ - Clique em Criar grupo.
+ Pronto, o segundo grupo está criado. ​
+ Agora vamos criar mais um usuário. ​
+ - Selecione: Usuário > Criar novo usuário.
+ - Nome de usuário: marcos.silva
+ - Nome: Marcos da Silva
+ - Email: marcos.silva@douglasqsantos.com.br
+ - Senha: senha.
+ - Is Administrator?​ yes
+ - Selecione criar usuário.
+ Agora vamos atribuir este usuário a o grupo administração. ​
+ - Selecione Grupos.
+ - Aparecerão os grupos TI e Administração que acabamos de criar.
+ - Selecione o grupo Administração ​
+ - Agora selecione editar.
+ - Agora podemos adicionar o marcos.silva ao grupo Administração.
+ - Na parte da tela onde está escrito Membros deste grupo temos um campo Adicionar Usuário(s):​
+ - Aqui vamos digitar o nome do marcos.silva
+ Pronto, agora o usuário marcos.silva faz parte do grupo de Administração. ​
+ Agora podemos utilizar o compartilhamento de lista de contatos, um recurso muito útil. ​
+ - Clique em Grupos
+ - Listar grupos.
+ - Agora aparecerão dois grupos, Administração e TI.
+ - Selecione editar no grupo Administração. ​
+ - Em compartilhamento da lista de contatos selecione a segunda opção:
+ - Ativar o compartilhamento de lista de contatos de grupo.
+ - No campo que apareceu, digite o nome da lista de contatos de grupo, este nome será visto pelos outros grupos. ​
+ - Ex.: Administração Geral.
+ - Selecione o checkbox Compartilhar grupo com usuários adicionais
+ - Agora selecione os grupos que você quer que vejam que o grupo administração está online, ou selecione a opção todos os usuários.
+ - Selecione salvar as configurações da lista de contatos.
+ Agora para o Grupo TI:
+ - Selecione em Grupos.
+ - Aparecerão dois grupos, Administração e TI.
+ - Selecione editar no grupo TI.
+ - Em compartilhamento da lista de contatos selecione a segunda opção. Ativar o compartilhamento de lista de contatos de grupo.
+ - No campo que apareceu, digite o nome da lista de contatos de grupo, digite um nome, este será visto pelos outros grupos.
+ - Ex.: Tecnologia da Informação.
+ - Selecione o checkbox Compartilhar grupo com usuários adicionais e selecione os grupos que você quer que vejam que o grupo TI está online, ou selecione a opção todos os usuários
+ Agora quando os usuários conectarem vão aparecer os grupos TI e Administração com os seus respectivos integrantes. ​
+ ====== Configuração dos clientes ======
+ Demonstrarei como configurar os clientes Spark e Pidgin. ​
+ Podemos obter os clientes pelos seguintes endereços: ​
+ - Spark: http://​www.igniterealtime.org/​downloads/​index.jsp#​spark
+ - Pidgin: http://​www.pidgin.im/ ​
+ Se utilizar o Spark a configuração será a seguinte: ​
+ - Em usuário informe o nome do usuário cadastrado no Openfire.
+ - Em senha informe a senha definida para o usuário.
+ - Servidor informe o endereço ip do servidor Openfire, se seu servidor Openfire estiver local, digite localhost ou 127.0.0.1, se estiver em outra máquina digite o ip da outra máquina.
+ Se utilizar o pidgin:
+ - Menu contas/​Gerenciar contas
+ - Clique em adicionar
+ - Em protocolo selecione XMPP
+ - Apelido local: nome que aparece para os outros usuários
+ - Agora selecione avançado.
+ - Em servidor de conexão informe o ip do seu servidor.
+ - Selecione adicionar. ​
+ Pronto, estamos com os clientes configurados ​
+ Para alterarmos a senha padrão dos clientes, no cliente Pidgin isso é feito pelo menu Contas/​nomeusuário@dominio.com.br/​(XMPP)/​alterar senha. ​
+ No cliente Spark isso é feito pelo menu !Spark/​Preferências: ​
+ - A primeira opção Chat
+ - Em informações gerais
+ - Trocar senha para: novasenha
+ - Confirme a senha: novasenha ​
+ ====== Suporte a cliente web ======
+ Agora que já temos o nosso cliente local, vamos disponibilizar mais uma ferramenta, um cliente web. Isso pode ser muito útil quando você acaba precisando falar com alguém da empresa e está fora em uma lan ou na casa de um amigo, onde não tem o cliente Spark ou o Pidgin. ​
+ Podemos disponibilizar o acesso via https.
+ Vamos obter e disponibilizar o cliente web.
+ wget -c http://​wiki.douglasqsantos.com.br/​Downloads/​jabber/​sparkweb.tar.gz
+ tar -xzvf sparkweb.tar.gz -C /var/www/
+ cd /​var/​www/​sparkweb
+ cp SparkWeb.html index.html
+ Pronto, já temos o cliente.
+ ====== Agora vamos acertar os Virtuals Host para os nossos serviços trabalharem com https ======
+ Preparando o diretório que vai armazenar os certificados
+ Common Name (eg, YOUR name) []:​sparkweb.douglasqsantos.com.br
+ subject=/​C=BR/​ST=Parana/​L=Curitiba/​O=Douglas/​OU=Douglas/​CN=sparkweb.douglasqsantos.com.br/​emailAddress=douglas.q.santos@gmail.com
+ Vamos agora configurar o host virtual com o acesso via https para o nosso sparkweb.
+ OBS:. Não esqueça de inserir uma entrada no servidor DNS para resolver o seu endereço http://​sparkweb.douglasqsantos.com.br para o ip do servidor. ​
+ ip_servidor ​ sparkweb.douglasqsantos.com.br sparkweb
+ vim /​etc/​apache2/​sites-available/​sparkweb
+ ServerName sparkweb.douglasqsantos.com.br
+ Redirect / https://​sparkweb.douglasqsantos.com.br/ ​
+ DocumentRoot "/​var/​www/​sparkweb"​
+ <​Directory "/​var/​www/​sparkweb">​
+ </​Directory> ​ ​
+ CustomLog /​var/​log/​apache2/​sparkweb.access.log combined ​
+ ErrorLog /​var/​log/​apache2/​sparkweb.error.log ​
+ chown -R www-data:​www-data /​var/​www/​sparkweb/​
+ a2ensite sparkweb
+ Agora vamos habilitar ele com o seguinte comando. ​
+ Vamos fazer um acerto no arquivo de configuração do sparkweb vamos deixar o server como sparkweb.douglasqsantos.com.br
+ vim /​var/​www/​sparkweb/​index.html
+ function jive_sparkweb_getConfig()
+ server: "​sparkweb.douglasqsantos.com.br",​
+ connectionType:​ "​socket",​
+ port: "​5222",​
+ autoLogin: "​false"​
+ Agora podemos acessar ele pelo endereço http://​sparkweb.douglasqsantos.com.br ​
+ Podemos acessar ele pelo endereço local: ​
+ - http://​sparkweb.douglasqsantos.com.br
+ - http://​ip_servidor/​sparkweb
+ Insira o seu usuário em **User name**, o servidor em **Server** e a senha em **Password**. ​
+ ====== Gerenciamento de Logs ======
+ Habilite o seguinte plugin no seu servidor Openfire: Monitoring Service ​
+ Após isso selecione a opção servidor no seu openfire/​Arquivamento. ​
+ E fique a vontade para configurar os seus logs. fácil fácil. ​
+ **OBS: Caso utilize o monitoramento consulte o seu setor juridico pois todos os usuários tem que estar sabendo que estão sendo monitorados e eles tem que assinar um termo sobre isso.**
+ ====== Habilitando o plugin para o integrar o openfire com o MSN ======
+ Vamos obter o plugin do msn
+ cd /tmp && wget -c http://​wiki.douglasqsantos.com.br/​Downloads/​jabber/​gateway.tar.gz
+ Agora vamos descompactar ele em /​var/​lib/​openfire/​plugins/​. ​
+ tar -xzvf gateway.tar.gz -C /​var/​lib/​openfire/​plugins/​
+ Agora temos que habilitar ele no nosso servidor openfire. ​
+ Agora vamos utilizar mais uma ferramenta para deixar o nosso servidor mais completo. Vamos instalar um plugin para a integração do Openfire com o MSN.
+ O cliente que dá suporte a este tipo de integração é o Spark. ​
+ No console de administração do Openfire: ​
+ - Selecione plugins.
+ - Selecione plugins disponíveis.
+ - Procure o plugin "​Gateway IM", na última coluna está a opção instalar, selecione ela.
+ Pronto, habilitamos o plugins para a integração do Openfire com o MSN.
+ - Agora selecione em servidor/​gateways.
+ - Temos várias opções, mas aqui estarei mostrando a integração com o MSN.
+ - Selecione o checkbox do MSN Messenger. ​
+ - Aparecerão 3 opções: Testes, Opções e Permissões.
+ - Em Opções podemos configurar se vai aparecer notificação de emails, updates de nicknames, habilitar buddy icons e reconectar se desconectado. As opções ficam a seu critério.
+ - Em Permissões temos as seguintes questões:
+ - Todos os usuários podem se registrar;
+ - Esse usuário e/ou grupos podem se registrar;
+ - Somente registro manual (veja a seção registro para gerenciar). ​
+ - Se habilitar a primeira opção, todos os usuários poderão habilitar a integração do cliente Spark ou Pidgin com o MSN.
+ - Em Esse usuário ou grupo podemos limitar quem pode se registrar.
+ - Somente registro manual, o administrador do servidor Openfire poderá cadastrar os usuários que devem ter acesso ao MSN pelo Openfire.
+ - Se utilizar a última opção, em servidor/​gateways,​ do lado esquerdo, terá uma opção registros. Para registrar os usuários:
+ - Selecione adicionar um novo registro.
+ - Em usuário (JID) tem que informar o usuário openfire.
+ - Em gateway selecionar MSN
+ - Em usuário informar o usuário msn.
+ - Em senha a senha do msn.
+ - Em apelido o apelido que será mostrado para os usuários do MSN.
+ - Se escolher a primeira opção os usuários entrarão com o usuário e senha do MSN diretamente no seu cliente.
+ No cliente Spark habilita-se um ícone do MSN em cinza. É só clicar no ícone e selecionar a primeira opção, informar usuário e senha e pronto! ​
+ Nos usuários que forem do MSN vai aparecer o símbolo do MSN do lado direito do nome.
+ Acho que agora temos um servidor Openfire completo e com várias ferramentas. ​
+ Caso precise alterar a quantidade de memoria para o java faça da seguinte forma
+ vim /​etc/​default/​openfire
+ DAEMON_OPTS="​-Xmx1024m"​
+ Aqui o Xmx1024m é a quantidade de memoria utilizada pelo java aqui estou setando 1GB
+ ** Outro plugin que pode ser utilizado para a configuração do MSN com o openfire pode ser obtido em [[http://​wiki.douglasqsantos.com.br/​Downloads/​jabber/​kraken.jar | Kraken]] **