Servidor Openfire integrado ao Active Directory (Nível de Floresta 2008 R2)

Hardware / Softwares / Instalação

Hardware

Como Hardware, usei os seguintes componentes:

  • Um microcomputador Dell OptiPlex L170;
  • Um processador Pentium 4;
  • Um pente de memória de 1 GB;
  • Um HD de 80 GB.

Softwares

Como Softwares, foi usado os seguintes programas:

  • Sistema operacional Debian GNU/Linux 6.0;
  • Software Openfire v.3.8.2;
  • Java v.1.0.6_26;
  • Spark como clientes do comunicador;
  • Serviço do Apache;
  • PyMSNt;
  • Jabber 14.

Instalação

Todas as instalações foram feitas via apt-get, apenas o Openfire que foi baixado via Wget e posteriormente instalado. Os métodos serão descritos abaixo, lembrando que devemos ter um sources.list configurado e estar logado como root. Vamos lá?

# apt-get install pymsnt
# apt-get install sun-java6-bin
# apt-get install mysql-5.0
# apt-get install php5
# apt-get install apache2
# apt-get install jabber14
# wget [E O LINK PARA DOWNLOAD DO OPENFIRE MAIS RECENTE]
# dpkg -i openfire_3.8.2_all.deb

Observação 1: dpkg -i é o comando e o restante, é o pacote do Openfire que baixei.

Observação 2: lembre-se de colocar senha no usuário root do MySQL por questões de segurança e, caso seja necessário, acrescente os repositórios necessários para a instalação do Java, eu uso o Linorg, mas tem mais, basta escolher.

Banco de dados / Active Directory

Configuração do banco de dados

Para configurar o banco de dados, basta digitar os comandos abaixo, necessário estar logado como root:

# mysql -u root -p
# mysql -u root -p -e “CREATE DATABASE openfire”
# mysql -u root -p -e “GRANT USAGE ON * . * TO ‘openfire’@’localhost’ IDENTIFIED BY ‘SENHA'”
# mysql -u root -p -e “GRANT ALL PRIVILEGES ON openfire . * TO ‘openfire’@’localhost'”
# cat openfire_mysql.sql | mysql -u root -p openfire
  # Observação: arquivo usado para moldar o banco de dados.

Comentando as linhas:

  1. Acessando o servidor MySQL usando o usuário root e o -p e a autenticação por senha.
  2. Criando o banco de dados Openfire.
  3. Criando o usuário openfire onde está SENHA, usa-se a senha que será criada para o usuário openfire.
  4. Aumentando os privilégios do usuário openfire.

Preparando o Active Directory

Neste ponto, iremos preparar nosso Active Directory para que a integração seja feita, para isso, siga os passos abaixo:

1 Passo: criar o usuário administrador do Openfire, para isto, basta acessar a Unidade Organizacional USERS e criar o usuário.

2 Passo: criar o grupo a ser usado, para isto, basta acessar também a UO USERS e criar um grupo. No meu caso, usei o grupo grupoopenfire, daí, coloquei como membro deste grupo, todos os usuários de meu domínio.

Observação 1: apenas gostaria de salientar que, se usarem o usuário openfire e o grupo grupoopenfire dentro da UO USERS, no próximo capítulo deste artigo, é só copiar a configuração de busca avançada que dará certo:

(&(objectCategory=person)(objectClass=user)(memberOf=CN=grupoopenfire,CN=users,DC=seudominio,DC=com,DC=br))

Observação 2: tentei usar o grupo USUÁRIOS DO DOMÍNIO para não ter que criar um outro grupo, mas não consegui fazer a integração, caso consigam.

Integração com o Active Directory

Caso o Firewall não esteja bloqueando o acesso, para acessar, basta digitar o IP do servidor Openfire, em um navegador, de preferência o Mozilla Firefox:

http:\\xxx.xxx.xxx.xxx:9090
Ou:
https:\\xxx.xxx.xxx.xxx:9091

Basta seguir as telas de configuração. Descreverei todas, porém, não colocarei imagens:

1. Tela de configuração da linguagem a ser usada.

2. Em Domínio, coloque o nome do servidor onde está instalado o Openfire e não altere as portas configuradas.

3. Escolha a opção: CONEXÃO PADRÃO DO BANCO DE DADOS

4. Escolha a opção: MySQL

  • Onde está: CLASSE DO DRIVER JDBC
  • Coloque: com.mysql.jdbc.Driver
  • E: URL DO BANCO DE DADOS
  • Coloque: jdbc:mysql://localhost:3306/openfire

Depois, coloque o usuário e senha de acesso ao banco de dados.

5. Escolha a opção: SERVIDOR DE DIRETÓRIOS (LDAP)

