{"id":263,"date":"2013-10-04T08:49:25","date_gmt":"2013-10-04T07:49:25","guid":{"rendered":"http:\/\/papimigas.wordpress.com\/?p=263"},"modified":"2013-10-04T08:49:25","modified_gmt":"2013-10-04T07:49:25","slug":"raspberry-social-server","status":"publish","type":"post","link":"https:\/\/blog.papimigas.com\/index.php\/2013\/10\/04\/raspberry-social-server\/","title":{"rendered":"Raspberry Openfire Social Server"},"content":{"rendered":"<p>Com o passar dos anos todos vamos acumulando v\u00e1rias contas de conversa\u00e7\u00e3o on-line. Os mais &#8220;antigos&#8221; (como eu) ter\u00e3o come\u00e7ado no <a href=\"http:\/\/pt.wikipedia.org\/wiki\/Internet_Relay_Chat\" target=\"_blank\">IRC<\/a>, depois no MSN, Google talk e mais recentemente no Facebook chat.<\/p>\n<p>Bom, isto d\u00e1 uma dor de cabe\u00e7a na hora de configurar um novo pc ou telem\u00f3vel, para al\u00e9m de ter que lembrar palavras-passe e usar v\u00e1rios programas. E porque n\u00e3o ter uma \u00fanica conta em que as v\u00e1rias contas de chat j\u00e1 est\u00e3o configuradas e na hora de se configurar um novo dispositivo basta uma simples configura\u00e7\u00e3o? Muitos dir\u00e3o: &#8220;Isso j\u00e1 h\u00e1!&#8221; Temos o <a href=\"http:\/\/www.ebuddy.com\/\" target=\"_blank\">EBuddy<\/a>\u00a0ou comercialmente o fant\u00e1stico <a href=\"https:\/\/www.trillian.im\/\" target=\"_blank\">Trillian<\/a>. \u00c9 verdade mas isso obriga a manter as nossas contas nas m\u00e3os de terceiros, o que de certo modo p\u00f5e a nossa privacidade em risco. E se tiv\u00e9ssemos um servidor em casa que fizesse o mesmo?<\/p>\n<p><img decoding=\"async\" class=\"alignleft\" alt=\"\" src=\"http:\/\/wetalknerdy.tv\/site\/wp-content\/uploads\/raspberry_pi.png\" \/><\/p>\n<p>Quando olho para o meu Raspberry Pi surge-me logo o seguinte pensamento: &#8220;O que vou tentar fazer hoje contigo?&#8221; Pois bem, desta vez o meu RasPi ficou social \ud83d\ude00<\/p>\n<p>H\u00e1 uma p\u00e9rola no Open-Source de seu nome <a href=\"http:\/\/www.igniterealtime.org\/projects\/openfire\/\" target=\"_blank\">OpenFire<\/a>\u00a0que nos vai ajudar nesta miss\u00e3o!<\/p>\n<p>Este projecto \u00e9 v\u00e1lido para qualquer m\u00e1quina e sistema <a href=\"http:\/\/www.igniterealtime.org\/builds\/openfire\/docs\/latest\/documentation\/install-guide.html\" target=\"_blank\">compat\u00edvel<\/a> com OpenFire mas parto do princ\u00edpio que o v\u00e3o fazer num Raspberri Pi Mod. B, com o mais recente <a href=\"http:\/\/www.raspbian.org\/\" target=\"_blank\">Raspbian<\/a>. O baixo consumo do RasPi,\u00a0tamanho pequeno e razo\u00e1vel performance tornam-no o equipamento ideal para o efeito. Tamb\u00e9m presumo que v\u00e3o ter um servi\u00e7o de <a href=\"http:\/\/papimigas.wordpress.com\/2013\/08\/27\/dns-dinamico-num-servidor-ubuntudebian\/\" target=\"_blank\">DNS din\u00e2mico <\/a>configurado e pelo menos a porta 5222 aberta no router para o vosso RasPi.<\/p>\n<p>Come\u00e7amos ent\u00e3o por desinstalar o Java da Oracle caso esteja instalado (no Raspbian mais recente est\u00e1!):<\/p>\n<p><strong><em>sudo apt-get purge oracle-java7-jdk<\/em><\/strong><\/p>\n<p>Em seguida instalamos o Java-JRE:<\/p>\n<p><em><strong>sudo apt-get install default-jre<\/strong><\/em><\/p>\n<p>Por fim fazemos download do pacote de instala\u00e7\u00e3o do OpenFire:<\/p>\n<p><strong><em>wget -O openfire_3.8.2.deb \u00a0http:\/\/www.igniterealtime.org\/downloadServlet?filename=openfire\/openfire_3.8.2_all.deb<\/em><\/strong><\/p>\n<p>E instalamos:<\/p>\n<p><strong><em>sudo dpkg -i\u00a0openfire_3.8.2.deb<\/em><\/strong><\/p>\n<p>&#8230; J\u00e1 est\u00e1 instalado! Vamos configurar?<\/p>\n<p>Temos \u00a0que aceder por browser ao nosso RasPi. Abrimos o navegador e escrevemos:<\/p>\n<p><strong><em>http:\/\/raspberry_ip:9090<\/em><\/strong><\/p>\n<p><a href=\"http:\/\/papimigas.wordpress.com\/wp-content\/uploads\/2013\/10\/openfire.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-284 aligncenter\" alt=\"openfire\" src=\"http:\/\/papimigas.wordpress.com\/wp-content\/uploads\/2013\/10\/openfire.png?w=614\" width=\"614\" height=\"516\" \/><\/a><\/p>\n<p>Se tudo correu bem vamos encontrar uma p\u00e1gina onde escolhemos a linguagem de configura\u00e7\u00e3o Tem Portugu\u00eas Brasil que foi a minha escolha. Nas p\u00e1ginas seguintes vamos configurar o servidor. Podem usar os valores que s\u00e3o apresentados por defeito em caso de d\u00favida.<\/p>\n<p>Posso-vos dizer que no meu RasPi, ap\u00f3s a ultima p\u00e1gina (onde defini a palavra-passe do admin) tive que aguardar uns bons 20 minutos. Altura para um caf\u00e9 \ud83d\ude1b<\/p>\n<p>Por fim deparamo-nos com a seguinte p\u00e1gina:<\/p>\n<p><a href=\"http:\/\/papimigas.wordpress.com\/wp-content\/uploads\/2013\/10\/openfire1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-271 aligncenter\" alt=\"OpenFire1\" src=\"http:\/\/papimigas.wordpress.com\/wp-content\/uploads\/2013\/10\/openfire1.png?w=614\" width=\"614\" height=\"244\" \/><\/a><\/p>\n<p>Como configurar?<\/p>\n<p><a href=\"http:\/\/papimigas.wordpress.com\/wp-content\/uploads\/2013\/10\/openfire11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-272 aligncenter\" alt=\"OpenFire1\" src=\"http:\/\/papimigas.wordpress.com\/wp-content\/uploads\/2013\/10\/openfire11.png\" width=\"571\" height=\"135\" \/><\/a><\/p>\n<p>1 &#8211; Configurar o utilizador (tab <em>Usu\u00e1rios\/Grupos<\/em>) e se for para mais que um utilizador conv\u00e9m criar um grupo tamb\u00e9m para que possam conversar directamente (quem quiser mais protec\u00e7\u00e3o pode at\u00e9 encriptar a conversa)<\/p>\n<p>2 &#8211; Ir ao tab <em>Plugins<\/em> e ativar o\u00a0<strong>Kraken IM Gateway<\/strong><\/p>\n<p>3 &#8211; Ir ao tab <em>Servidor<\/em> e no sub-tab \u00a0<em>Gateways\u00a0<\/em>realizar duas tarefas:<\/p>\n<p>a) Nos <em>Transports\u00a0<\/em>activar os protocolos pretendidos:<\/p>\n<p><a href=\"http:\/\/papimigas.wordpress.com\/wp-content\/uploads\/2013\/10\/openfire2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-273 aligncenter\" alt=\"OpenFire2\" src=\"http:\/\/papimigas.wordpress.com\/wp-content\/uploads\/2013\/10\/openfire2.png?w=300\" width=\"300\" height=\"183\" \/><\/a><\/p>\n<p>b) Nos <em>Registrations<\/em>\u00a0adicionamos as nossas contas sociais:<\/p>\n<p><a href=\"http:\/\/papimigas.wordpress.com\/wp-content\/uploads\/2013\/10\/openfire3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-274 aligncenter\" alt=\"OpenFire3\" src=\"http:\/\/papimigas.wordpress.com\/wp-content\/uploads\/2013\/10\/openfire3.png?w=300\" width=\"300\" height=\"135\" \/><\/a><\/p>\n<div><strong>usu\u00e1rio (JID) &#8211; <\/strong>Utilizador criado no ponto 1<\/div>\n<div><strong>gateway &#8211;\u00a0<\/strong>Protocolo pretendido<\/div>\n<div><strong>usu\u00e1rio &#8211; <\/strong>Utilizador da conta externa (Gmail, Facebook, etc)<\/div>\n<div><strong>senha &#8211;\u00a0<\/strong>Palavra-passe da conta externa<\/div>\n<div><strong>apelido &#8211;\u00a0<\/strong>Nome a apresentar para a conta externa (nickname)<\/div>\n<p>E pronto! Podemos ligar-nos ao nosso servidor com um IM-client. O protocolo usado ser\u00e1 o <a href=\"http:\/\/xmpp.org\/\" target=\"_blank\">XMPP<\/a>.<\/p>\n<div>Relativamente a portas do router que este servidor usa ser\u00e3o:<\/div>\n<div><\/div>\n<div>TCP 7777 \u2013 IM file transfer<\/div>\n<div>TCP 7443 &#8211; SSL HTTP Bind<\/div>\n<div>TCP 7070 &#8211; HTTP Bind<\/div>\n<div>TCP 5269 &#8211; S2S port<\/div>\n<div>TCP 5223 &#8211; SSL XMPP Jabber<\/div>\n<div>TCP 5222 &#8211; TLS XMPP Jabber<\/div>\n<div>TCP 9090 &#8211; Gest\u00e3o Backoffice<\/div>\n<div>TCP 9091 &#8211; Gest\u00e3o Backoffice SSL<\/div>\n<div>TCP 3478-3479 &#8211; STUN port<\/div>\n<div>TCP 1935 &#8211; Red5 RTMP port<\/div>\n<div>TCP,UDP 3000-3039 &#8211; RTP port<\/div>\n<div>TCP,UDP 5060-5099 &#8211; SIP ports<\/div>\n<div>\n<p>A mais importante (essencial mesmo!) ser\u00e1 a 5222. A porta 7777 ser\u00e1 necess\u00e1ria se quiserem trocar ficheiros com os outros contactos. N\u00e3o aconselho mais nenhuma a n\u00e3o ser que precisem mesmo \ud83d\ude42<\/p>\n<\/div>\n<div>Para desktop costumo usar o <a href=\"http:\/\/pidgin.im\/\" target=\"_blank\">Pidgin<\/a> (Em Linux, Windows ou OSX). Para o Android uso o <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.xabber.android&amp;hl=pt_PT\" target=\"_blank\">Xabber<\/a>\u00a0mas podem usar qualquer um que suporte o protocolo XMPP.<\/div>\n<div>Como configurar?<\/div>\n<div>F\u00e1cil, Adicionam uma conta XMPP, no campo de utilizador escrevem o criado_no_ponto1@DNS_dinamico e respetiva palavra passe. Por exemplo, eu criei um utilizador\u00a0<em>joao<\/em>\u00a0e o DNS din\u00e2mico \u00e9\u00a0<em>mensageiro.dyndns.org<\/em>. No nome de utilizador coloco\u00a0<em>joao@mensageiro.dyndns.org.\u00a0<\/em><\/div>\n<div>Ap\u00f3s alguns segundos o programa vai perguntar se aceitam o certificado e os vossos contactos come\u00e7ar\u00e3o a aparecer!<\/div>\n<div><\/div>\n<div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Com o passar dos anos todos vamos acumulando v\u00e1rias contas de conversa\u00e7\u00e3o on-line. Os mais &#8220;antigos&#8221; (como eu) ter\u00e3o come\u00e7ado no IRC, depois no MSN, Google talk e mais recentemente no Facebook chat. Bom, isto d\u00e1 uma dor de cabe\u00e7a na hora de configurar um novo pc ou telem\u00f3vel, para al\u00e9m de ter que lembrar &hellip; <a href=\"https:\/\/blog.papimigas.com\/index.php\/2013\/10\/04\/raspberry-social-server\/\" class=\"more-link\">Continuar a ler<span class=\"screen-reader-text\"> &#8220;Raspberry Openfire Social Server&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[63,74,89,98,121,124,141],"class_list":["post-263","post","type-post","status-publish","format-standard","hentry","category-raspberry","tag-facebook","tag-gtalk","tag-messenger","tag-openfire","tag-raspberri-pi","tag-raspbian","tag-social"],"_links":{"self":[{"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/posts\/263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/comments?post=263"}],"version-history":[{"count":0,"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/posts\/263\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/media?parent=263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/categories?post=263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/tags?post=263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}