Subversion: installazione del server
medio
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
