Instalación de un servidor subversion

Posted: marzo 1st, 2010 under Docencia, GNU/Linux.
Tags: , ,

Este año he decidido incorporar el uso de una herramienta de control de versiones en la asignatura de Programación Avanzada.
Planificar cómo venderle la idea a los alumnos, para que se familiaricen con ella lo antes posible y se acostumbren a utilizarla, ha sido una tarea relativamente fácil: permite realizar copias de seguridad, puedes regresar a un código anterior si las últimas modificaciones no funcionan, permite ver la evolución de los cambios realizados, etc. Al final del cuatrimestre les informaré de otras tantas ventajas.

Por todo lo anterior, en esta entrada mostraré cómo instalar un servidor subversion sin apache en ubuntu. Los alumnos accederán a la herramienta desde Netbeans.

Pasos:

  1. Instalar el paquete subversion: sudo apt-get install subversion
  2. Crear una carpeta para los repositorios: sudo mkdir /home/svn
  3. Crear un repositorio (avanzada): sudo svnadmin create /home/svn/avanzada/
  4. Arrancar el servidor: sudo svnserve -d -r /home/svn

Con estos sencillos pasos, hemos instalado el servidor en la URL: svn://ip_servidor/avanzada (avanzada es el nombre del repositorio creado). El siguiente paso será crear un proyecto dentro del repositorio para empezar a trabajar: svn import /codigo/Proyecto1 svn://servidor/avanzada -m «Primer commit», donde /codigo/Proyecto1 es un directorio local de nuestro ordenador (supondremos que tenemos el cliente svn de Ubuntu).

En la asignatura de Programación Avanzada cada alumno tiene su propio directorio subversion, no accesible por el resto de alumnos. Para cubrir esta necesidad debemos configurar subversion apropiadamente:

1. Establecer el fichero de password y autorizaciones. Se configura en /home/svn/Avanzada/conf/svnserve.conf de la siguiente forma:

[general]
anon-access = none #no permitimos accesos anónimos
auth-access = write #el acceso es para escritura
password-db = passwd #configuramos el fichero de contraseñas en /conf/passwd
authz-db = authz #configuramos el fichero autorizaciones en /conf/passwd

2. Establecer las contraseñas:

[users]
ljarevalo=xxxxx
pepe=yyyyy
ana=zzzzz

3. Establecer las autorizaciones:

[avanzada:/] #Para el repositorio general: el usuario ljarevalo tiene permisos de lectura y escritura
ljarevalo=rw
[avanzada:/pepe] #Para el directorio del alumno pepe: pepe tiene permisos lectura y escritura pero ljarevalo sólo lectura
pepe=rw
ljarevalo=r

Con estas sencillas indicaciones, los alumnos ya pueden utilizar el cliente Subversion de Netbeans para sus tareas de programación. Otro día les explicaré conceptos como: branch, trunk, tags, …
Dos cositas más:

  • Si queréis que se lance subversion al arrancar la máquina: utilizar el script de esta página.
  • Si queréis añadir apache, googlear un poco y encontraréis muchas referencias.

No hay comentarios »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment