Passo 1. Instalação dos pacotes:
sudo apt-get install subversion libapache2-svn libapache-mod-dav apache2
Passo 2. Ativar SSL no Tomcat:
sudo a2enmod ssl
sudo sh -c "echo 'Listen 443' >> /etc/apache2/ports.conf"
Passo 3. Gerar certificado SSL:
Caso você use uma instalação do Ubuntu anterior ao Feisty, use o seguinte comando:
sudo apache2-ssl-certificate
Caso você use uma instalação do Ubuntu posterior ao Feisty, use o seguinte comando:
sudo apt-get install ssl-cert
sudo mkdir /etc/apache2/ssl
sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
Passo 4. Criar o VirtualHost:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/svn
sudo mcedit /etc/apache2/sites-available/svn
altere as primeiras linhas do arquivo, para que fiquem parecidas com estas:
NameVirtualHost *:443
Adicione o seguinte a este arquivo:
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM
Passo 5. Habilite o site:
sudo a2ensite svn
sudo /etc/init.d/apache2 restart
Passo 6. Criar o repositório do Subversion:
sudo mkdir /var/svn
sudo svnadmin create /var/svn
sudo chown -R www-data:www-data /var/svn
sudo chmod -R g+ws /var/svn
Passo 7. Adicionando autenticação básica:
sudo htpasswd2 -c -m /etc/apache2/dav_svn.passwd
Passo 8. Habilitando e configurando o WebDAV e o SVN:
Adicione ao arquivo /etc/apache2/mods-available/dav_svn.conf o seguinte conteúdo:
DAV svn
#Use svnparentpath caso tenha mais de um repositório dentro de /var/svn
#SVNParentPath /var/svn
SVNPath /var/svn
AuthType Basic
AuthName "Repositorio Subversion"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
SSLRequireSSL
E para impedir acesso anônimo, comente as linhas:
#
#
Se desejar, pode fazer esta configuração apenas para o site do repositório, bastando para isto escrever estas configurações em /etc/apache2/sites-available/svn
Passo 9. Reinicie o Apache:
sudo /etc/init.d/apache2 restart
Para testar a instalação:
https://localhost/svn mostra o repositório.
Ao usar o repositório pela primeira vez no Eclipse, ele vai reclamar da autenticidade do certificado SSL. Confira se os dados são do certificado que você criou no passo 3. Se forem, pode confirmar. Depois, teste com um projeto. tem alguns conceitos do subversion que são levemente diferentes do cvs. Mas nada que vá atrapalhar o seu trabalho de desenvolvedor.