Quando há um LDAP server na rede, nesse caso o eDirectory, é interessante manter uma centralização dos usuários pois não é necessário ficar criando usuários manualmente nem os usuários terão várias senhas para guardar.
Parto do princípio que já tenha o Apache instalado e funcionando.
É necessário o mod_authz_ldap para configurar essa autenticação com o LDAP.
Instalando o mod_authz_ldap
No CentOS / Red Hat, para instalar:
yum install mod_authz_ldap
Configurando o diretório que deverá ser autenticado
O que é necessário saber do eDirectory server para poder autenticar com sucesso:
- IP do server
- Usuário para fazer o bind, ou seja, é o usuário que tem permissão para realizar a busca na árvore
- Se for fazer a autenticação baseada em grupo, saber qual grupo e em que contexto está esse grupo
Usando vhost
Nesse exemplo, utilizarei o conceito de vhost para a configuração da restrição de acesso.
Para isso, criar um arquivo de configuração no diretório /etc/httpd/conf.d chamado wordpress.conf e seu conteúdo é como abaixo
Controle por grupo
No caso, o grupo chama-se GRP_Wordpress.
Arquivo: /etc/httpd/conf.d/wordpress.conf
DocumentRoot /var/www/html/wordpress AuthName "Utilize o login da rede Novell Netware" AuthType basic AuthBasicProvider file ldap AuthLDAPBindDN cn=dklima,ou=FCA,o=FogoNaCaixadAgua AuthLDAPBindPassword P45sw0rD AuthLDAPURL "ldap://192.168.11.10:389/ou=FCA,o=FogoNaCaixadAgua?cn?sub?(securityEquals=cn=GRP_Wordpress,ou=FCA,o=FogoNaCaixadAgua)" Require valid-user AuthzLDAPAuthoritative off ServerName wordpress.fogonacaixadagua
Validar apenas usuário
Arquivo: /etc/httpd/conf.d/wordpress.conf
DocumentRoot /var/www/html/wordpress AuthName "Utilize o login da rede Novell Netware" AuthType basic AuthBasicProvider file ldap AuthLDAPBindDN cn=dklima,ou=FCA,o=FogoNaCaixadAgua AuthLDAPBindPassword P45sw0rD AuthLDAPURL "ldap://192.168.11.10:389/ou=FCA,o=FogoNaCaixadAgua?cn?sub" Require valid-user AuthzLDAPAuthoritative off ServerName wordpress.fogonacaixadagua
Com isso, quando foi solicitado acesso ao diretório /var/www/html/wordpress, o será solicitado um usuário válido para pode acessar o site.
É necessário reiniciar o processo do Apache
service httpd restart
Usando .htaccess
Nesse exemplo, o conceito usado é para utilizar um arquivo .htaccess dentro do diretório que será restrito o acesso.
Criar o arquivo .htaccess no diretório, nesse exemplo /var/www/html/wordpress com o seguinte conteúdo:
Controle por grupo
No caso, o grupo chama-se GRP_Wordpress.
Arquivo: /var/www/html/wordpress/.htaccess
AuthName "Utilize o login da rede Novell Netware"
AuthType basic
AuthBasicProvider file ldap
AuthLDAPBindDN cn=dklima,ou=FCA,o=FogoNaCaixadAgua
AuthLDAPBindPassword P45sw0rD
AuthLDAPURL "ldap://192.168.11.10:389/ou=FCA,o=FogoNaCaixadAgua?cn?sub?(securityEquals=cn=GRP_Wordpress,ou=FCA,o=FogoNaCaixadAgua)"
Require valid-user
AuthzLDAPAuthoritative off
Validar apenas usuários
Arquivo: /var/www/html/wordpress/.htaccess
AuthName "Utilize o login da rede Novell Netware"
AuthType basic
AuthBasicProvider file ldap
AuthLDAPBindDN cn=dklima,ou=FCA,o=FogoNaCaixadAgua
AuthLDAPBindPassword P45sw0rD
AuthLDAPURL "ldap://192.168.11.10:389/ou=FCA,o=FogoNaCaixadAgua?sn?sub
Require valid-user
AuthzLDAPAuthoritative off
Não é necessário reiniciar o apache.

1 comment
Join the conversationLuciano - 05/04/2010
Boa Garoto!