Controle de versões com Subversion + WebSVN + Apache2 + LDAP

Para este processo, levamos em consideração que o Apache2 com suporte a PHP já está instalado. Caso precise revisar sua instalação, use Instalando e configurando Apache2 com suporte PHP.

Instalando pacotes necessários

root@debian:~# aptitude install subversion subversion-tools libapache2-svn

Ajustando o Apache2

Nesta etapa, iremos ajustar o apache2 para que o mesmo possa se integrar com o websvn e para que possa ser gerenciado por meio do script que mostraremos adiante.

root@debian:~# mkdir /srv/svn

root@debian:~# mkdir /etc/apache2/svn

root@debian:~# cd /etc/apache2/

root@debian:~# vi mods-available/dav_svn.conf

# Include the SVN projects
Include /etc/apache2/svn/
root@debian:~# a2enmod dav_svn

Em por fim reinicie o apache

root@debian:~# /etc/init.d/apache2 stop
root@debian:~# /etc/init.d/apache2 start

Ajustando o WebSVN

Primeiramente amos instalar os pacotes.

root@debian:~# aptitude  install enscript websvn

Você quer configurar o WebSVN agora? <Sim>
Configuração do Apache: [*] apache2
repositórios de svn: /srv/svn
repostórios de svn: <deixe em branco>
Nota sobre permissões: <Ok>

O arquivo de configuração deve estar assim:

root@debian:~# vi /etc/websvn/svn_deb_conf.inc

<?php
// please edit /etc/websvn/config.inc 
// or use dpkg-reconfigure websvn
$config->parentPath("/srv/svn");
$config->setEnscriptPath("/usr/bin");
$config->setSedPath("/bin");
$config->useEnscript();
?>

Para acessar, utilize:

http://endereco_do_seu_servidor_svn/websvn

Gerenciando os repositórios

Para gerenciar os meus repositórios, criei um script que realiza o gerenciamento de maneira mais facilitada, gerenciando os repositórios via console por meio de shell scripts. O script poderá ser baixado em http://downloads.fabriciovc.eti.br/svn/.

Após baixá-lo no sistema, altere as permissões do mesmo para que tenha permissão de execução …

root@debian:~# chmod +x /caminho/do/seu/script/svnadmin.sh

E apenas o execute. Ele é auto explicativo.

root@debian:~# /caminho/do/seu/script/svnadmin.sh

Integrando o SVN com LDAP

Primeiramente habilite o módulo no apache2.

root@debian:~# a2enmod authnz_ldap

Em seguida, devemos usar outro script para gerenciar nosso SVN.

O script poderá ser baixado em http://downloads.fabriciovc.eti.br/svn/.

Antes de utilizá-lo, é necessário realizar algumas configurações neste script.

root@debian:~# vi /caminho/do/seu/script/svnldapadmin.sh

[...]
  AuthBasicProvider ldap
  AuthzLDAPAuthoritative off
  AuthLDAPURL ldap://IP_SERVIDOR_LDAP/ou=dominio,dc=com,dc=br?uid
  Require valid-user
  #Require user usuario01 usuario02 usuario03

[...]

Caso deseje realizar a autenticação no Active Directory (AD), use as configurações a seguir:

root@debian:~# vi /caminho/do/seu/script/svnldapadmin.sh

[...]
  AuthLDAPBindDN CN=Administrator,DC=dominio,DC=com,DC=br
  AuthLDAPBindPassword senha_usuario_Administrator
  AuthLDAPURL ldap://IP_SERVIDOR_LDAP:389/DC=dominio,DC=com,DC=br?sAMAccountName?sub?(objectClass=*)

  AuthType Basic
  AuthName "Repositorio AUTH"
  AuthBasicProvider ldap
  require valid-user
  AuthUserFile /dev/null

[...]

Finalizada as alterações, salve o arquivo e altere as permissões do mesmo para que tenha permissão de execução …

root@debian:~# chmod +x /caminho/do/seu/script/svnldapadmin.sh

E apenas o execute. Ele é auto explicativo.

root@debian:~# /caminho/do/seu/script/svnldapadmin.sh

Clientes SVN

linux/artigos/svn.txt · Última modificação: 28/03/2016 14:15 por fabriciovc