NTLM no Apache passo-a-passo

Publicado por Ismael A Bezerra em 13/11/2009

[ Hits: 11.449 ]

 


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

TV no Linux com Livestation

Gimp e outros programas em português no Slackware 13

Instalando o aMSN 0.95-1 no SuSE 10.1

VirtualBox no Arch Linux

Instalando o Opera 10.53 no Ubuntu e Debian-like, sem Qt

  

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts