!!Installazione svn su ubuntu

*creazione del gruppo subversion, al quale associare gli utenti desiderati
*sudo apt-get install subversion
*sudo mkdir /opt/svn/repository
*sudo chown -R utente:subversion /opt/svn/*
*sudo svnadmin create /opt/svn/repository/
*sudo vi /opt/svn/repository/conf/svnserve.conf
*sudo vi /opt/svn/repository/conf/passwd
*sudo svnserve -d –foreground -r /opt/svn/repository/\

%%prettify
{{{
apt-get install apache2 subversion libapache2-svn ssl-cert
}}}
Dopo aver installato i pacchetti si deve abilitare il modulo ssl.
%%prettify
{{{
a2enmod ssl
}}}
A questo punto si configura Apache per accettare le richieste sulla porta 443 (HTTPS). Per fare ciò è sufficiente aggiungere al file /etc/apache2/ports.conf la riga:\\
%%prettify
{{{
Listen 443\\
}}}
Fatto questo si deve creare il cerficato per SSL. Solitamente si crea nella directory /etc/apache2/ssl:\\
%%prettify
{{{
mkdir /etc/apache2/ssl
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
chmod 600 /etc/apache2/ssl/apache.pem
}}}

Quindi si crea la configurazione per il server virtuale. Per farlo basta copiare il file di default e apportare qualche piccola modifica:
%%prettify
{{{
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/default-ssl
}}}
Bisogna sostuire la riga:
%%prettify
{{{
NameVirtualHost *
}}}
con:
%%prettify
{{{
NameVirtualHost *:443
}}}
e poi la riga:
%%prettify
{{{
<VirtualHost *>
}}}
con:
%%prettify
{{{
<VirtualHost *:443>
}}}
infine, prima di:
%%prettify
{{{
</VirtualHost>
}}}
si aggiunge:
%%prettify
{{{
SSLEngine on\\
SSLCertificateFile /etc/apache2/ssl/apache.pem\\
SSLProtocol all\\
SSLCipherSuite HIGH:MEDIUM\\
}}}
Ora è possibile abilitare il virtual server in ascolto sulla porta 443 con il comando:
%%prettify
{{{
a2ensite default-ssl
}}}
Ora è necessario configurare il repository SVN. Per farlo bisogna innanzitutto editare il file /etc/apache2/mods-available/dav_svn.conf che dovrà contenere qualcosa del tipo:
%%prettify
{{{
<Location /svn>
  DAV svn
  SVNPath /var/lib/svn/NOME_REPOSITORY
  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd
  <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  </LimitExcept>
</Location>
}}}

Il file /etc/apache2/dav_svn.passwd si crea con il comando:

htpasswd -c /etc/apache2/dav_svn.passwd NOMEUTENTE

I comandi necessari alla creazione del repository vero e proprio sono:

mkdir /var/lib/svn
svnadmin create  /var/lib/svn/NOME_REPOSITORY
chown -R www-data:www-data  /var/lib/svn
chmod -R g+ws /var/lib/svn