12.07.2015 Views

O ejabberd - Linux New Media

O ejabberd - Linux New Media

O ejabberd - Linux New Media

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

TUTORIAL | Comunicador instantâneo profissionalComunicador instantâneo para uso profissionalTUTORIALSe não podevencê-los...Para a maioria das empresas, o comunicador instantâneo éinimigo da produtividade, mas podemos torná-lo um aliado.por Adriano Matos MeierDentre as diferentes formas de secomunicar na Internet, passamospor aplicativos que marcaramgerações, como o IRC ( InternetRelay Chat ) e o ICQ (acrônimo de ISeek You , em português “eu te procuro”).Na atualidade, os programas MSNMessenger, Google Talk e Skype estãoentre os mais utilizados (além, é claro,das páginas de redes sociais).Normalmente as empresas e instituiçõesde ensino não permitem autilização desses programas. De umlado estão os administradores da rede,configurando firewalls e proxies (e outrasferramentas do seu arsenal) parabloquear as tentativas de utilização.De outro estão os incansáveis usuários,em busca de formas de burlar osbloqueios da rede para bater um papocom os amigos em pleno expediente.Porém há um terceiro grupo, que vêno IM uma oportunidade de aumentara flexibilidade e o dinamismo, eainda reduzir custos operacionais.O protocolo XMPPEm 1998, Jeremie Miller iniciou oprojeto Jabber, um protocolo abertopara troca de mensagens instantâneasbaseado em XML. O principal frutodo projeto foi o servidor Jabberd. Em2002 o projeto foi formalizado peloIETF com o nome de XMPP [1] .Atualmente outros serviços utilizamo protocolo XMPP, como oGoogle Talk e o Facebook, e essaadesão só tende a crescer, visto quea comunidade continua a definirvárias extensões para o protocolo.O <strong>ejabberd</strong>O <strong>ejabberd</strong> [2] é um servidor de IMbaseado no protocolo XMPP. É escritoem Erlang/OTP, distribuído sob alicença GPLv2. Possui versões para ossistemas GNU/<strong>Linux</strong>, *BSD, Mac OSX e Microsoft Windows. Possui aindauma interface web para a administração,o que também pode ser feito via linhade comando. Tem suporte ao balanceamentode carga e armazenamento dedados distribuído (tolerância a falhas),criptografia dos dados trafegados (SSL/TLS), suporte a chat multiusuário e suporteao IPv6, além de outros recursos.Instalação econfiguraçãoOs binários do <strong>ejabberd</strong> podem serobtidos na página oficial do projeto[2] , mas também são encontradosnos repositórios das principaisdistribuições. Para uma instalaçãono Debian (e derivados) basta umFigura 1 Interface do servidor de IM.apt-get install <strong>ejabberd</strong> . Existetambém um dispositivo virtual quefornece um servidor <strong>ejabberd</strong>, disponívelno site TurnKey <strong>Linux</strong> [3] .Primeiro deve-se editar o seu principalarquivo de configuração com vi/etc/<strong>ejabberd</strong>/<strong>ejabberd</strong>.cfg . É precisoinformar o nome do servidor (nocaso de domínios adicionais, deve-sesepará-los por vírgula):{hosts, ["<strong>ejabberd</strong>.empresa.com.br"]}.Nativamente o <strong>ejabberd</strong> utiliza umabase de dados Mnesia, mas também temsuporte ao MySQL e ao PostgreSQL.Se for utilizar o PostgreSQL, é necessárioinstalar o pacote odbc-postgresql .Para que o <strong>ejabberd</strong> utilize uma baseMySQL, a configuração seria:{auth_method, odbc}.{odbc_server, {mysql, "server","porta", "database", "username","password"}}.A base de dados pode ser utilizada,por exemplo, para registrar os diálogose para armazenar as contas dos usuários(autenticação); porém, configuraremoso <strong>ejabberd</strong> para autenticar osusuários em uma base LDAP.60 www.linuxmagazine.com.br


