Blog

Installare SVN su Ubuntu

Guida per l'installazione e la configurazione di Subversion su sistemi Ubuntu, completa di autenticazione di base e accesso tramite web.

Installare SVN su Ubuntu

Per installare subversion, apri un terminale e digita il seguente comando:

sudo apt-get install subversion libapache2-svn


In questo modo verranno installati i moduli necessari: SubVersion e le librerie SVN per Apache2.
Il modulo SVN dovrebbe essere automaticamente abilitato su Apache dopo l'installazione ma, se così non fosse, è possibile abilitarlo tramite il comando a2enmod, come descritto di seguito:

sudo a2enmod dav_svn


Il prossimo passo è la creazione del repository per subversion, che potrà ad esempio essere in /svn, anche se potete scegliere il percorso che desiderate, in base ai vostri gusti e allo spazio disponibile.

sudo svnadmin create /svn


Quindi dovremo modificare il file di configurazione per il modulo webdav/SVN. In questo caso verrà utilizzato l'editor gedit, ma potrete utilizzare quello che meglio preferite.

sudo gedit /etc/apache2/mods-enabled/dav_svn.conf


Il parametro Location del file di configurazione, sta ad indicare la directory in cui subversion sarà accessibile, come nel seguente esempio:
http://www.nomesito.com/svn

La linea DAV deve essere decommentata per l'abilitazione del modulo dav (in pratica togliete il cancelletto antecedente).

DAV svn


Il parametro SVNPath dovrebbe invece essere equivalente al percorso in cui avete creato il repository SVN con il comando svnadmin.

SVNPath /svn


La prossima sezione permette di attivare l'autenticazione. Ricordiamo però che questa può essere considerata soltanto una autenticazione basilare, quindi non dovrebbe essere considerata molto sicura. Il file che contiene le associazioni username/password verrà salvato nel percorso indicato nel parametro AuthUserFile, che sarebbe meglio lasciare al valore di default. Decommentate quindi le 3 seguenti righe per attivare la Basic Authentication.

AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd


Per creare un utente, con i relativi permessi di accesso al repository, è sufficiente digitare il comando:

sudo htpasswd -cm /etc/apache2/dav_svn.passwd username


L'opzione -c deve essere utilizzata solamente per la creazione del primo utente, in modo che il file venga creato. Successivamente potrà essere sfruttata soltanto l'opzione -m, che effettua la criptazione in MD5 della password, ma che evita di ricreare il file.

Esempio

sudo htpasswd -cm /etc/apache2/dav_svn.passwd icelab
New password:
Re-type new password:
Adding password for user icelab


A questo punto assicuratevi che Apache abbia i permessi di scrittura sulla directory /svn tramite il seguente comando:

sudo chown -R www-data:www-data /svn


Alla fine del processo di installazione ricordate di riavviare Apache:

sudo /etc/init.d/apache2 restart


Dopo il riavvio, visitando dal vostro browser (es. Firefox) l'indirizzo http://www.miosito.com/svn, dovreste constatare con i vostri occhi che il repository permette l'accesso anonimo in sola lettura, mentre per eseguire il commit delle modifiche verranno richiesti username e password.

Se desiderate che venga richiesto l'autorizzazione anche per l'accesso in sola lettura, basterà inserire la seguente riga nel file di configurazione, sotto la linea del parametro AuthUserFile.

Require valid-user


Dopo questa modifica al file, riavviate apache ed avrete a disposizione un server SVN perfettamente funzionante!

La procedura è stata testata su Ubuntu 7.10 ed è risultata funzionante al 100%. Potrebbero comunque essere riscontrate alcune differenze a seconda della vostra configurazione di sistema.

tagsinstallare svninstallare subversionsubversionubuntusvnprogrammazione

7 commenti

  1. Salvatore8 aprile 2009, 12:34:37

    ciao, ho seguito la tua guida per l'installazione di subversion su ubuntu server 8 ma alla fine della procedura quando apro http://[nome_sito]/svn visulizzo il seguente file xml

    <D:error>
    <C:error/>
    <m:humar-readable errcode="2"> could not open the requested SVN filesystem </m:human-readable>
    </D:error>

  2. Giammarco30 giugno 2009, 23:41:03

    a me alla fine appare questa scritta

    No apache MPM package installed

  3. Loris.genetti1 luglio 2009, 20:33:40

    @gianmarco:
    prova a disinstallare tutto Apache e SVN e a reinstallare tutto nel seguente ordine:
    * apache2, apache2.2-common, apache2-mpm-worker, apache2-utils
    * libapache2-svn
    * subversion, subversion-helper-scripts, subversion-tools
    Mi raccomando fammi sapere se hai risolto!

  4. Neryo13 luglio 2009, 09:49:59

    ottimo tutorial!

  5. Loris.genetti13 luglio 2009, 11:04:13

    Ti ringrazio neryo!

  6. Giuseppe20 dicembre 2009, 16:09:13

    great..
    Spiegato con chiarezza.... Bravo!

    L'unica cosa è che proprio per i più pignoli mi pare sia saltato il problema di chiudere il tag Location all'interno del file di configurazione /etc/apache2/mods-enabled/dav_svn.conf .. ma li ovviamente ti avvisa qualcun altro!

    Fra l'altro pure bella indicizzazione ; )

    Ora bisogna trovare quello per l'utilizzo!

  7. Ciccio9 aprile 2011, 19:23:37

    ottima guida. tutto perfetto. ma poi come faccio a creare un albero categorie???? o cartelle????

Solo gli utenti registrati possono lasciare commenti.

© Copyright ©2008-2020. Tutti i diritti riservati.