Essa semana precisei fazer a integração com do SVN (Subversion) com o Apache2 e autenticar em um domínio baseado no Windows Server 2003.
Então, realizei isso usando o Debian 4.0, Apache2 e o SVN 1.4.4
Apara instalar as programas usamos o apt-get. Velho conhecido para instalações, atualizações e remoções de programas.
Baixe o arquivo http://opensourcedevelopment.net/download/apache_2_2_3_subversion_1_4_4_Active_Directory.tar.gz
Depois descompacte o arquivo
tar -zxvf apache_2_2_3_subversion_1_4_4_Active_Directory.tar.gz
Mova-o para /usr/local
Feito isso iremos agora iniciar a configuração dos serviços.
Primeiro configurando o Apache2.
Edite o arquivo /usr/local/apache2/conf/httpd.conf
Altere o Usuário e o Grupo para www-data
Agora é necessário configurar o acesso ao SVN. Para isso crie um arquivo chamado edit o arquivo httpd.conf com o seguinte conteúdo no final do arquivo:
<Location “/repositorio”>
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
DAV svn
SVNPath /opt/svn/repositorio
AuthName “Subversion Server”
AuthLDAPURL “ldap://SERVER_IP:3268/CN=Users,DC=DOMAIN,DC=COM?sAMAccountName”
AuthLDAPBindDN “CN=USUARIO_DE_LIGACAO,CN=Users,DC=DOMAIN,DC=COM”
AuthLDAPBindPassword SENHA
require valid-user
#Path of authz file
#AuthzSVNAccessFile /subversion/authz
</Location>
É necessário se que seja alterado os parâmetros de conexão para que reflita a sua realidade. Os parametros que deve ser trocados são : SERVER_IP é o servidor com o papel de Global Catalog na sua rede Windows, os paramatros os dominio para verificar quais são os seus você pode usar a ferramenta getmydn no endereço http://download.softerra.com/files/GetMyDN.zip, o USUARIO_DE_LIGACAO, SENHA é um usuario válido e desbloqueado no dominio no qual possa fazer consultas e buscar dados na base do Active Diretory. Para verificar as informações do getmydn você pode usar a ferramenta ASDI da Microsoft.
Agora vamos criar um repositório do com o svn
#mkdir /opt/svn
Comando para criar o repositório
#svnadmin create /opt/svn/repositorio
Comando para mudar as permissoes do repositório para que o Apache possa acessa-lo
#chown -R www-data.www-data /opt/svn/repositorio
Reiniciamos o Apache
#/etc/init.d/apache2 restart
Agora testamos o repositorio com a autencitacao feita pelo Active Directory
# svn co –username {AD USER} http://localhost/repositorio
Espero ter ajudado e até a proxima
