Tabela de Conteúdos
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.
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:
- WebSVN (http://www.websvn.info/)