Apache 2.2.4 + LDAP = Mudanças [updated]
Recentemente instalei o Apache 2.2.4 no FreeBSD para rodar o Nagios. Porém algumas modificações ocorreram nas versões mais recentes. Já falo mais sobre isso.
A instalação foi tranqüila:
Preciso de suporte a LDAP pois uso autenticação no AD do Windows.
Pra minha surpresa tive alguns erros na autenticação. Alterei o nível do log para degub.
Acompanhando o log de erro, com o comando acima, encontrei essas mensagens ao tentar me autenticar no navegador:
Finalmente não apareceram mais erros no logo, however, a opção "require valid-user" não funciona mais. Encontrei a solução na documentação do apache http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html.en#reqvaliduser.
Para funcionar a diretiva "require valid-user" a opção "AuthzLDAPAuthoritative" precisa ser setada para off.
Outra coisa que mudou foi a opção "require group". Agora se está usando ldap e quer se fazer consulta por grupos deve substituir por "require ldap-group".
Resumindo, meu arquivo de autenticação contra o AD que era assim:
Acabou ficando assim:
Fonte: Google :-D
http://www.mail-archive.com/debian-apache@lists.debian.org/msg08106.html
----
Depois de mais uma instalação agora no FreeBSD 7.0 tive o seguinte warning quando iniciava o apache:
[warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
Numa busca rápida encontrei a solução no VOL. Carregar o módulo accf_http ou usando o comando kldload:
ou pra sempre, inserindo no arquivo /boot/loader.conf a seguinte linha:
Fonte:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=5277&pagina=3
A instalação foi tranqüila:
cd /usr/ports/www/apache22
make WITH_LDAP_MODULES=yes install clean
Preciso de suporte a LDAP pois uso autenticação no AD do Windows.
Pra minha surpresa tive alguns erros na autenticação. Alterei o nível do log para degub.
vi /usr/local/etc/apache22/httpd.conf
LogLevel debug
:x
/usr/local/etc/rc.d/apache22 restart ; tail -f /var/log/httpd-error.log
Acompanhando o log de erro, com o comando acima, encontrei essas mensagens ao tentar me autenticar no navegador:
Internal error: pcfg_openfile() called with NULL filenameGooglin' encontrei uma GRANDE quantidade de pessoas com o mesmo problema e encontrei a solução que seria inserir isso no arquivo .htaccess ou na configuração de diretório, enfim no mesmo lugar onde está a configuração da autenticação LDAP:
[client x.x.x.x] (9)Bad file descriptor: Could not open password file: (null)
AuthBasicProvider ldap
AuthUserFile /dev/null
Finalmente não apareceram mais erros no logo, however, a opção "require valid-user" não funciona mais. Encontrei a solução na documentação do apache http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html.en#reqvaliduser.
Para funcionar a diretiva "require valid-user" a opção "AuthzLDAPAuthoritative" precisa ser setada para off.
Outra coisa que mudou foi a opção "require group". Agora se está usando ldap e quer se fazer consulta por grupos deve substituir por "require ldap-group".
Resumindo, meu arquivo de autenticação contra o AD que era assim:
<directory /usr/local/www/nagios/cgi-bin>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
AuthType Basic
AuthName "Acesso ao Nagios"
AuthLDAPUrl "ldap://ad.xyz.com.br/ou=sede,dc=xyz,DC=com,DC=br?sAMAccountname?sub?(objectClass=*)"
AuthLDAPBindDN algumuser@xyzcom.br
AuthLDAPBindPassword *******
require group CN=TI,OU=Groups,OU=SEDE,DC=xyz,DC=com,DC=br
</directory>
Acabou ficando assim:
<directory /usr/local/www/nagios/cgi-bin>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
AuthBasicProvider ldap
AuthUserFile /dev/null
AuthType Basic
AuthName "Acesso ao Nagios"
AuthLDAPUrl "ldap://ad.xyz.com.br/ou=sede,dc=xyz,DC=com,DC=br?sAMAccountname?sub?(objectClass=*)"
AuthLDAPBindDN algumuser@xyzcom.br
AuthLDAPBindPassword *******
require ldap-group CN=TI,OU=Groups,OU=SEDE,DC=xyz,DC=com,DC=br
</directory>
Fonte: Google :-D
http://www.mail-archive.com/debian-apache@lists.debian.org/msg08106.html
----
Depois de mais uma instalação agora no FreeBSD 7.0 tive o seguinte warning quando iniciava o apache:
[warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
Numa busca rápida encontrei a solução no VOL. Carregar o módulo accf_http ou usando o comando kldload:
kldload accf_http
ou pra sempre, inserindo no arquivo /boot/loader.conf a seguinte linha:
accf_http_load="YES"
Fonte:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=5277&pagina=3
3 Comentários:
Bom dia Lutieri !
Quero agradecer por esse post, como a sua fonte mostrou temos muitas pessoas passando por esse mesmo problema e não existe documentação em algum lugar central.. tudo muito disperso.
Valeu =)
By Odilon Alves de Oliveira (dilas), at 10/10/2007, 09:11
really cool .. help me a lot ... i was facing the same issue.
tks
By Unknown, at 04/12/2007, 15:40
Parabens ajudou muito!!
By Anônimo, at 09/04/2008, 13:16
Postar um comentário
<< Home