Installare subversion su ubuntu 8.04 e configurare svnserve
Per alcune esigenze (ram) ho dovuto rimuovere apache dal mio sistema ed installare al suo posto lighttpd. Uno dei pochi problemi provocati da questo passaggio è rappresentato dal fatto che non posso più utilizzare i plugin di apache per svn, quindi ho ricorso al svnserve che non è altro che un server standalone il cui unico scopo è quello di fornire l’accesso alle repository.
Innanzitutto installate subversion
apt-get install subversion mkdir -p /usr/svn/repository
Aggiungete il gruppo svn e impostate necessari permessi
groupadd svn chgrp svn /usr/svn/repository chmod g+rw /usr/svn/repository chmod g+s /usr/svn/repository
Se volete potete anche assegnare un utente al gruppo svn (non è essenziale)
usermod -a -G svn LOCALUSERNAME
Facciamo qualche test per assicurarsi che la parte di subversion funzioni correttamente
. svnadmin create /usr/svn/repository/test svn checkout file:///usr/svn/repository/test cd test echo "Hello, World" > hello.txt svn add hello.txt svn commit -m "added hello world"
Normalmente svnserve legge la configurazione dalla cartella “conf” presente dentro ogni repository, io invece ho preferito avere un accesso globale che mi permette comunque di cambiare configurazione per singolo progetto se sorge tale necessità.
mkdir -p /usr/svn/repository/conf/
Configurazione di accessi
vi /usr/svn/repository/conf/authz
Aggiungete
[/] user1 = rw [test:/] user2 = rw *=r
In questo modo noi diciamo che user1 può accedere a tutte le repository in modalità lettura/scrittura, invece user2 può accedere solamente alla repository test in scrittura e lettura (mentre tutti altri utenti autenticati possono accedere in lettura).
Configurazione Password
vi /usr/svn/repository/conf/passwd
Aggiungete
user1=password1 user2=password2
Configuriamo svnserve
vi /usr/svn/repository/conf/svnserve.conf
Aggiungete dentro
[general] anon-access = none auth-access = write password-db = passwd authz-db = authz realm = My Repo
Ora dobbiamo linkare la configurazione globale alla repository test creata in precedenza
cd /usr/svn/repository/test/ rm -rf conf ln -s ../conf
se volete fare la prova potete eseguire il demone di svnserve manualmente
svnserve -d --foreground -r /usr/svn/repository
usando per esempio tortoisesvn fate il browse della repository all’indirizzo
svn://ipaddress/test
Vi dovrebbe chiedere autenticazione, usate le password definite in precedenza.
Ora rimane solamente configurare esecuzione automatica di svnserve. Per prima cosa scarichiamo questo script
wget http://odyniec.net/articles/ubuntu-subversion-server/svnserve mv svnserve /etc/init.d/ chmod +x /etc/init.d/svnserve
Modificatelo
vi /etc/init.d/svnserve
Sostituendo
DAEMON_ARGS="-d -r /usr/local/svn/repos"
con
DAEMON_ARGS="-d -r /usr/svn/repository"
Aggiornate rc.d
update-rc.d svnserve defaults
E lanciate il server
/etc/init.d/svnserve start
A questo punto tutto dovrebbe essere a posto.
Related posts:
