19 September 2013  ·  linuxsysadmin

Subversion over http con Apache2


E' possibile accedere ad un repository subversion tramite l'utlizzo di diversi protocolli:

SVN diretto tramite svnserve
HTTP (o HTTPS) tramite webdav
SVN su tunnel SSH
FILE per l'accesso a repository locali

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 ;-)

Ulteriori informazioni

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.


← Tutti gli articoli