6. Nesta tela, escolha “TIPO DE SERVIDOR” Active Directory, Host o IP do seu servidor, em porta não alterar.

  • Em: DN BASE
  • Coloque: DC=seudominio,DC=com,DC=br
  • E em: DN ADMINISTRADOR
  • Coloque o usuário criado para gerenciar o Openfire, por exemplo: CN=usuario,CN=users,DC=seudominio,DC=com,DC=br

7. Nesta tela, iremos filtrar o grupo onde queremos buscar nossos usuários, basta alterar a opção avançada e colocar o seguinte:

(&(objectCategory=person)(objectClass=user)(memberOf=CN=grupoopenfire,CN=users,DC=seudominio,DC=com,DC=br))

8. Nesta tela, nada se altera.

9. Nesta tela, digitamos o usuário que criamos para gerenciar o servidor Openfire.

10. Nesta tela, logaremos no servidor Openfire e navegaremos até a aba USUÁRIOS/GRUPO e verificamos a existência dos usuários.

Servidor Openfire / Plugins

Configurações do Servidor Openfire

Algumas opções que achei necessário configurar na console de administração do Openfire vou mostrá-las aqui, seguem:

  • Na aba Servidor → Gerenciamento do servidor → Propriedades do servidor: pode ser mudado as configurações de usuário administrador do Openfire e as propriedades de conexão com o AD.
  • Na aba Servidor → Gerenciamento do servidor: pode ser configurado o recurso de e-mail.
  • Na aba Servidor → Gerenciamento do servidor: pode ser visualizado os logs do servidor.
  • Na aba Servidor → Gerenciamento do servidor → Configurações do servidor: pode ser alterado os diretórios de acesso ao AD.
  • Na aba Servidor → Gerenciamento do servidor → Configurações do servidor: pode ser alterado as configurações de entrega offline de mensagens.
  • Na aba Servidor → Gerenciamento do servidor → Configurações do servidor: pode ser alterado as Configurações de transferência de arquivos.
  • Na aba Servidor → Gerenciamento do servidor → Configurações do servidor → Registro & Login: pode ser alterado a maneira como os usuários farão login, como login anônimo, criar contas de usuários via cliente, etc.
  • Na aba Usuários/Grupos → Grupos: será mostrado todos os grupos que foram trazidos do AD. Neste ponto, é fundamental abrir os grupos de segurança do AD e marcar a opção DESATIVAR O COMPARTILHAMENTO DE LISTA DE CONTATOS DE GRUPO, isso evita mostrar os usuários de gestão do seu AD.
  • Na aba Usuários/Grupos → Grupos: Abra de um em um todos os grupos administrativos de sua empresa e marque a opção ATIVAR COMPARTILHAMENTO DE LISTA DE CONTATOS DE GRUPO. Na linha de baixo, coloque o nome do grupo grupoopenfire, marque a opção COMPARTILHAR GRUPO COM USUÁRIO ADICIONAL, depois marque a opção OS SEGUINTES GRUPOS e procure pelo grupogrupoopenfire. Fazendo este procedimento para todos os grupos administrativos de sua empresa, você conseguirá visualizar todos os usuários da rede mesmo eles estando offline.

Observação: estas opções, eu achei necessárias. Mas a console nos dá várias outras opções de configuração, basta escolher as que melhor se encaixa em seu ambiente.

Plugins

Os plugins do Openfire são de grande valia, pois auxiliam muito no gerenciamento do sistema.

Na aba PLUGINS → ADMINISTRAÇÃO DE PLUGINS → PLUGINS DISPONÍVEIS: tem todos os plugins disponíveis prontos para o uso, citarei os que ativei e achei necessário para uso no meu ambiente:

  • Broadcast :: usado para mandar mensagem para todos os usuários usados no servidor.
  • Email Listener :: usado para enviar mensagens de e-mail para usuários específicos.
  • Load Statistic :: usado para gerar estatísticas do servidor.
  • Monitoring Service :: usado para monitoramento de conversas entre usuários.
  • Packet Filter :: usado para definir regras de ética entre as conversas.
  • User import export :: habilita a importação e exportação de lista de contatos.

Caso queira usar plugins que não estão disponíveis no servidor, basta procurar o plugin na Internet, o plugin vem com a extensão .jar, feito isso, basta colocar o arquivo baixado dentro da pasta /usr/share/openfire/plugins, reiniciar o serviço do Openfire e ativá-lo via console.

Erros encontrados

Pessoal, até o momento, ainda estou em fase de homologação da ferramenta e o erro que encontrei, até o momento, foi ao usar o Console de Gerenciamento com o Internet Explorer, após migrá-lo para o Mozilla Firefox, não encontrei mais erro algum.

Outro erro constante que vejo em fóruns, é a de aumentar a memória de uso para o Java, mas, como disse, existem diversos tutoriais na Internet de como fazer esta alteração.

Rolar para cima