Configuración de subversion con apache junto con Hudson y Trac

13 06 2009

Nota: El ejemplo de este post se realizó en el sistema operativo GNU/Linux Ubuntu 9.10

Subversion: También conocido como SVN, Subversion es una herramienta de software para el control de versiones, surgio como una alternativa/sustitución al ya deprecaso sistema CVS. Subversion se una herramienta libre bajo licencia Apache/BSD y es desarrollado por collabnet. Una de las caracteristicas mas importantes que tiene subversion es que sus revisiones son atomicas, es decir, que todo el proyecto se guarda con un nuevo numero de revisión a diferencia de SVN que creaba una nueva revisión por cada archivo.

Como cualquier herramienta de Gestion de la Configuracion de Software (SCM), Subversion tiene capacidad de:

  • Controlar el estado de un producto
  • Construir el producto
  • Administraicón del tiempo de desarrollo
  • Hacer que el esfuerzo sea conjunto

Instalacion de Subversion: Para esto es necesario escribir en una terminal el siguiente comando.

sudo apt-get install subversion

Instalación de apache: Para esto es necesario tipear en una terminal el siguiente comando.

sudo apt-get install apache2 libapache-svn

Instalación de Trac: Para la instalacion de Trac, basta con entrar a una terminal y tipear.

sudo apt-get install trac

Instalacion de Hudson: Para poder instalar Hudson debemos de descargar el archivo hudson.war desde la página https://hudson.dev.java.net Cuando ya lo hayamos descargado, en una terminal tipeamos

java -jar hudson.war

Hecho lo anterior ya podemos abrir un reiniciamos apache y abrimos un explorador en la dirección http://localhost:8080 y veremos la página principal de Hudson. Cabe mencionar que la realización de esto tiene como requisito tener instalado el open-jdk (o sun-jdk), subversion y apache.

Configuración de apache con soporte webDAV y enlace con apache:

Para habilitar el soporte para webDAV de apache basta con ejecutar la siguiente linea en un terminal.

sudo a2enmod dav_svn dav

Ahora procedemos a crear el repositorio donde se guardarán todos nuestros proyectos. El parametro -p crea los directorios padres si acaso no existen.

sudo mkdir -p /srv/svn/repositorio

Así mismo también creamos una carpeta donde se alojarán los archivos de contraseñas.

sudo mkdir /srv/svn/user_accounts

A continuación creamos un grupo (subversion) y posteriormente creamos un usuario (uuno) dentro de ese grupo. Cabe mencionar que el usuario debe existir previamente.

sudo groupadd subversion

sudo addgroup uuno subversion

Ahora procedemos a modificar el archivo de configuración de acceso de apache para subversion.

sudo nano /etc/apache2/mods-available/dav_svn.conf

Y agregamos al final el texto que aparece a continuación:

Configuracion e apache

Configuración de apache

Ahora creamos el archivo de contraseñas asignando un usuario al mismo. El parámetro -c se utiliza para crear un nuevo archivo, si el archivo ya existira, no se coloca dicho parámetro al agregar un nuevo usuario.

sudo htpasswd -c /srv/svn/user_accounts/svn_passwdfile uuno

Ingresamos la contraseña para el usuario (uuno). Este archivo quedara con owner: root y grupo: root, por cuestiones de seguridad es mejor dejarlo así, para que solo administradores puedan agregar nuevos usuarios.

Ahora reiniciamos el servicio de apache.

sudo /etc/init.d/apache2 restart

Desde el explorador entramos http://localhost/proyecto1. Nos pedirá la contraseña y password, los ingresamos y veremos que ya nos aparece un link hacia el proyecto1. Si entramos veremos una pagina con título proyecto1 – Revision 0: /

Ahora agregamos un proyecto.

sudo svnadmin create /srv/svn/repositorio/proyecto1

Este paso lo hacemos cada vez que queramos crear un nuevo contenedor para nuestro proyecto

Ahora procedemos a cambiar los permisos sobre el contenedor de los proyectos.

sudo chown -R www-data:subversion /srv/svn/repositorio/*

sudo chmod -R 770 /srv/svn/repositorio/*

UUID_disco

UUID_disco

Anuncios

Acciones

Information

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: