Ferramentas de Usuário

Ferramentas de Site


pt:squeeze:internet:svn:websvn

Página desactualizada Esta página contém uma versão anterior deste guia que pode estar desatualizada. Para a consultar a versão mais recente clique aqui.

4.4.2 WebSVN

Objectivo

O pacote de software websvn possibilita o acesso a um repositório subversion ou svn através do protocolo http ou https, oferecendo uma interface muito visual e intuitiva.

A configuração do servidor svn via http(s) depende da instalação prévia do pacote de software Subversion , um sistema de controle de versões.

Instalação

root@server:~# aptitude install websvn

A instalação do pacote enscript é opcional, mas interessante uma vez oferece a possibilidade de colorir a sintaxe de vários tipos de ficheiros.

root@server:~# aptitude install enscript

A instalação possibilita a criação de uma configuração mínima. Por agora recusamos: esta será feita mais tarde.

Configuração

A configuração é efectuada em 2 fases: na primeira é configurado o software e na segunda é configurada a integração no servidor apache2.

A configuração do websvn é efetuada no ficheiro /etc/websvn/config.php:

/etc/websvn/config.php
# [...]
// To use the parent path method (without and with optional group), uncomment the next line
// and replace the path with your one. You can call the function several times if you have several parent paths.
/ Note that in this case the path is a filesystem path.
//
// $config->parentPath('Path/to/parent (e.g. c:\\svn)');
$config->parentPath('/var/lib/svn');
# [...]

Em seguida a integração no servidor apache2:

root@server:~# ln -sf /etc/websvn/apache.conf /etc/apache2/conf.d/websvn

Restrições de acesso

De modo a restringir o acesso apenas a utilizadores autorizados, deverá ser incluído um mecanismo de autenticação.

Nesta configuração iremos usar o mesmo mecanismo de autenticação usado no servidor SVN via http.

A definição do mecanismo de autenticação é feita no ficheiro de configuração /etc/websvn/apache.conf:

/etc/websvn/apache.conf
# Configuration for websvn using php4.

Alias /websvn /usr/share/websvn

<Directory /usr/share/websvn>
  DirectoryIndex index.php
  Options FollowSymLinks
  Order allow,deny
  Allow from all
  <IfModule mod_php4.c>
    php_flag magic_quotes_gpc Off
    php_flag track_vars On
  </IfModule>
  AuthType Digest
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd
  Require valid-user
</Directory>

Criação de utilizadores

Como a gestão de utilizadores com permissões de acesso ao servidor websvn é partilhada com o servidor SVN via http a configuração é feita também no ficheiro /etc/apache2/dav_svn.passwd.

Assim, ao alterarmos os utilizadores, actualizamos os 2 serviços em simultâneo.

Ao criar o primeiro utilizador deverá ser criado o ficheiro, o que é conseguido com a opção -c:

root@server:~# htdigest -c /etc/apache2/dav_svn.passwd "Subversion Repository" fribeiro
Adding password for fribeiro in realm Subversion Repository.
New password:
Re-type new password:

Para adicionar os utilizadores seguintes, não usar a opção -c, pois iria criar um novo ficheiro, eliminando os utilizadores anteriores:

root@server:~# htdigest /etc/apache2/dav_svn.passwd "Subversion Repository" user2
Adding user user2 in realm Subversion Repository
New password:
Re-type new password:

Reiniciar o servidor apache2:

root@server:~# /etc/init.d/apache2 restart

Verificação

Num browser inserir a URL do servidor websvn:

Referências:

pt/squeeze/internet/svn/websvn.txt · Última modificação em: 2024-02-15 01:05 por 127.0.0.1