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: 20.071 ]

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

Como acessar uma partição ReiserFS pelo Windows

Daemons com shell script

Tutorial de instalação LTSP 4.2 (Linux Terminal Server Project) no OpenSuSE 10.2

Clonando HDs pela rede com UDPCAST

Usando o cURL - Client URL

  
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