NTLM no Apache passo-a-passo

Publicado por Ismael A Bezerra em 13/11/2009

[ Hits: 10.376 ]

 


NTLM no Apache passo-a-passo



Caros,

Ultimamente tive que passar pelo seguinte dilema: autenticar a intranet do Apache com os usuários do Active Directory da Microsoft. Todos os usuários teriam que acessar a página, mas antes teriam que se autenticar. Pesquisei muito na net, mas os documentos são muito escassos. Tive que caçar em site em site pela net e montar esse tutorial.

Ok. Suponho que você tenha uma estrutura de AD montada e funcionando. O servidor que montei usava a distribuição openSUSE 10, portanto nessa distribuição funcionou e a versão do Apache usada foi a 2 2.2.4.

Vamos colocar a mão na massa!

1 - Fazer o download do mod_ntlm para a versão do Apache2, eu fiz o download no seguinte endereço:

http://myheel.net/blog/wp-content/uploads/2007/04/ntlm.tar.gz

2 - Descompacte o arquivo:

# tar -xzvf ntlm.tar.gz

3 - Tentei executar os comandos ./configure e makes da vida, mas nesse não funcionou, então compilei manualmente mesmo:

sudo apxs2 -i -a -c mod_ntlm.c

4 - Depois execute o seguinte comando:

sudo make clean

5 - Vamos criar o arquivo que irá carregar o módulo ntlm no Apache2. No meu Apache eu adicionei um include no httpd.conf para o diretório /etc/apache2/conf.d/ e dentro desse diretório eu crio os confs que serão carregados pelo Apache, então criei o arquivo com o seguinte conteúdo:

# vi ntlm.conf

LoadModule ntlm_module /usr/lib/apache2/mod_ntlm.so

E copiei para dentro do /etc/apache2/conf.d/. Salve e saia.

6 - Carregar o mod_ntlm para o Apache:

# a2enmod ntlm

7 - Depois executar o seguinte comando:

# /etc/init.d/apache2 force-reload

8 - Agora crie o diretório que será pedido a autenticação:

<Directory "/srv/www/htdocs/">
AuthType NTLM
AuthName "Autenticar Acesso"
NTLMAuth on
NTLMDomain DOMINIO
NTLMServer NomeDoServidor
NTLMBackup NomeDoServidor2 #Opcional se você tiver o BDC Controlador de domínio de backup
NTLMAuthoritative off
require valid-user
Satisfy all
</Directory>

9 - Pronto, depois é só digitar:

# apache2ctl restart

E tentar abrir o index, que no nosso caso se encontra no diretório /srv/www/htdocs.

Boa sorte a todos!

Outras dicas deste autor

Instalando o PHP 5.2 no CentOS pelo YUM

Recuperando senha do root sem Live-CD

Leitura recomendada

Instalando o aMSN no Mandriva 2006 de forma automática

Ubuntu Ultimate, minha versão do Ubuntu para os que não estão acostumados

Rodando DVDs encriptados no Ubuntu Linux

Instalando Spotify no Ubuntu 18.04 LTS

Tutorial do VIM

  

Comentários
[1] Comentário enviado por ismael2010 em 13/11/2009 - 07:58h

Caros,

O Link que coloquei está quebrado então vai o novo link onde pode ser baixado a versão ntlm para o apache2
http://modntlm.sourceforge.net/mod_ntlm2.tar.gz">http://modntlm.sourceforge.net/mod_ntlm2.tar.gz Lá também tem para o apache1 O site com a documentação está no seguinte endereço
http://modntlm.sourceforge.net/

Valeu

[2] Comentário enviado por rai3mb em 26/01/2012 - 19:44h

Saberia me dizer se teria como saber qual usuário está logado na estação que acessa uma página do apache usando esse método?

[3] Comentário enviado por jonasricardo em 16/10/2014 - 17:48h


Para visualizar o usuário logado:

<?php echo "You have logged in as " . $_SERVER['REMOTE_USER'] . ""; ?>



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts