Subversion (SVN) com autenticação pelo LDAP

Esse tutorial explica como autenticar usuários no Subversion através do LDAP (usando o AD) e ainda a instalação de uma interface amigável iF.SVNAdmin para configurar permissões no Subversion.

[ Hits: 19.470 ]

Por: Joao Vitorino em 04/03/2015


Softwares e pacotes necessários e instalação do iF.SVNAdmin



Para esse artigo usei Oracle Linux, porém ele pode ser seguido para diversas distribuições com as devidas adaptações (nome de pacote, localização de arquivos e diretórios podem ser diferentes).

Primeiro de tudo, vamos aos pacotes necessários.
  • Subversion server (subversion.x86_64) - servidor do SVN
  • Apache2 (httpd.x86_64) - servidor web que será necessário para configurar o acesso remoto ao SVN
  • Mod_dav (mod_dav_svn.x86_64) - módulo do Apache para uso com o Subversion server
  • Mod_authz_ldap (mod_authz_ldap.x86_64) - módulo para permitir autenticação no Apache através do LDAP
  • If.SVNAdmin 1.6.2 - ferramenta web para administrar o Subversion (download em http://svnadmin.insanefactory.com/)
  • PHP - necessário para o uso do iF.SVNAdmin - necessária no mínimo a versão 5.3 do PHP
  • LDAP PHP (php-ldap.x86_64) - módulo para o uso de LDAP no PHP (necessário para o iF.SVNAdmin)

Todos os pacotes - com exceção do iF.SVNAdmin - podem ser obtidos e instalados através do gerenciador de pacotes do Oracle Linux (yum) ou através do gerenciador de pacotes que preferir, por isso apenas irei falar nesse artigo sobre a instalação do iF.SVNAdmin.

Instalação do iF.SVNAdmin

Antes de instalar o iF.SVNAdmin, o ambiente precisa ser preparado.

Crie a pasta /opt/repositorio (ou outra de sua preferência), esta pasta irá conter todos os repositórios do Subversion (SVN) que forem criados.

Crie dois arquivos dentro da pasta /opt/repositorio com o comando touch.
  • authz - guardará as permissões de cada usuário e grupo do SVN
  • authz_users - irá conter todos os usuários e senhas de quem deverá ter acesso ao SVN (senhas codificadas)

Coloque o usuário do Apache como dono e grupo desta pasta e todos os seus arquivos:

# chown apache:apache /opt/repositorio/ -R
Ou:
# chown wwwrun:www /opt/repositorio/ -R # dependendo da distro

Faça download do pacote do iF.SVNAdmin no site:
Descompacte o pacote em /opt (ou outro local de sua preferência) com o comando:

# unzip -x iF.SVNAdmin-stable-1.6.2.zip

Para facilitar a configuração, crie um link simbólico:

# ln -s iF.SVNAdmin-stable-1.6.2/ svnadmin

Coloque o usuário do Apache como dono e grupo desta pasta e todos os seus arquivos:

# chown apache:apache /opt/svnadmin/ -R

Agora o Apache precisa ser configurado para acessar o iF.SVNAdmin via browser.

Crie um arquivo .conf em /etc/httpd/conf.d com o seguinte conteúdo:

Alias /ifsvnadmin "/opt/svnadmin/"

<Directory "/opt/svnadmin">
    Options Indexes
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Agora basta iniciar ou reiniciar o Apache.

Obs.: certifique-se que o Apache carregou os módulos do PHP e do ldap ("apachectl -M" ou "a2enmod -l").

    Próxima página

Páginas do artigo
   1. Softwares e pacotes necessários e instalação do iF.SVNAdmin
   2. Configurando o LDAP no iF.SVNAdmin
   3. Adicionado administradores e repositório
   4. Permissões
   5. Configurando o Apache para acesso aos repositórios via browser
   6. Bônus: Deixando as coisas mais apresentáveis
Outros artigos deste autor

Qualidade dos profissionais de TI

Redmine no openSUSE - Gerenciamento de projetos e bugs (issue tracking)

Leitura recomendada

Cursos online grátis sobre Software Livre!

Montando um workstation de desenvolvimento web em GNU/Linux

Escreva para o VOL - Contribua você também!

LogBook: Documentação de implementação e manutenção

Instalando o Dynebolic sem instalador

  
Comentários
[1] Comentário enviado por removido em 04/03/2015 - 21:59h

Bacana!
Parabéns João!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts