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.

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

Solo gli utenti registrati possono lasciare commenti.