E' possibile accedere ad un repository subversion tramite l'utlizzo di diversi protocolli:
tendenzialmente preferisco l'utilizzo diretto quando si lavora in LAN oppure VPN; invece quando si deve configurare un repository accessibile via internet meglio utlizzare un tunnel SSH o HTTPS.
In questo how-to vedremo come configurare Apache2 come punto di accesso ad un repository subversion su un server Ubuntu.
HOW TO
Installiamo apache, svn e qualche libreria necessaria:
apt-get install subversion apache2 libapache2-svn
creiamo il repository:
svnadmin create /var/svn-repository
facciamo in modo che apache abbia i permessi per accedere al repository tramite i comandi:
chgrp -R www-data /var/svn-repository
chmod -R g+wr /var/svn-repository
Adesso si deve configurare apache; supponiamo di voler rendere raggiungibile il repository all'indirizzo http://mioserver/svn . Per far questo modifichiamo il file /etc/apache2/mods-available/dav_svn.conf in questo modo (oppure se avete configurato dei VirtualHost andate a modificare il file di configurazione del VirtualHost interessato):
<Location /svn>
DAV svn
SVNPath /var/svn-repository
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /var/svn-repository/conf/htpasswd
Require valid-user
</Location>
creiamo il file che conterrà i nomi degli utenti e delle password:
touch /var/svn-repository/conf/htpasswd
e riavviamo apache con il comando:
/etc/init.d/apache2 restart
Bene! abbiamo quasi finito. Con questa configurazione avremo un repository subversion accessibile tramite http ai soli utenti che andremo a configurare.
Per ogni utente da aggiungere eseguite questo comando per configurarne la password:
htpasswd -m /var/svn-repository/conf/htpasswd unNomeUtente
Complimenti! Adesso potete usare il vostro repository ;-)
Variando la configurazione è ovviamente possibile aprire il repository agli utenti guest, gestire le ACL per un controllo più granulare sugli accessi, etc.
Trovate qualche altra informazione sulla configurazione di un repository a questo URL: https://help.ubuntu.co m/community/Subversion
Seguendo un procedimento simile potrete ovviamente installare il repository anche su server con altre distribuzioni Linux o con FreeBSD, etc.