Pular para o conteúdo

NTLM no Apache passo-a-passo

Dica publicada em Linux / Software
Ismael A Bezerra ismael2010
Hits: 12.064 Categoria: Linux Subcategoria: Software
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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!

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Instalando o PHP 5.2 no CentOS pelo YUM

Recuperando senha do root sem Live-CD

aBíblia - A Bíblia Sagrada Open Source agora escrita em C++/QT

ifstatus - Monitor de interface para console

Instalação do Debian Lenny através de dispositivos removíveis USB

Como compartilhar o OpenOffice como os outros usuários da máquina

Monitorar a performance do MySQL com Mytop

#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

Entre na sua conta para comentar.