Servidor Openfire integrado ao Active Directory (Nível de Floresta 2008 R2)
O intuito deste artigo, é descrever de forma prática a implantação de um Servidor Jabber usando o Openfire, mas com autenticação no Active Directory. Neste artigo, procurei colocar todas a informações que tive ao desenvolver meu projeto em um único lugar, pois encontrei muita documentação na Internet de forma aleatória, então, decidi colocar tudo em um único artigo.
Parte 2: 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:
- Acessando o servidor MySQL usando o usuário root e o -p e a autenticação por senha.
- Criando o banco de dados Openfire.
- Criando o usuário openfire onde está SENHA, usa-se a senha que será criada para o usuário openfire.
- 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
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.