Bookmark and Share
Document Actions

Subversion: installazione del server
medio

L'installazione del nostro repository svn centralizzato passo passo.

Installazione di subversion

Affrontiamo ora l'installazione del server dei nostri sorgenti. Utilizzeremo subversion facendolo funzionare via rete con il protocollo http. In questo modo sarà possibile condividere il repository tra più postazioni. La procedura è stata testata con Debian e Ubuntu.

Come prima cosa installiamo subversion:

sudo apt-get install subversion

creiamo il gruppo subversion

sudo addgroup subversion

aggiungiamo l'utente www-data (l'utente di apache) e il tuo utente al gruppo subversion

sudo adduser www-data subversion

sudo adduser mioutente subversion

Creiamo la directory che ospiterà i nostri repository:

sudo mkdir /home/svn
cd /home/svn
sudo mkdir myproject

settamo i permessi:

sudo chown -R www-data myproject
sudo chgrp -R subversion myproject
sudo chmod -R g+rws myproject

Creiamo il repository

sudo svnadmin create /home/svn/myproject

 Da ora sarà possibile utilizzare il repository attraverso il file-system

Installazione di apache e dav_svn

Per poter condividere il repository via rete è necessario utilizzare apache ed il modulo dav_svn:

sudo apt-get install apache2
sudo apt-get install libapache2-svn
sudo a2enmod dav_svn (opzionale)

E' anche necessario configurare il modulo.  Aggiungiamo questa sezione su /etc/apache2/mods-available/dav_svn.conf:

<Location /svn/myproject>
     DAV svn
     SVNPath /home/svn/myproject
     AuthType Basic
     AuthName "myproject subversion repository"
     AuthUserFile /etc/subversion/passwd
     <LimitExcept GET PROPFIND OPTIONS REPORT>
        Require valid-user
     </LimitExcept>
  </Location>

 
Attenzione: per richiedere l'autorizzazione a tutte le connessioni al Server svn (SVN privato), bisogna rimuovere le linee  <LimitExcept ...> e </LimitExcept>. Altrimenti verrà richiesta l'autenticazione solo per le modifiche al repository.


Per l'autenticazione è necessario creare il file /etc/subversion/passwd

sudo htpasswd -c /etc/subversion/passwd user_name
sudo htpasswd /etc/subversion/passwd second_user_name
. . .

Ora basta riavviare apache:

sudo /etc/init.d/apache2 restart

e sarà possibile lavorare sul nostro repository.

Ad esempio effettueremo il checkout con

svn co http://hostname/svn/myproject myproject --username user_name
 
by Maurizio Lupo last modified 2009-01-21 15:53