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.

Condividi:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • email
  • Google Bookmarks
  • LinkedIn
  • PDF
  • Reddit

Related posts:

  1. Installare subversion 1.6.x su Ubuntu 8.0.4
  2. Come installare Oracle xe su Ubuntu Feisty Fawn
  3. Impostare Bind su osx per Dns Caching
  4. Installare Awstats su Ubuntu
  5. Elenco di dns servers sotto Ubuntu
Nessun commento ancora

Lascia un commento

XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Switch to our mobile site