Estou usando o CentOS 6. Encontrei um ótimo artigo sobre como instalar e configurar o OpenLDAP no CentOS 6, e encontrei outra excelente documentação aqui sobre como configure o LDAP para funcionar no Apache HTTPD (estou usando o 2.2, que vem com o CentOS 6). Infelizmente, o que ambos os artigos não especificam necessariamente é como conectar os dois juntos. O segundo artigo que mencionei é ótimo para um passeio do Apache, supondo que você já tenha um bom entendimento da sintaxe do LDAP, e o primeiro artigo que mencionei é ótimo supondo que você já tenha em mente uma maneira de testá-lo. Parece que você tem que ser um especialista em um ou outro para percorrer o caminho para que você possa se preparar completamente.
Portanto, vamos supor que eu configurei minhas credenciais LDAP de acordo com o artigo de passagem do CentOS OpenLDAP. Eu adicionei as seguintes pessoas:
acme.ldif
dn: dc=acme,dc=com
objectClass: dcObject
objectClass: organization
dc: acme
o : acme
users.ldif
dn: ou=Users,dc=acme,dc=com
objectClass: organizationalUnit
ou: Users
bob.ldif
dn: cn=Bob Jones,ou=Users,dc=acme,dc=com
cn: Bob Jones
sn: Jones
objectClass: inetOrgPerson
userPassword: p@ssw0rd
uid: bjones
engineering.ldif
dn: cn=Engineering,ou=Users,dc=acme,dc=com
cn: Engineering
objectClass: groupOfNames
member: cn=Bob Jones,ou=Users,dc=acme,dc=com
addUserToGroup.ldif
dn: cn=Engineering,ou=Users,dc=acme,dc=com
changetype: modify
add: member
member: cn=Al Smith,ou=Users,dc=acme,dc=com
al.ldif
dn: cn=Al Smith,ou=Users,dc=acme,dc=com
cn: Al Smith
sn: Smith
objectClass: inetOrgPerson
userPassword: 12345
uid: asmith
Eu baixei o LDAPExplorer Tool 2 do SourceForge e conectei-me com sucesso a este diretório LDAP, explorando-o, e parece exatamente como os arquivos LDIF sugerem.
O seguinte é do meu arquivo httpd.conf para o Apache HTTPD:
<Directory /var/www/html/authpage>
AuthType Basic
AuthName "Enter valid user name"
AuthLDAPURL ldap://magneto.acme.com:389/????
require valid-user
</Directory>
Onde o ????
é é onde eu não sei como alinhar minha sintaxe LDAP com meu diretório LDAP. Eu tentei todos os tipos. O que acontece é que eu navego para o URL http://magneto.acme.com/authpage
(magneto é o meu nome de host para o servidor, neste caso, pelo menos eu sei que funciona), e me pedem credenciais. Nada que eu coloque em obras. Eu tentei combinações de ou=
e o=
e dc=
, juntamente com ?uid
como o parâmetro de consulta.
Quando eu verifico meu Apache error_log
, vejo esta linha:
[Wed Sep 10 11:00:51 2014] [error] [client 10.78.182.243] access to /authpage failed, reason: verification of user id 'bjones' not configured
[Wed Sep 10 11:00:54 2014] [error] [client 10.78.182.243] access to /authpage failed, reason: verification of user id 'asmith' not configured
Supondo que meu diretório LDAP funcione e que o Apache esteja tentando autenticar corretamente para ele,
1. Como escrevo a sintaxe correta para autenticar em todos os usuários , ou apenas em um grupo específico?
2. Existe alguma configuração adicional necessária para configurar a verificação dos usuários, com base no que o error_log
disse?