Administrando un proyecto 3

30 09 2007
Un proyecto de desarrollo a medida que pasa el tiempo produce versiones del contenido y el conocimiento que genera. Existen muchos métodos para mantener un control de todo lo que se gestiona. Algunos son empíricos ( uso de métodos personales, notas, etc … ) otros más centralizados y configurables. Vamos a mostrar pues el uso de un tipo de herramienta a mi entender vital en todo proyecto, un sistema controlador de versiones. En esta sección mostraremos cómo configurarlo: svn

Servidor

Para usar el servidor SVN instalamos subversion.

# apt-get install subversion

En el ejemplo usaremos a /var/lib/svn como la raíz del repositorio:

# svnadmin create /var/lib/svn

Esto nos garantizará la existencia de un repositorio en nuestro servidor. Luego podemos compartir para el resto de los usuarios el contenido del mismo. Aquí mostraremos cómo hacerlo vía web con el módulo dav de apache. Para ello:

# apt-get install apache2 libapache2-svn libapache-mod-dav libapache2-mod-auth-pam

Configuramos el apache para tener un sitio con la siguiente configuración de ejemplo, donde se define un proyecto llamado “proyecto” en el cual pueden autenticar todos los que básicamente autentican al sistema ( usuarios por LDAP y locales ), que pertenecen al grupo “proyecto” y cuyos permisos por svn están definidos en /home/teratux/svn/acceso.svn:

AuthBasicAuthoritative off
AuthPAM_Enabled on
AuthType Basic
AuthName "proyecto"
DAV svn
SVNPath /var/svn
AuthzSVNAccessFile /home/teratux/svn/acceso.svn
Require group proyecto
Require valid-user

El AuthzSVNAccessFile nos permite establecer permisos por directorio de todo el repositorio. Podemos definir en él grupos de usuarios y restringirlos a determinadas carpetas. Por ejemplo:

[groups]
admin_config = teratux

#-------------
#acceso R a la raiz para todos
#-------------

[/]
* = r
@admin_config = rw

#-------------
#acceso de todos los usuarios a su branch RW
#-------------

[/branches/usuario1]
usuario1 = rw

Clientes

Para acceder desde las estaciones de trabajo empleamos un cliente de navegación SVN para como por ejemplo el rapidsvn o el esvn:

# apt-get install esvn rapidsvn

Aqui tienen una muestra del rapidsvn que es el que recomendaría aunque el esvn tiene tantas funcionalidades aunque una interfaz menos agradable.

Advertisements

Actions

Information

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s




%d bloggers like this: