Tutorial de Instalaci贸n de Subversi贸n

enero 24 2010Se el primero en comentar

Guardado en : General, Programaci贸n, Software Libre

Antes de comenzar con la instalaci贸n de Subversi贸n, trataremos algunos puntos importantes para entender mejor el funcionamiento, y uso del mismo.

驴Qu茅 es un sistema de Control de Versiones?

Se llama control de versiones a la gesti贸n de los diversos cambios que se realizan sobre los elementos de alg煤n producto o una configuraci贸n del mismo. Por lo que los sistemas de control de versiones facilitan la administraci贸n de las distintas versiones de cada producto desarrollado.

El control de versiones se aplica principalmente en la industria inform谩tica para el control de versiones del c贸digo fuente. Los mismos conceptos son aplicables a otros 谩mbitos como documentos, im谩genes, sitios web, etc..

Las caracter铆sticas que debe proporcionar un sistema de control de versiones son:.

  • Mecanismo de almacenaje de los elementos que deba gestionar 鈥淎rchivos de texto, im谩genes, documentaci贸n鈥..
  • Posibilidad de realizar cambios sobre los elementos almacenados 鈥淢odificaciones parciales, agregar, borrar, renombrar o mover elementos鈥. .
  • Registro hist贸rico de las acciones realizadas con cada elemento o conjunto de elementos 鈥淩ecuperar un estado anterior鈥.

Existen multitud de sistemas de control de versiones, como se puede ver en la lista de software de control de versiones.

CVS tuvo el m茅rito de ser el primer sistema usado por el movimiento de c贸digo abierto para que los programadores colaboraran remotamente mediante el env铆o de parches.

Es de uso gratuito, c贸digo abierto, y emplea fusi贸n de cambios..

Presentando a Subversion

Subversion se cre贸 para igualar y mejorar la funcionalidad de CVS, preservando su filosof铆a de desarrollo. Su desarrollo comenz贸 en el a帽o 2000 como proyecto de c贸digo abierto esponsorizado por CollabNet . El l铆der del equipo de desarrollo fue Karl Fogel, autor de Open Source Development with CVS, y fundador de Cyclic Software (compa帽铆a de desarrollo y soporte comercial para CVS, hoy adquirida por SourceGear). La versi贸n 1.0 fue publicada en febrero del 2004. Emplea licencia Apache/BSD..

驴Qu茅 es Subversi贸n?

Sistema de control de versiones, software libre y c贸digo fuente abierto. Existe un repositorio central, el cual funciona como un servidor de archivos cualquiera, a excepci贸n de que este guarda el historial de los cambios echos a cualquier archivo o directorio, lo cual permite recuperar cualquier version pasada de los datos.

Subversi贸n puede acceder al repositorio a trav茅s de redes permitiendo la capacidad de que varias personas puedan modificar y administrar el mismo conjunto de datos desde diferentes y alejadas ubicaciones.

Un sistema general que puede ser usado para administrar cualquier conjunto de archivos.

驴Qu茅 es un repositorio?

Todos los sistemas de control de versiones se basan en disponer de un repositorio, este es el conjunto de informaci贸n gestionada por el sistema. Contiene el historial de versiones de todos los elementos gestionados.

Cada usuario puede crear una copia local, duplicando el contenido del repositorio para permitir su uso. Es posible publicar cualquier versi贸n almacenada en el historial, a este proceso se conoce como check out o desproteger. Existen dos sem谩nticas b谩sicas para modificar una copia estas son:

Exclusivos: Para realizar cambios se debe marcar en el repositorio el elemento que se desea modificar y el sistema se encargara de impedir que otro usuario modifique dicho elemento.
Colaborativos: Cada usuario descarga una copia la modifica y el sistema autom谩ticamente mezcla las diversas modificaciones. El problema de este es la aparici贸n de conflictos que deben ser solucionados manualmente, o las posibles inconsistencias al modificar el mismo fichero por varios usuarios no coordinados.

Tras hacer las modificaciones se debe actualizar el repositorio con los cambios realizados. A este proceso se le denomina publicar, commit, check in o proteger.

驴Qu茅 es un servidor de archivos?

Se define como el servidor en una red, cuya funci贸n es permitir el acceso remoto a los archivos almacenados en 茅l o directamente accesibles por este.

Desde el punto de vista del cliente un servidor de archivos, la localizaci贸n de los archivos compartidos es transparente.

A continuaci贸n se proporcionan algunos t茅rminos de uso com煤n 煤tiles para la comprensi贸n de Subversion.

  • Repositorio: Lugar de almacenaje de los datos actualizados e hist贸ricos, a menudo en un servidor.
  • M贸dulo: Conjunto de directorios y/o archivos dentro del repositorio que pertenecen a un proyecto com煤n.
  • Revisi贸n: Es una versi贸n determinada de un archivo.
  • Publicar o Enviar: Un commit sucede cuando una copia de los cambios hechos a una copia local es escrita o integrada al repositorio.
  • Importaci贸n: Acci贸n de copiar un 谩rbol de directorios local, en el repositorio por primera vez.
  • Actualizaci贸n (sync o update): Integra los cambios que has sido hechos en el repositorio en la copia de trabajo local.
  • Copia de trabajo: Copia local de los archivos de un repositorio en un momento del tiempo o revisi贸n espec铆ficos. Todo el trabajo realizado sobre los archivos un repositorio se realiza inicialmente sobre una copia de trabajo.

M谩s adelante iremos conociendo m谩s t茅rminos, ahora comencemos con la instalaci贸n de subversi贸n.

Instalaci贸n de Subversion en Ubuntu

Como primer paso abriremos una terminal, para esto daremos clic en Aplicaciones > Accesorios > Terminal.

Para poder instalar Subversion es necesario que nos identifiquemos como s煤per usuario, esto lo haremos con el comando sudo -s, seguidamente nos pedira la contrase帽a del usuario actual.

El siguiente paso es instalar subvesi贸n, lo cual lo haremos con el siguiente comando:
root@usuario:~# apt-get install subversi贸n.

Inmediatamente se comienza la descarga e instalaci贸n de Subversion, las instrucciones anteriores se pueden apreciar en las siguientes im谩genes.

En esta imagen se puede apreciar que se comienza leyendo lista de paquetes, creando 谩rboles de dependencia en el sistema y leyendo informaci贸n de estado, esto para saber que paquetes son necesarios descargar y actualizar para que se lleva a cabo la instalaci贸n.

Una vez que ha terminado esta parte del proceso se pide confirmaci贸n para descargar dichos paquetes, una ves que hemos seleccionado si comienza la descarga y el desempaquetado de los mismo. Ya terminada la instalaci贸n la terminal luce como muestra la siguiente imagen.

CREACION DE UN REPOSITORIO

El repositorio es el 谩rbol de directorios donde Subversion almacena los archivos y todos los cambios. Para crear un repositorio vac铆o se utiliza la herramienta de administraci贸n svnadmin como se muestra a continuaci贸n en la imagen.

mkdir es utilizado para crear directorios , junto con la opci贸n -p crea directorios padre que falten para cada argumento directorio.
Svnadmin como se menciono anteriormente es una herramienta de administraci贸n utilizada en este caso para crear un repositorio con la instrucci贸n svnadmin create /var/local/repositorio, de este manera se ha creado un repositorio en la ubicaci贸n /var/local.

# Asignamos permisos al servidor web con el siguiente comando: chown -R www-data:www-data /var/local/repositorio

Con el comando ls -la /var/local/repositorio veremos todos los archivos que contiene el repositorio, deber铆a tener el siguiente aspecto en el sistema de archivos de Ubuntu:

Aqu铆 podemos apreciar los archivos y directorios de una instancia de la base de datos Berkeley. Los proyectos no se guardan en el sistema de archivos, sino en una base de datos.

Acceso Remoto con Apache

Apache es un servidor web que puede ser configurado para acceder al repositorio usando el protocolo HTTP. El acceso remoto con Apache ofrece mayor flexibilidad que svnserver.

Instalaci贸n de Apache

Para instalar apache abrimos una terminal y ejecutamos el comando apt-get install apache2-mpm-prefork

Comienza la descarga e instalaci贸n de apache.

Para que apache transforme las operaciones HTTP de los clientes de subversi贸n, en operaciones sobre el repositorio, es necesarios instalar el modulo libapache2-svn. El cual instalaremos a continuaci贸n con la siguiente l铆nea de comando:

apt-get install libapache2-svn

Una vez terminada la instalaci贸n se procede la configuraci贸n de Apache.

Configuraci贸n de Apache

Se debe configurar el modulo para que opere con el repositorio y como restringir el acceso usando autentificaci贸n b谩sica.

Para configurar el modulo mod_dav_svn se editara el archivo dav_svn.conf, para acceder a este archivo escribimos el siguiente comando :

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

Buscamos la l铆neas siguientes y las comentamos:

#<Location /svn>
#</Location>

y a帽adimos estas otras:

<Location /repos>
DAV svn
SVNPath /var/local/repos
</Location>

Ya editado el archivo guardamos los cambios con Ctrl+G

Una ves guardados los cambios reiniciamos apache para aplicar los cambios, para esto escribimos el siguiente comando.

/etc/init.d/apache2 restart

Abrimos un navegador web y escribimos http://127.0.0.1/repositorio, que es la direcci贸n local del servidor, esto mostrara el repositorio que hemos creado .

Creaci贸n de un proyecto en Subversion

Una ves que tenemos el repositorio funcionando en red. Para crear un proyecto a帽adiremos un subdirectorio donde iremos almacenando archivos. Esto lo haremos con el siguiente comando.

svn mkdir http://127.0.0.1:80/repositorio/Proyecto1 -m “Proyecto1″

Accedemos nuevamente al repositorio y estar谩 actualizado.

Acceso al repositorio desde otra computadora de la red a trav茅s de la IP de la computadora.

Comparte esta informaci贸n:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • LinkedIn
  • Technorati
  • TwitThis

Quiz谩 te interese :

Acerca del autor: Daniel

Deja un comentario


Licencia y uso

Las técnicas demostradas en los tutoriales pueden ser utilizadas sin ninguna limitación y tampoco es obligatorio dar una atribución.


Los textos, imágenes y tutoriales son propiedad de sus respectivos autores, nuestro contenido se encuentra bajo licencia Creative Commons Share-Alike.

Escribe algo para el sitio

El escribir un tutorial o un artículo, mandarnos un enlace para Ubicuos, no solamente es una forma de obtener publicidad, si no también de dar algo a la comunidad y nosotros te lo recompensamos con los premios del mes! Leer más de nuestras promociones

驴Sugerencias?

Este es TU sitio, si tienes sugerencias o ideas de c贸mo podemos mejorarlo para ti, 隆Por favor h谩znoslos saber!

Hacemos nuestro mayor esfuerzo en proporcionar un sitio 煤til y amigable y esperamos que disfrutes tu tiempo aqu铆.

Ayuda a Difundir

Te gusta Ubicuos?

Ve las formas en que nos puedes apoyar.

Apoyando a Ubicuos.com

Submit your linkClose