MANUAL PARA INSTALAR UN SERVIDOR DE REPOSITORIOS SVN (SUBVERSION)

Un servidor Subversion (SVN a partir de ahora) es un sistema de control de versiones. Para muchos una versión mejorada del CVS (Concurret Version System).

Orientado básicamente para desarroladores de software que trabajan en el mismo proyecto, pero desde distintas ubicaciones. Este software registra los cambios hechos en el código y quien ha sido el autor de dichas modificaciones. Así impide que si dos personas trabajan en la misma parte del código, los cambios que ha hecho una no sobrescriba las modificaciones hechas por la otra.

Por defecto este servidor escucha en el puerto 3690

Ahora a instalar dicho servidor.

Para Ubuntu : apt-get install subversion

Para Debian: aptitude install subversion

Para Centos : yum install subversion

También siempre podrás descargarte la ultima versión desde la pagina web (http://subversion.tigris.org/)

Una vez instalado en nuestra maquina:

1. Creamos un usuario sin consola para que se encargue de ejecutar el svn (esto es por seguridad, es poco recomendable que root corra demonios). Nosotros le llamaremos svn

adduser svn -s /bin/nologin

2. Creamos un directorio que nos hará de repositorio. Lo crearemos en /opt/svn (lo puedes hacer en cualquier directorio.

mkdir /opt/svn

3. Ahora utilizaremos el comando svnadmin para indicarle al sistema que el directorio que acabamos de crear sera nuestro repositorio

svnadmin create /opt/svn

Si no ha habido ningún problema, veremos que dentro de /opt/subversion ha creado una estructura nueva de archivos y directorios (los directorios son conf, db, hooks y locks).

4. Ahora cambiamos el propietario a la carpeta /opt/svn por el usuario svn creado anteriormente:

chown -Rf svn:svn /opt/svn

5. Ahora configuraremos nuestro repositorio. Para ello entramos en la carpeta /opt/svn/conf. Allí encontraremos el archivo svnserve.conf. En el modificaremos unos valores para determinar los permisos que tendrán los usuarios y la forma de conectarse que tendrán. Aunque puede configurarse una conexión SSL, empezaremos por una conexión muy básica. Así que solo modificaremos estos 3 valores:

[general]

anon-access = none (quitar acceso a usuarios anónimos)

auth-access = write (permitir escribir a los usuarios autorizados)

password-db = passwd (donde definiremos los usuarios y sus contraseñas)

6. Ahora crearemos los usuario que tendrán acceso al repositorio. Lo haremos en el fichero passwd, ubicado en /opt/svn/conf

[users]

user1 = user1

user2 = user2

user3 = user3

Donde la primera columna es el nombre de usuario y la segunda la contraseña.

7. Ya tenemos configurado el servidor. Ahora solo resta arrancarlo. Para ello tenemos 2 opciones.

  • MANUALMENTE: En este punto, lanzaremos el demonio del SVN a mano utilizando el comando svnserve

svnserve -d -r /opt/svn

La opcion -d indica que el servidor correrá como demonio.

La opción -r indica que la raíz del repositorio sera /opt/svn.

  • AUTOMATICO (DAEMON): En este punto, lanzaremos el demonio del SVN automáticamente en cada arranque del sistema. Este servidor es lanzado por el demonio XINETD. Para que esto sea así, basta con crear un archivo llamado svn en la carpeta /etc/xinetd.d y asegurarse que este demonio (XINETD) arranque con el sistema. El archivo contendrá las siguientes lineas.

service svn

{

port = 3690

socket_type = stream

protocol = tcp

wait = no

user = svn

server = /usr/bin/svnserve

server_args = -i -r /opt/svn

}

Ahora bastara con arrancar el servicio XINETD y tendremos el demonio SVN escuchando.

Para comprobarlo, podemos con :

  • lsof -i |grep svn y nos tendrá que devolver la siguiente linea:

xinetd 2103 root 8u IPv4 5581 TCP *:svn (LISTEN)

Si queremos ver el log que va generando el servidor para detectar cualquier fallo:

tail -f /var/log/messages |grep svn

~ por chavodie en 31/07/2009.

10 respuestas to “MANUAL PARA INSTALAR UN SERVIDOR DE REPOSITORIOS SVN (SUBVERSION)”

  1. Hola chavodie, llevava unos dias buscando un totorial que explicara todo tambien como este, y este me ha venido de perlas , gracias.

    • Me alegro mucho. Espero poder seguir siendote util con otros manuales. Un saludo y gracias por participar

  2. es un manual muy bueno

  3. Chavodie como estas, he seguido tu manual paso a paso, pero no logro ver el svn via web no se si me ha faltado algo pero no logro que arranque espero que puedas ayudar un poco mas en esto.

  4. como puedo ver las carpetas fisicas en la pc que no las veo, que solucion existe para eso.Gracias

  5. hola gracias por tu aporte me sirvio de mucho ahora solo tengo una duda yo trabajo subversion con eclipse y este me da la posibilidad de crear repositorios desde este software lo he visto funcionando por eso mi pregunta es como puedo dejar un usuario que controle todos los repositorios en algunos manuales he visto lo siguiente pero no me resulta useradd -d /home/svnroot -c subversion svn

  6. sinceramente muy bueno esta guia y bastante clara.
    gracias

  7. Gracias

Replica a chavodie Cancelar la respuesta