Instale o Subversion com o Web Access no Ubuntu
Este artigo aborda a instalação do subversion com o módulo apache para que possa ser acessado facilmente de outros sistemas em uma rede pública. Se você quer um servidor svn mais seguro, você pode usar o svnserve + ssh, que não é coberto neste artigo.
Para instalar o subversion, abra um terminal e execute o seguinte comando:
sudo apt-get instalar subversão libapache2-svn
Nós vamos criar o repositório do subversion em / svn, embora você deva escolher um local que tenha uma boa quantidade de espaço.
sudo svnadmin criar / svn
Em seguida, precisaremos editar o arquivo de configuração para o módulo do webdav do subversion. Você pode usar um editor diferente se quiser.
sudo gedit /etc/apache2/mods-enabled/dav_svn.conf
O elemento Location no arquivo de configuração determina o diretório raiz do qual o subversion será acessado, por exemplo: http://www.server.com/svn
A linha DAV precisa ser descomentada para habilitar o módulo dav
# Descomente isto para ativar o repositório,
DAV svn
A linha SVNPath deve ser configurada no mesmo local em que você criou o repositório com o comando svnadmin.
# Configure isto para o caminho para o seu repositório
SVNPath / svn
A próxima seção permitirá que você ative a autenticação. Esta é apenas uma autenticação básica, por isso não a considere extremamente segura. O arquivo de senha será localizado onde a configuração AuthUserFile o define para… provavelmente melhor deixá-lo no padrão.
# Uncomment as seguintes 3 linhas para habilitar a autenticação básica
AuthType Basic
AuthName "Repositório de Subversão"
AuthUserFile /etc/apache2/dav_svn.passwd
Para criar um usuário no repositório, use o seguinte comando:
sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd
Observe que você deve usar somente a opção -c na PRIMEIRA vez que você criar um usuário. Depois disso, você só desejará usar a opção -m, que especifica a criptografia MD5 da senha, mas não a recriará..
Exemplo:
sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd geek
Nova senha:
Digite novamente a nova senha:
Adicionando senha para usuário geek
Reinicie o apache executando o seguinte comando:
sudo /etc/init.d/apache2 restart
Agora, se você acessar seu navegador para http://www.server.com/svn, deverá ver que o repositório está habilitado para acesso anônimo de leitura, mas o acesso de confirmação exigirá um nome de usuário.
Se você quiser forçar todos os usuários a autenticarem mesmo para acesso de leitura, adicione a seguinte linha logo abaixo da linha AuthUserFile acima. Reinicie o apache depois de mudar esta linha.
Exigir usuário válido
Agora, se você atualizar seu navegador, suas credenciais serão solicitadas:
Você agora tem um servidor de subversão funcionando!