Comunicador instantâneo profissional | TUTORIALPrimeiro, é preciso desativar omodo de autenticação interno (padrão),adicionando dois sinais deporcentagem para comentar a linha,que deve ficar da seguinte forma:%%{auth_method, internal}.Posteriormente, deve-se retirar ocomentário das linhas referentes àautenticação no LDAP, além de informaros parâmetros de acesso a ele:{auth_method, ldap}.{ldap_servers,["ldap.empresa.com.br"]}.{ldap_encrypt, none}.{ldap_port, 389}.{ldap_rootdn, "cn=jabber,dc=empresa,dc=com,dc=br"}.{ldap_password, "senha123"}.{ldap_base, "ou=users,dc=empresa,dc=com,dc=br"}.{ldap_filter, "(Services=jabber)"}.Deve-se definir pelo menos umusuário administrador do servidor.Este usuário terá acesso à interfaceweb de administração. Deve-se tambéminformar o login do usuário (noLDAP) e o servidor:{acl, admin, {user,"administrador", "<strong>ejabberd</strong>.empresa.com.br"}}.Agora o serviço deve ser reinicializadopara que as configuraçõesentrem em vigor, com /etc/init.d/<strong>ejabberd</strong> restart . Para acessar a interfacede administração basta acessara URL http://<strong>ejabberd</strong>.empresa.com.br:5280/admin em seu navegador,informar o login e senha doadministrador, que neste caso seráadministrador@<strong>ejabberd</strong>.empresa.com.br e a senha desse usuário. Atravésda interface ( figura 1 ) é possível configurare verificar o funcionamentodo servidor, como os usuários queestão online e demais estatísticas.Comandos de consolePara verificar os comandos de administraçãodisponíveis, digite <strong>ejabberd</strong>ctl. Por exemplo, se você nãofor utilizar uma base LDAP paraautenticar os usuários, será precisoregistrá-los. Para cadastrar umusuário o comando é:<strong>ejabberd</strong>ctl register usuário<strong>ejabberd</strong>.empresa.com.br senhaPara verificar o status do servidor:<strong>ejabberd</strong>ctl statusPara verificar os usuários conectados:<strong>ejabberd</strong>ctl connected-usersPara alterar a senha de um usuário:<strong>ejabberd</strong>ctl set-password usuário<strong>ejabberd</strong>.empresa.com.br senhaAs portas padrão utilizadas peloservidor <strong>ejabberd</strong> são a 5222/tcp(cliente-servidor), 5269/tcp (servidor--servidor) e a 5280/tcp (interface web).Na ocorrência de problemas, os logsdo serviço são registrados em /var/log/<strong>ejabberd</strong>/<strong>ejabberd</strong>.log .ClienteCom o servidor pronto é preciso instalare configurar os clientes. Muitassão as possibilidades de clientes quesuportam o protocolo XMPP. Dentreos mais utilizados está o Pidgin[4], disponível também para o MicrosoftWindows e com suporte aoutras redes, como MSN, GoogleTalk, Yahoo, ICQ, IRC, entre outras.Por isso o Pidgin é consideradoum comunicador universal. A suainterface é extremamente amigável( figura 2 ) e possui uma série de recursosinteressantes, como uso detemas, suporte a múltiplas contas deacesso e diversas conversas em umaúnica janela, conversação com áudioe vídeo, entre outros.Considerações finaisAos que quiserem se aprofundar noprotocolo XMPP, no site oficial sobreo protocolo encontram-se bons livrossobre o assunto [5] . Existem outrosprojetos de servidores de mensageminstantânea baseados no protocoloXMPP, como o OpenFire [6] e o Prosody[7] , são dois bons exemplos. ■Figura 2 O cliente Pidgin é uma dasopções para redes XMPPMais informações[1] XMPP: http://xmpp.org/[2] <strong>ejabberd</strong>: http://www.<strong>ejabberd</strong>.im/[3] Appliance <strong>ejabberd</strong>:http://www.turnkeylinux.org/<strong>ejabberd</strong>/[4] Pidgin: http://pidgin.im/[5] Livros sobre o protocoloXMPP: http://xmpp.org/about/books.shtml[6] OpenFire: http://www.igniterealtime.org/projects/openfire/[7] Prosody: http://prosody.im/O autorAdriano Matos Meier ( matos@sc.senai.br )é Tecnólogo em Redes de Computadores ePós-Graduando em Gestão de Segurança daInformação. Atualmente é analista de redes noSENAI de Santa Catarina. Também atua comoinstrutor de treinamento GNU/<strong>Linux</strong>.Gostou do artigo?Queremos ouvir sua opinião.Fale conosco emcartas@linuxmagazine.com.brne.comEste artigo no nosso site:http://lnm.com.br/article/5960<strong>Linux</strong> Magazine #84 | Novembro de 201161

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!