Ubuntu - Servidor SVN


Instalar o SVN como servidor no Ubuntu

O SVN como server nada mais é que instalar o serviço de servidor e integrar o mesmo com o apache :)

– Quando eu tiver tempo eu explico cada passo =.= —

Instalação dos pacotes

sudo apt-get install subversion libapache2-svn libapache-mod-dav apache2
sudo apt-get install subversion

Habilita ro SSL no apache (HTTPS)

sudo a2enmod ssl
sudo sh -c "echo 'Listen 443' >> /etc/apache2/ports.conf" #verifique antes se já não está habilitado

Gerar os certificados (necessário para HTTPS)

sudo apache2-ssl-certificate<
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

Criar o LocalHost

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/$SITENAME
sudo vi /etc/apache2/sites-available/$SITENAME

Deixe como está abaixo:

NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM

Habilite seu site

sudo a2ensite $SITENAME
sudo /etc/init.d/apache2 restart

Criando repositório

The following setup assumes we want to host multiple repositories.

sudo mkdir /var/svn
sudo svnadmin create /var/svn/$nomeRepo
sudo chown -R www-data:www-data /var/svn/$nomeRepo
sudo chmod -R g+ws /var/svn/$nomeRepo

Adicionando autenticação básica

sudo htpasswd2 -c -m /etc/apache2/dav_svn.passwd $algumUserQualquer

Habilitando e configurando o WebDAV & SVN

Edite o arquivo /etc/apache2/mods-available/dav_svn.conf com a seguinte configuração

DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName "RagazziD - SVN Server"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
SSLRequireSSL

Finalizando

Reinicialize o apache

sudo /etc/init.d/apache2 restart

Testando:

Acesso WEB

lynx https://localhost/svn/$nomeRepo #mostra o repositório
lynx http://localhost/svn/$nomeRepo #provavelmente uma msg de proibido

Linha de Comando

Mandando um arquivo

svn import --username $AUTH_USER $A_FILE https://localhost/svn/$REPOS/testdir -m "Testing"

Fazendo seu primeiro commit

svn co --username $algumUserQualquer https://localhost/svn/$REPOS

Dica

Para acessar revisões anteriores, utilize o seguitne link:

https://seuHostComSVN/svn/ragazzid/?p=2

?p=2 revisão 2