14 de jan. de 2012

Criando Grupos OpenFire AD


Ola pessoal, estarei contribuindo com mais uma dica ao forum para todos, esta sem duvida é uma dica importante para todos os fãs de Openfire no qual desejam padronizar seus Contatos por Grupos ou setores.

1 - Vamos partir com o Openfire ja instalado em seu ambiente (Windows ou Linux) com os plugins BroadCast - Fastpath Service e Subscription (voce pode baixa-los pelo site http://www.igniterealtime.org/projects/sparkweb/) e autenticação no seu AD funcionando.

2 - Seu Client IM tambem ja deve estar instalado e funcionando (indico o Sparkweb 0.9) ele possui algumas limitações (nao é possivel copiar e colar pela interface - nao é possivel enviar mensagem geral por grupo - sistema de alerta de novas mensagens ainda não é 100%) mas funciona para o basico.
Estas etapas 1 e 2 existem milhares de informações de como instalar e configurar, pesquisem no Viva ao Linux.

A estrutura...

* Minha estrutura do AD esta classificada no seguinte modelo
-Filial 1
--usuario1
--usuario2
--usuario3
-FIlial2
--usuario1
--usuario2
--usuario3
-Matriz
--Rh
---usuario1
---usuario2
---usuario3
--Compras
---usuario1
---usuario2
---usuario3
etc...

* Cada Filial esta dentro de uma OU separada e Cada OU tenho dois Grupos (DL - Dominio local e DG Dominio Global) os usuarios e o grupo DG sao menbros do grupo DL para fins de hierarquia e melhora na administração do AD via GPO.
Obs: Nao se assuste caso seu AD esteja com uma estrutura diferente, é apenas um exemplo, mais a frente voces verão o quanto economiza tempo tendo este modelo de estrutura.

** Voce deve Criar um Grupo para os usuarios que irão utilizar o Openfire assim facilita no momento de bloquear alguem. No meu caso eu criei um grupo (DL) chamado OPENFIRE, ou seja, se voce configurar o seu Openfire para autenticar todos os usuarios de seu AD e se o responsavel por algum departamento solicitar o bloqueio do openfire para este usuario voce vai passar um certo trabalho.

Mãos a Obra.

1 -  Acesse seu Openfire http://seuip:9090 clique em Usuarios / Grupos depois acesse Grupos - Lista de Grupos conforme imagen abaixo.
2 - Apos vamos acessar fazer uma pesquisa para encontrar o primeiro grupo que desejamos criar no openfire, utilize o campo pesquisa ao lado direito para facilitar, no exemplo abaixo estou pesquisando pelo grupo informatica.
 3 - Caso seu grupo não seja visualizado significa que o nome digitado na pesquisa esta incorreto. Em seguida clique sobre o grupo e sera visualizado os parametros abaixo na imagem. * Voce pode especificar o nome do grupo no meu exemplo coloquei o codigo da empresa mais o nome correspondente ao setor da empresa. * Voce pode compartilhar os contatos deste grupo com todos os grupos do AD, ou seja, se outro setor logar no openfire ele ira ver os usuarios da informatica (conforme o grupo abaixo) em sua lista de contatos, sendo assim os usuarios não poderão excluir os usuarios de sua lista pois eles estão "amarrados". No menu mais abaixo estão os usuarios que pertencem a este grupo.

 4 - Repita este processo com os demais grupos de seu AD compartilhando os setores de sua empresa na lista de contatos, abaixo uma imagem dos grupos na empresa ao qual trabalho.

5 - É importante voce possuir este metodo de controle de grupos para facilitar na administração, ou seja, se um novo colaborador entrar na empresa ou sair, quando voce eliminar o usuario do mesmo(a) no AD automaticamente ele sera excluido de todos os contatos, facilitando tambem a segurança que todos os contatos tem adicionado em seu openfire (cliente IM) os respectivos usuarios liberados ao mesmo.

Espero ter ajudado a todos, grande abraço.


6 comentários:

  1. Foi muito útil, obrigado!

    ResponderExcluir
  2. Olá,

    Estou tentando seguir o processo, mas estou com o seguinte erro;

    HTTP ERROR 500
    Problem accessing /group-edit.jsp. Reason:
    Server Error

    Caused by:
    java.lang.UnsupportedOperationException at java.util.AbstractMap.put(AbstractMap.java:186) at org.jivesoftware.openfire.admin.group_002dedit_jsp._jspService(group_002dedit_jsp.java:164) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1359) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330) at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:74) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330) at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330) at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:78) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330) at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:164) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:478) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:941) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110) at org.eclipse.jetty.server.Server.handle(Server.java:349) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441) at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:919) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:582) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533) at java.lang.Thread.run(Thread.java:662)
    Powered by Jetty://

    Pode me ajudar?

    ResponderExcluir
  3. Ola Amigo, seu servidor e linux? caso sim verifique se a pasta onde encontra-se o openfire instalado possui permissão de leitura e escrita. Mande mais informações sobre o seu server. Abraços

    ResponderExcluir
    Respostas
    1. Você sabe aumentar memória do Java? mas eu não consigo resolver há quase 2 meses.

      Excluir
    2. Usuários Linux:

      Acesse o diretório raiz do Openfire (no meu caso fica em /opt/openfire)
      Acesse o diretório bin
      Edite o script openfire e descomente a linha INSTALL4J_ADD_VM_PARAMS como no exemplo abaixo:



      #! /bin/sh

      # Uncomment the following line to override the JVM search sequence
      # INSTALL4J_JAVA_HOME_OVERRIDE=
      # Uncomment the following line to add additional VM parameters
      # INSTALL4J_ADD_VM_PARAMS=
      #---------------------------------------------------------------------



      INSTALL4J_ADD_VM_PARAMS="-Xms512m -Xmx1024m" # o primeiro parâmetro é o mínimo e o segundo é o máximo. Ambos podem ser iguais, se for o caso.
      #---------------------------------------------------------------------



      Reinicie o Openfire.

      Usuários Windows

      Acesse o diretório raiz do Openfire
      Acesse o diretório BIN
      Se você usa o Openfire como um serviço Windows, dentro do diretório BIN crie um arquivo de texto chamado "openfire-service.vmoptions" sem aspas e a extensão é essa mesma vmoptions.
      Cada parâmetro da VM deve ser uma nova linha no arquivo. Por exemplo para setar um mínimo de 512M e máximo de 1024M, você deve usar:

      -Xms512m
      -Xmx1024m

      Se você não usar o Openfire como serviço crie o arquivo openfired.vmoptions (o conteúdo é o mesmo, só muda o nome do arquivo).
      Reinicie o Openfire

      Espero que esse post ajude os usuários nessa dúvida que atormenta tanta gente.

      Usuários de Linux que usam o .rpm:

      Edite o arquivo /etc/sysconfig/openfire
      Descomente a linha: OPENFIRE_OPTS=-Xmx1024m
      Altere o tamanho que se deseja (1024m é só uma sugestão).

      Excluir
  4. Amigo.. como crio sub grupos nos grupos criados?

    ResponderExcluir